From a5e7d806df998e7e6c05f21f89c9525066ccd2ef Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Tue, 21 Mar 2023 11:57:48 +0000
Subject: [PATCH 001/186] give event manifest to mycountly
---
plugins/pluginManager.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/plugins/pluginManager.js b/plugins/pluginManager.js
index e7ea179198d..59e4b46e676 100644
--- a/plugins/pluginManager.js
+++ b/plugins/pluginManager.js
@@ -686,6 +686,10 @@ var pluginManager = function pluginManager() {
return used;
};
+ this.returnEventsCopy = function() {
+ return JSON.parse(JSON.stringify(events));
+ };
+
/**
* Dispatch specific event on api side and wait until all event handlers have processed the event (legacy)
* @param {string} event - event to dispatch
From e8495b4a5216777ce5ce892bbe0c4b29e370098e Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Thu, 23 Mar 2023 20:41:15 +0000
Subject: [PATCH 002/186] add check for mycountly in countlyGloba
---
frontend/express/app.js | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index 96ec2fd7733..ef8b7c6c9c0 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -866,7 +866,7 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
**/
function renderDashboard(req, res, next, member, adminOfApps, userOfApps, countlyGlobalApps, countlyGlobalAdminApps) {
var configs = plugins.getConfig("frontend", member.settings),
- licenseNotification, licenseError;
+ licenseNotification, licenseError, isMyCountly = false;
configs.export_limit = plugins.getConfig("api").export_limit;
app.loadThemeFiles(configs.theme, function(theme) {
if (configs._user.theme) {
@@ -895,6 +895,18 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
}
}
+ if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
+ const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
+ try {
+ if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
+ isMyCountly = true;
+ }
+ }
+ catch (e) {
+ isMyCountly = false;
+ }
+ }
+
member._id += "";
delete member.password;
@@ -940,7 +952,8 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
documentationLink: COUNTLY_DOCUMENTATION_LINK,
helpCenterLink: COUNTLY_HELPCENTER_LINK,
featureRequestLink: COUNTLY_FEATUREREQUEST_LINK,
- }
+ },
+ mycountly: isMyCountly,
};
var toDashboard = {
From 067ab71085557b675f5d48cea9b9c273088bd136 Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Thu, 23 Mar 2023 20:54:54 +0000
Subject: [PATCH 003/186] hide features in mycly
---
.../public/javascripts/countly.views.js | 2234 +++++++++--------
1 file changed, 1118 insertions(+), 1116 deletions(-)
diff --git a/plugins/plugins/frontend/public/javascripts/countly.views.js b/plugins/plugins/frontend/public/javascripts/countly.views.js
index 8a7aeded973..f9056e00467 100644
--- a/plugins/plugins/frontend/public/javascripts/countly.views.js
+++ b/plugins/plugins/frontend/public/javascripts/countly.views.js
@@ -1,1300 +1,1302 @@
/*global countlyAuth, _,$,countlyPlugins,jQuery,countlyGlobal,app,countlyCommon,CountlyHelpers,countlyVue,CV */
-(function() {
- var PluginsView = countlyVue.views.create({
- template: CV.T('/plugins/templates/plugins.html'),
- data: function() {
- return {
- scope: {},
- highlightedRows: {},
- curRow: {},
- curDependents: [],
- components: {},
- defaultSort: {prop: 1, order: "asc"},
- loading: false,
- tryCount: 0,
- pluginsData: [],
- localTableTrackedFields: ['enabled'],
- filterValue: "all",
- changes: {},
- dialog: {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""}
- };
- },
- beforeCreate: function() {
- var self = this;
- return $.when(countlyPlugins.initialize()).then(
- function() {
- try {
- self.pluginsData = JSON.parse(JSON.stringify(countlyPlugins.getData()));
- }
- catch (ex) {
- self.pluginsData = [];
- }
- for (var i = 0; i < self.pluginsData.length; i++) {
- self.formatRow(self.pluginsData[i]);
- }
- }
- );
- },
- mounted: function() {
- this.loadComponents();
- },
- methods: {
- refresh: function() {
+if (!countlyGlobal.mycountly && countlyGlobal.plugins.indexOf('my-countly') === -1) {
+ (function() {
+ var PluginsView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/plugins.html'),
+ data: function() {
+ return {
+ scope: {},
+ highlightedRows: {},
+ curRow: {},
+ curDependents: [],
+ components: {},
+ defaultSort: {prop: 1, order: "asc"},
+ loading: false,
+ tryCount: 0,
+ pluginsData: [],
+ localTableTrackedFields: ['enabled'],
+ filterValue: "all",
+ changes: {},
+ dialog: {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""}
+ };
+ },
+ beforeCreate: function() {
var self = this;
return $.when(countlyPlugins.initialize()).then(
function() {
try {
- var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
- self.pluginsData = plugins.filter(function(row) {
- self.formatRow(row);
- if (self.filterValue === "enabled") {
- return row.enabled;
- }
- else if (self.filterValue === "disabled") {
- return !row.enabled;
- }
- return true;
- });
+ self.pluginsData = JSON.parse(JSON.stringify(countlyPlugins.getData()));
}
catch (ex) {
self.pluginsData = [];
}
+ for (var i = 0; i < self.pluginsData.length; i++) {
+ self.formatRow(self.pluginsData[i]);
+ }
}
);
},
- updateRow: function(code) {
- this.highlightedRows[code] = true;
- this.refresh();
- },
- loadComponents: function() {
- var cc = countlyVue.container.dataMixin({
- 'pluginComponents': '/plugins/header'
- });
- cc = cc.data();
- var allComponents = cc.pluginComponents;
- for (var i = 0; i < allComponents.length; i++) {
- if (allComponents[i]._id && allComponents[i].component) {
- this.components[allComponents[i]._id] = allComponents[i];
- }
- }
- this.components = Object.assign({}, this.components);
+ mounted: function() {
+ this.loadComponents();
},
- tableRowClassName: function(ob) {
- if (this.highlightedRows[ob.row.code]) {
- return "plugin-highlighted-row";
- }
- },
- formatRow: function(row) {
- row._id = row.code;
- row.name = jQuery.i18n.map[row.code + ".plugin-title"] || jQuery.i18n.map[row.code + ".title"] || row.title;
- row.desc = jQuery.i18n.map[row.code + ".plugin-description"] || jQuery.i18n.map[row.code + ".description"] || row.description;
- row.deps = Object.keys(row.dependents).map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", ");
- },
- updateStatus: function(scope) {
- this.scope = scope;
- var diff = scope.diff;
- this.changes = {};
- var self = this;
- diff.forEach(function(item) {
- self.changes[item.key] = item.newValue;
- });
- this.dialog = {
- type: "save",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-apply-changes'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins-apply-changes-to-plugins'),
- text: CV.i18n('plugins.confirm')
- };
- },
- checkProcess: function() {
- this.tryCount++;
- var self = this;
- $.ajax({
- type: "GET",
- url: countlyCommon.API_URL + "/o/plugins-check?app_id=" + countlyCommon.ACTIVE_APP_ID,
- data: { t: this.tryCount },
- success: function(state) {
- if (state.result === "completed") {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
+ methods: {
+ refresh: function() {
+ var self = this;
+ return $.when(countlyPlugins.initialize()).then(
+ function() {
+ try {
+ var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ self.pluginsData = plugins.filter(function(row) {
+ self.formatRow(row);
+ if (self.filterValue === "enabled") {
+ return row.enabled;
+ }
+ else if (self.filterValue === "disabled") {
+ return !row.enabled;
+ }
+ return true;
+ });
+ }
+ catch (ex) {
+ self.pluginsData = [];
+ }
}
- else if (state.result === "failed") {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.errors"], jQuery.i18n.map["plugins.errors-msg"], '', 3000, false, 'warning', true);
+ );
+ },
+ updateRow: function(code) {
+ this.highlightedRows[code] = true;
+ this.refresh();
+ },
+ loadComponents: function() {
+ var cc = countlyVue.container.dataMixin({
+ 'pluginComponents': '/plugins/header'
+ });
+ cc = cc.data();
+ var allComponents = cc.pluginComponents;
+ for (var i = 0; i < allComponents.length; i++) {
+ if (allComponents[i]._id && allComponents[i].component) {
+ this.components[allComponents[i]._id] = allComponents[i];
}
- else {
+ }
+ this.components = Object.assign({}, this.components);
+ },
+ tableRowClassName: function(ob) {
+ if (this.highlightedRows[ob.row.code]) {
+ return "plugin-highlighted-row";
+ }
+ },
+ formatRow: function(row) {
+ row._id = row.code;
+ row.name = jQuery.i18n.map[row.code + ".plugin-title"] || jQuery.i18n.map[row.code + ".title"] || row.title;
+ row.desc = jQuery.i18n.map[row.code + ".plugin-description"] || jQuery.i18n.map[row.code + ".description"] || row.description;
+ row.deps = Object.keys(row.dependents).map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", ");
+ },
+ updateStatus: function(scope) {
+ this.scope = scope;
+ var diff = scope.diff;
+ this.changes = {};
+ var self = this;
+ diff.forEach(function(item) {
+ self.changes[item.key] = item.newValue;
+ });
+ this.dialog = {
+ type: "save",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-apply-changes'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins-apply-changes-to-plugins'),
+ text: CV.i18n('plugins.confirm')
+ };
+ },
+ checkProcess: function() {
+ this.tryCount++;
+ var self = this;
+ $.ajax({
+ type: "GET",
+ url: countlyCommon.API_URL + "/o/plugins-check?app_id=" + countlyCommon.ACTIVE_APP_ID,
+ data: { t: this.tryCount },
+ success: function(state) {
+ if (state.result === "completed") {
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
+ }
+ else if (state.result === "failed") {
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.errors"], jQuery.i18n.map["plugins.errors-msg"], '', 3000, false, 'warning', true);
+ }
+ else {
+ setTimeout(self.checkProcess, 10000);
+ }
+ },
+ error: function() {
setTimeout(self.checkProcess, 10000);
}
- },
- error: function() {
- setTimeout(self.checkProcess, 10000);
- }
- });
- },
- togglePlugin: function(plugins) {
- this.loading = true;
- var self = this;
- this.$loading({
- lock: true,
- background: 'rgba(0, 0, 0, 0.7)'
- });
+ });
+ },
+ togglePlugin: function(plugins) {
+ this.loading = true;
+ var self = this;
+ this.$loading({
+ lock: true,
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
- countlyPlugins.toggle(plugins, function(res) {
- if (res.result === "started") {
+ countlyPlugins.toggle(plugins, function(res) {
+ if (res.result === "started") {
//self.showPluginProcessMessage(jQuery.i18n.map["plugins.processing"], jQuery.i18n.map["plugins.will-restart"], jQuery.i18n.map["plugins.please-wait"], 5000, true, 'warning', false);
//self.checkProcess();
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
+ }
+ else {
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.error"], res, jQuery.i18n.map["plugins.retry"], 5000, false, 'error', true);
+ }
+ });
+ },
+ showPluginProcessMessage: function(title, message, info, delay, sticky, type, reload) {
+ CountlyHelpers.notify({clearAll: true, type: type, title: title, message: message, info: info, delay: delay, sticky: sticky});
+ if (reload) {
+ setTimeout(function() {
+ window.location.reload(true);
+ }, 5000);
}
- else {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.error"], res, jQuery.i18n.map["plugins.retry"], 5000, false, 'error', true);
+ },
+ submitConfirmDialog: function() {
+ if (this.dialog.type === "save") {
+ var msg = { title: jQuery.i18n.map["plugins.processing"], message: jQuery.i18n.map["plugins.wait"], info: jQuery.i18n.map["plugins.hold-on"], sticky: true };
+ CountlyHelpers.notify(msg);
+ this.togglePlugin(this.changes);
}
- });
- },
- showPluginProcessMessage: function(title, message, info, delay, sticky, type, reload) {
- CountlyHelpers.notify({clearAll: true, type: type, title: title, message: message, info: info, delay: delay, sticky: sticky});
- if (reload) {
- setTimeout(function() {
- window.location.reload(true);
- }, 5000);
- }
- },
- submitConfirmDialog: function() {
- if (this.dialog.type === "save") {
- var msg = { title: jQuery.i18n.map["plugins.processing"], message: jQuery.i18n.map["plugins.wait"], info: jQuery.i18n.map["plugins.hold-on"], sticky: true };
- CountlyHelpers.notify(msg);
- this.togglePlugin(this.changes);
- }
- else if (this.dialog.type === "check") {
- for (var i = 0; i < this.pluginsData.length; i++) {
- if (this.curDependents.indexOf(this.pluginsData[i].code) !== -1) {
- this.scope.patch(this.pluginsData[i], {enabled: !this.curRow.enabled});
+ else if (this.dialog.type === "check") {
+ for (var i = 0; i < this.pluginsData.length; i++) {
+ if (this.curDependents.indexOf(this.pluginsData[i].code) !== -1) {
+ this.scope.patch(this.pluginsData[i], {enabled: !this.curRow.enabled});
+ }
}
}
- }
- this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
- },
- closeConfirmDialog: function() {
- if (this.dialog.type === "check") {
- this.scope.unpatch(this.curRow);
- }
- this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
- },
- filter: function(type) {
- this.filterValue = type;
- try {
- var self = this;
- var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
- this.pluginsData = plugins.filter(function(row) {
- self.formatRow(row);
- if (type === "enabled") {
- return row.enabled;
+ this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
+ },
+ closeConfirmDialog: function() {
+ if (this.dialog.type === "check") {
+ this.scope.unpatch(this.curRow);
+ }
+ this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
+ },
+ filter: function(type) {
+ this.filterValue = type;
+ try {
+ var self = this;
+ var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ this.pluginsData = plugins.filter(function(row) {
+ self.formatRow(row);
+ if (type === "enabled") {
+ return row.enabled;
+ }
+ else if (type === "disabled") {
+ return !row.enabled;
+ }
+ return true;
+ });
+ }
+ catch (ex) {
+ this.pluginsData = [];
+ }
+ },
+ onToggle: function(scope, row) {
+ this.scope = scope;
+ this.curRow = row;
+ scope.patch(row, {enabled: !row.enabled});
+ var plugin = row.code;
+ var plugins = [];
+ var changes = {};
+ var i;
+ for (i = 0; i < scope.diff.length; i++) {
+ changes[scope.diff[i].key] = scope.diff[i].newValue;
+ }
+ for (i = 0; i < this.pluginsData.length; i++) {
+ if (changes[this.pluginsData[i].code]) {
+ plugins.push(this.pluginsData[i].code);
}
- else if (type === "disabled") {
- return !row.enabled;
+ else if (typeof changes[this.pluginsData[i].code] === "undefined" && this.pluginsData[i].enabled) {
+ plugins.push(this.pluginsData[i].code);
}
- return true;
- });
- }
- catch (ex) {
- this.pluginsData = [];
- }
- },
- onToggle: function(scope, row) {
- this.scope = scope;
- this.curRow = row;
- scope.patch(row, {enabled: !row.enabled});
- var plugin = row.code;
- var plugins = [];
- var changes = {};
- var i;
- for (i = 0; i < scope.diff.length; i++) {
- changes[scope.diff[i].key] = scope.diff[i].newValue;
- }
- for (i = 0; i < this.pluginsData.length; i++) {
- if (changes[this.pluginsData[i].code]) {
- plugins.push(this.pluginsData[i].code);
}
- else if (typeof changes[this.pluginsData[i].code] === "undefined" && this.pluginsData[i].enabled) {
- plugins.push(this.pluginsData[i].code);
+ //diff does not include currently processed plugin
+ if (!row.enabled) {
+ plugins.push(row.code);
}
- }
- //diff does not include currently processed plugin
- if (!row.enabled) {
- plugins.push(row.code);
- }
- var enabledDescendants = _.intersection(countlyPlugins.getRelativePlugins(plugin, "down"), plugins),
- disabledAncestors = _.difference(countlyPlugins.getRelativePlugins(plugin, "up"), plugins, ["___CLY_ROOT___"]);
+ var enabledDescendants = _.intersection(countlyPlugins.getRelativePlugins(plugin, "down"), plugins),
+ disabledAncestors = _.difference(countlyPlugins.getRelativePlugins(plugin, "up"), plugins, ["___CLY_ROOT___"]);
- if (row.enabled && enabledDescendants.length > 0) {
- this.curDependents = enabledDescendants;
- this.dialog = {
- type: "check",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins.indirect-status-change'),
- text: CV.i18n("plugins.disable-descendants", countlyPlugins.getTitle(plugin), enabledDescendants.map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", "))
- };
- }
- else if (!row.enabled && disabledAncestors.length > 0) {
- this.curDependents = disabledAncestors;
- this.dialog = {
- type: "check",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins.indirect-status-change'),
- text: CV.i18n("plugins.enable-ancestors", countlyPlugins.getTitle(plugin), disabledAncestors.map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", "))
- };
+ if (row.enabled && enabledDescendants.length > 0) {
+ this.curDependents = enabledDescendants;
+ this.dialog = {
+ type: "check",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins.indirect-status-change'),
+ text: CV.i18n("plugins.disable-descendants", countlyPlugins.getTitle(plugin), enabledDescendants.map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", "))
+ };
+ }
+ else if (!row.enabled && disabledAncestors.length > 0) {
+ this.curDependents = disabledAncestors;
+ this.dialog = {
+ type: "check",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins.indirect-status-change'),
+ text: CV.i18n("plugins.enable-ancestors", countlyPlugins.getTitle(plugin), disabledAncestors.map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", "))
+ };
+ }
}
}
- }
- });
+ });
- var ConfigurationsView = countlyVue.views.create({
- template: CV.T('/plugins/templates/configurations.html'),
- computed: {
- selectedConfigSearchBar: {
- get: function() {
- return this.selectedConfig;
- },
- set: function(value) {
- this.selectedConfig = value;
- this.diff = [];
- this.diff_ = {};
- try {
- this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- }
- catch (ex) {
- this.configsData = {};
- }
+ var ConfigurationsView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/configurations.html'),
+ computed: {
+ selectedConfigSearchBar: {
+ get: function() {
+ return this.selectedConfig;
+ },
+ set: function(value) {
+ this.selectedConfig = value;
+ this.diff = [];
+ this.diff_ = {};
+ try {
+ this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ }
+ catch (ex) {
+ this.configsData = {};
+ }
- if (this.configsData.frontend && this.configsData.frontend._user) {
- this.configsData.frontend.__user = [];
- for (var userProp in this.configsData.frontend._user) {
- if (this.configsData.frontend._user[userProp]) {
- this.configsData.frontend.__user.push(userProp);
+ if (this.configsData.frontend && this.configsData.frontend._user) {
+ this.configsData.frontend.__user = [];
+ for (var userProp in this.configsData.frontend._user) {
+ if (this.configsData.frontend._user[userProp]) {
+ this.configsData.frontend.__user.push(userProp);
+ }
}
}
+ app.navigate("#/manage/configurations/" + value);
}
- app.navigate("#/manage/configurations/" + value);
+ },
+ selectedConfigName: function() {
+ return this.getLabel(this.selectedConfig);
}
},
- selectedConfigName: function() {
- return this.getLabel(this.selectedConfig);
- }
- },
- data: function() {
- return {
- back: this.$route.params.namespace === "search",
- configsData: {},
- configsList: [],
- coreDefaults: ['api', 'frontend', 'logs', 'security'],
- diff: [],
- diff_: {},
- selectedConfig: this.$route.params.namespace || "api",
- searchPlaceholder: CV.i18n("configs.search-settings"),
- predefinedLabels: app.configurationsView.predefinedLabels,
- predefinedInputs: app.configurationsView.predefinedInputs,
- predefinedStructure: app.configurationsView.predefinedStructure,
- searchQuery: this.$route.params.searchQuery || "",
- searchResultStructure: {},
- };
- },
- beforeCreate: function() {
- var self = this;
- if (this.$route.params.success) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.changed"],
- message: jQuery.i18n.map["configs.saved"]
- });
- this.$route.params.success = false;
- app.noHistory("#/manage/configurations/" + this.$route.params.namespace || "api");
- }
- return $.when(countlyPlugins.initializeConfigs())
- .then(function() {
- try {
- self.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- self.removeNonGlobalConfigs(self.configsData);
- }
- catch (error) {
+ data: function() {
+ return {
+ back: this.$route.params.namespace === "search",
+ configsData: {},
+ configsList: [],
+ coreDefaults: ['api', 'frontend', 'logs', 'security'],
+ diff: [],
+ diff_: {},
+ selectedConfig: this.$route.params.namespace || "api",
+ searchPlaceholder: CV.i18n("configs.search-settings"),
+ predefinedLabels: app.configurationsView.predefinedLabels,
+ predefinedInputs: app.configurationsView.predefinedInputs,
+ predefinedStructure: app.configurationsView.predefinedStructure,
+ searchQuery: this.$route.params.searchQuery || "",
+ searchResultStructure: {},
+ };
+ },
+ beforeCreate: function() {
+ var self = this;
+ if (this.$route.params.success) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.changed"],
+ message: jQuery.i18n.map["configs.saved"]
+ });
+ this.$route.params.success = false;
+ app.noHistory("#/manage/configurations/" + this.$route.params.namespace || "api");
+ }
+ return $.when(countlyPlugins.initializeConfigs())
+ .then(function() {
+ try {
+ self.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ self.removeNonGlobalConfigs(self.configsData);
+ }
+ catch (error) {
// eslint-disable-next-line no-console
- console.error(error);
- self.configsData = {};
- }
+ console.error(error);
+ self.configsData = {};
+ }
- if (self.configsData.frontend && self.configsData.frontend._user && !self.predefinedInputs["frontend.__user"]) {
- var list = [];
- self.configsData.frontend.__user = [];
- for (var userProp in self.configsData.frontend._user) {
- list.push({value: userProp, label: self.getLabelName(userProp, "frontend")});
- if (self.configsData.frontend._user[userProp]) {
- self.configsData.frontend.__user.push(userProp);
+ if (self.configsData.frontend && self.configsData.frontend._user && !self.predefinedInputs["frontend.__user"]) {
+ var list = [];
+ self.configsData.frontend.__user = [];
+ for (var userProp in self.configsData.frontend._user) {
+ list.push({value: userProp, label: self.getLabelName(userProp, "frontend")});
+ if (self.configsData.frontend._user[userProp]) {
+ self.configsData.frontend.__user.push(userProp);
+ }
}
+ app.configurationsView.registerInput("frontend.__user", {input: "el-select", attrs: {multiple: true}, list: list});
}
- app.configurationsView.registerInput("frontend.__user", {input: "el-select", attrs: {multiple: true}, list: list});
- }
- self.configsList.push({
- "label": self.getLabel("core"),
- "group": true,
- "value": "core"
- });
- self.coreDefaults.forEach(function(key) {
self.configsList.push({
- "label": self.getLabel(key, true),
- "value": key
+ "label": self.getLabel("core"),
+ "group": true,
+ "value": "core"
});
- });
- self.configsList.push({
- "label": self.getLabel("plugins"),
- "group": true,
- "value": "plugins"
- });
- var plugins = [];
- for (var key in self.configsData) {
- if (self.coreDefaults.indexOf(key) === -1 && countlyGlobal.plugins.indexOf(key) !== -1) {
- plugins.push(key);
- }
- if (!self.predefinedStructure[key]) {
- self.predefinedStructure[key] = {groups: []};
- }
- var otherStructure = [];
- for (var subkey in self.configsData[key]) {
- if (!self.predefinedInputs[key + "." + subkey]) {
- var type = typeof self.configsData[key][subkey];
- if (type === "string") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-input", attrs: {}});
- }
- else if (type === "number") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-input-number", attrs: {}});
- }
- else if (type === "boolean") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-switch", attrs: {}});
- }
+ self.coreDefaults.forEach(function(key) {
+ self.configsList.push({
+ "label": self.getLabel(key, true),
+ "value": key
+ });
+ });
+ self.configsList.push({
+ "label": self.getLabel("plugins"),
+ "group": true,
+ "value": "plugins"
+ });
+ var plugins = [];
+ for (var key in self.configsData) {
+ if (self.coreDefaults.indexOf(key) === -1 && countlyGlobal.plugins.indexOf(key) !== -1) {
+ plugins.push(key);
}
- if (!self.predefinedStructure[key].groups.length) {
- otherStructure.push(subkey);
+ if (!self.predefinedStructure[key]) {
+ self.predefinedStructure[key] = {groups: []};
}
- else {
- var found = false;
- for (var i = 0; i < self.predefinedStructure[key].groups.length; i++) {
- if (self.predefinedStructure[key].groups[i].list.indexOf(subkey) !== -1) {
- found = true;
- break;
+ var otherStructure = [];
+ for (var subkey in self.configsData[key]) {
+ if (!self.predefinedInputs[key + "." + subkey]) {
+ var type = typeof self.configsData[key][subkey];
+ if (type === "string") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-input", attrs: {}});
+ }
+ else if (type === "number") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-input-number", attrs: {}});
+ }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-switch", attrs: {}});
}
}
- if (!found) {
+ if (!self.predefinedStructure[key].groups.length) {
otherStructure.push(subkey);
}
+ else {
+ var found = false;
+ for (var i = 0; i < self.predefinedStructure[key].groups.length; i++) {
+ if (self.predefinedStructure[key].groups[i].list.indexOf(subkey) !== -1) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ otherStructure.push(subkey);
+ }
+ }
+ }
+ if (otherStructure.length) {
+ self.predefinedStructure[key].groups.push({label: "", list: otherStructure});
}
}
- if (otherStructure.length) {
- self.predefinedStructure[key].groups.push({label: "", list: otherStructure});
- }
- }
- plugins.sort();
- plugins.forEach(function(k) {
- self.configsList.push({
- "label": self.getLabel(k, true),
- "value": k
+ plugins.sort();
+ plugins.forEach(function(k) {
+ self.configsList.push({
+ "label": self.getLabel(k, true),
+ "value": k
+ });
});
+ if (self.searchQuery !== "") {
+ self.onEnterSearch();
+ window.scrollTo({top: 0, behavior: "smooth"});
+ }
});
- if (self.searchQuery !== "") {
- self.onEnterSearch();
- window.scrollTo({top: 0, behavior: "smooth"});
- }
- });
- },
- updated: function() {
- if (this.$route.params.section) {
- this.scrollToSection(this.$route.params.section);
- }
- },
- methods: {
- removeNonGlobalConfigs: function(configData) {
- Object.keys(configData).forEach(function(configKey) {
- if ((configData[configKey].use_google || configData[configKey].google_maps_api_key) && configKey === 'frontend') {
- delete configData[configKey].use_google;
- delete configData[configKey].google_maps_api_key;
- }
- if (configData[configKey].rate && configKey === 'push') {
- delete configData[configKey].rate; // Note: push notification rate is app level config only
- }
- if (configData[configKey].test && configKey === 'push') {
- delete configData[configKey].test; // Note: push notification test is app level config only
- }
- });
},
- onChange: function(key, value, config) {
- var configsData = countlyPlugins.getConfigsData();
-
- config = config || this.selectedConfig;
- if (!this.diff_[config]) {
- this.diff_[config] = [];
+ updated: function() {
+ if (this.$route.params.section) {
+ this.scrollToSection(this.$route.params.section);
}
+ },
+ methods: {
+ removeNonGlobalConfigs: function(configData) {
+ Object.keys(configData).forEach(function(configKey) {
+ if ((configData[configKey].use_google || configData[configKey].google_maps_api_key) && configKey === 'frontend') {
+ delete configData[configKey].use_google;
+ delete configData[configKey].google_maps_api_key;
+ }
+ if (configData[configKey].rate && configKey === 'push') {
+ delete configData[configKey].rate; // Note: push notification rate is app level config only
+ }
+ if (configData[configKey].test && configKey === 'push') {
+ delete configData[configKey].test; // Note: push notification test is app level config only
+ }
+ });
+ },
+ onChange: function(key, value, config) {
+ var configsData = countlyPlugins.getConfigsData();
- //delete value from diff if it already exists
- var index = this.diff.indexOf(key);
- if (index > -1) {
- this.diff.splice(index, 1);
- index = this.diff_[config].indexOf(key);
- this.diff_[config].splice(index, 1);
- }
+ config = config || this.selectedConfig;
+ if (!this.diff_[config]) {
+ this.diff_[config] = [];
+ }
- this.configsData[config][key] = value;
- //when user disables country data tracking while city data tracking is enabled
- if (key === "country_data" && value === false && this.configsData[config].city_data === true) {
- //disable city data tracking
- this.configsData[config].city_data = false;
- //if city data tracking was originally enabled, note the change
- index = this.diff.indexOf("city_data");
+ //delete value from diff if it already exists
+ var index = this.diff.indexOf(key);
if (index > -1) {
this.diff.splice(index, 1);
- index = this.diff_[config].indexOf("city_data");
+ index = this.diff_[config].indexOf(key);
this.diff_[config].splice(index, 1);
}
- if (configsData[config].city_data === true) {
- this.diff.push("city_data");
- this.diff_[config].push("city_data");
+
+ this.configsData[config][key] = value;
+ //when user disables country data tracking while city data tracking is enabled
+ if (key === "country_data" && value === false && this.configsData[config].city_data === true) {
+ //disable city data tracking
+ this.configsData[config].city_data = false;
+ //if city data tracking was originally enabled, note the change
+ index = this.diff.indexOf("city_data");
+ if (index > -1) {
+ this.diff.splice(index, 1);
+ index = this.diff_[config].indexOf("city_data");
+ this.diff_[config].splice(index, 1);
+ }
+ if (configsData[config].city_data === true) {
+ this.diff.push("city_data");
+ this.diff_[config].push("city_data");
+ }
}
- }
- //when user enables city data tracking while country data tracking is disabled
- if (key === "city_data" && value === true && this.configsData[config].country_data === false) {
+ //when user enables city data tracking while country data tracking is disabled
+ if (key === "city_data" && value === true && this.configsData[config].country_data === false) {
//enable country data tracking
- this.configsData[config].country_data = true;
- //if country data tracking was originally disabled, note the change
- index = this.diff.indexOf("country_data");
- if (index > -1) {
- this.diff.splice(index, 1);
- index = this.diff_[config].indexOf("country_data");
- this.diff_[config].splice(index, 1);
- }
- if (configsData[config].country_data === false) {
- this.diff.push("country_data");
- this.diff_[config].push("country_data");
+ this.configsData[config].country_data = true;
+ //if country data tracking was originally disabled, note the change
+ index = this.diff.indexOf("country_data");
+ if (index > -1) {
+ this.diff.splice(index, 1);
+ index = this.diff_[config].indexOf("country_data");
+ this.diff_[config].splice(index, 1);
+ }
+ if (configsData[config].country_data === false) {
+ this.diff.push("country_data");
+ this.diff_[config].push("country_data");
+ }
}
- }
- if (Array.isArray(value) && Array.isArray(configsData[config][key])) {
- value.sort();
- configsData[config][key].sort();
+ if (Array.isArray(value) && Array.isArray(configsData[config][key])) {
+ value.sort();
+ configsData[config][key].sort();
- if (JSON.stringify(value) !== JSON.stringify(configsData[config][key])) {
+ if (JSON.stringify(value) !== JSON.stringify(configsData[config][key])) {
+ this.diff.push(key);
+ this.diff_[config].push(key);
+ }
+ }
+ else if (configsData[config][key] !== value) {
this.diff.push(key);
this.diff_[config].push(key);
}
- }
- else if (configsData[config][key] !== value) {
- this.diff.push(key);
- this.diff_[config].push(key);
- }
- },
- getLabel: function(id) {
- return app.configurationsView.getInputLabel(id);
- },
- getLabelName: function(id, ns) {
- ns = ns || this.selectedConfig;
- if (ns !== "frontend" && ns !== "api" && ns !== "apps" && ns !== "logs" && ns !== "security" && countlyGlobal.plugins.indexOf(ns) === -1) {
- return null;
- }
+ },
+ getLabel: function(id) {
+ return app.configurationsView.getInputLabel(id);
+ },
+ getLabelName: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ if (ns !== "frontend" && ns !== "api" && ns !== "apps" && ns !== "logs" && ns !== "security" && countlyGlobal.plugins.indexOf(ns) === -1) {
+ return null;
+ }
- if (id === "__user") {
- return jQuery.i18n.map["configs.user-level-configuration"];
- }
+ if (id === "__user") {
+ return jQuery.i18n.map["configs.user-level-configuration"];
+ }
- return app.configurationsView.getInputLabel(ns + "." + id);
- },
- getHelperLabel: function(id, ns) {
- ns = ns || this.selectedConfig;
- return app.configurationsView.getHelperLabel(id, ns);
- },
- getInputType: function(id, configId) {
- configId = configId || this.selectedConfig;
- return app.configurationsView.getInputType(configId + "." + id);
- },
- getConfigType: function(id) {
- return this.coreDefaults.includes(id) ? "Core" : "Plugins";
- },
- checkIfOverwritten: function(id, ns) {
- ns = ns || this.selectedConfig;
- var configsData = countlyPlugins.getConfigsData();
- var plugs = countlyGlobal.apps[countlyCommon.ACTIVE_APP_ID].plugins;
- //check if value can be overwritten on user level
- if (configsData[ns]._user && configsData[ns]._user[id]) {
+ return app.configurationsView.getInputLabel(ns + "." + id);
+ },
+ getHelperLabel: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ return app.configurationsView.getHelperLabel(id, ns);
+ },
+ getInputType: function(id, configId) {
+ configId = configId || this.selectedConfig;
+ return app.configurationsView.getInputType(configId + "." + id);
+ },
+ getConfigType: function(id) {
+ return this.coreDefaults.includes(id) ? "Core" : "Plugins";
+ },
+ checkIfOverwritten: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ var configsData = countlyPlugins.getConfigsData();
+ var plugs = countlyGlobal.apps[countlyCommon.ACTIVE_APP_ID].plugins;
+ //check if value can be overwritten on user level
+ if (configsData[ns]._user && configsData[ns]._user[id]) {
//check if value is overwritten on user level
- var sets = countlyGlobal.member.settings;
- if (sets && sets[ns] && typeof sets[ns][id] !== "undefined") {
- return {label: jQuery.i18n.map["configs.overwritten.user"], href: "#/account-settings"};
- }
- }
- //check if config overwritten on app level
- else if (plugs && plugs[ns] && typeof plugs[ns][id] !== "undefined") {
- return {label: jQuery.i18n.map["configs.overwritten.app"], href: "#/manage/apps"};
- }
- },
- unpatch: function() {
- try {
- this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- }
- catch (ex) {
- this.configsData = {};
- }
- this.diff = [];
- this.diff_ = {};
- if (this.configsData.frontend && this.configsData.frontend._user) {
- this.configsData.frontend.__user = [];
- for (var userProp in this.configsData.frontend._user) {
- if (this.configsData.frontend._user[userProp]) {
- this.configsData.frontend.__user.push(userProp);
+ var sets = countlyGlobal.member.settings;
+ if (sets && sets[ns] && typeof sets[ns][id] !== "undefined") {
+ return {label: jQuery.i18n.map["configs.overwritten.user"], href: "#/account-settings"};
}
}
- }
- },
- save: function() {
- var changes = {};
- var self = this;
- for (var i = 0; i < Object.keys(self.diff_).length; i++) {
- var config = Object.keys(self.diff_)[i];
- changes[config] = {};
- for (var j = 0; j < self.diff_[config].length; j++) {
- if (self.diff_[config][j] === "__user") {
- if (!changes[config]._user) {
- changes[config]._user = {};
+ //check if config overwritten on app level
+ else if (plugs && plugs[ns] && typeof plugs[ns][id] !== "undefined") {
+ return {label: jQuery.i18n.map["configs.overwritten.app"], href: "#/manage/apps"};
+ }
+ },
+ unpatch: function() {
+ try {
+ this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ }
+ catch (ex) {
+ this.configsData = {};
+ }
+ this.diff = [];
+ this.diff_ = {};
+ if (this.configsData.frontend && this.configsData.frontend._user) {
+ this.configsData.frontend.__user = [];
+ for (var userProp in this.configsData.frontend._user) {
+ if (this.configsData.frontend._user[userProp]) {
+ this.configsData.frontend.__user.push(userProp);
}
- for (var userProp in self.configsData[config]._user) {
- if (self.configsData[config][self.diff_[config][j]].indexOf(userProp) === -1) {
- changes[config]._user[userProp] = false;
+ }
+ }
+ },
+ save: function() {
+ var changes = {};
+ var self = this;
+ for (var i = 0; i < Object.keys(self.diff_).length; i++) {
+ var config = Object.keys(self.diff_)[i];
+ changes[config] = {};
+ for (var j = 0; j < self.diff_[config].length; j++) {
+ if (self.diff_[config][j] === "__user") {
+ if (!changes[config]._user) {
+ changes[config]._user = {};
}
- else {
- changes[config]._user[userProp] = true;
+ for (var userProp in self.configsData[config]._user) {
+ if (self.configsData[config][self.diff_[config][j]].indexOf(userProp) === -1) {
+ changes[config]._user[userProp] = false;
+ }
+ else {
+ changes[config]._user[userProp] = true;
+ }
}
}
+ else {
+ changes[config][self.diff_[config][j]] = self.configsData[config][self.diff_[config][j]];
+ }
}
- else {
- changes[config][self.diff_[config][j]] = self.configsData[config][self.diff_[config][j]];
- }
- }
- }
- countlyPlugins.updateConfigs(changes, function(err) {
- if (err) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
- type: "error"
- });
}
- else {
- if (self.back) {
- location.hash += "/success";
+ countlyPlugins.updateConfigs(changes, function(err) {
+ if (err) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.not-changed"],
+ type: "error"
+ });
}
else {
- location.hash = "#/manage/configurations/" + self.selectedConfig + "/success";
+ if (self.back) {
+ location.hash += "/success";
+ }
+ else {
+ location.hash = "#/manage/configurations/" + self.selectedConfig + "/success";
+ }
+ window.location.reload(true);
}
- window.location.reload(true);
+ });
+ },
+ onFocus: function() {
+ if (this.searchQuery === "") {
+ this.back = true;
+ this.selectedConfigSearchBar = "search";
}
- });
- },
- onFocus: function() {
- if (this.searchQuery === "") {
- this.back = true;
- this.selectedConfigSearchBar = "search";
- }
- },
- onEnterSearch: function() {
- var self = this;
- self.unpatch();
- var res = {};
- if (self.searchQuery && self.searchQuery !== "") {
- self.searchQuery = self.searchQuery.toLowerCase();
- for (var config in self.predefinedStructure) {
- if (config.toLowerCase().includes(self.searchQuery) && CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
- res[config] = self.predefinedStructure[config];
- }
- else {
- let groups = [];
- // eslint-disable-next-line no-loop-func
- self.predefinedStructure[config].groups.map(function(group) {
- if (CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
- if (group.label && CV.i18n(group.label).toLowerCase().includes(self.searchQuery)) {
- groups.push(group);
- }
- else {
- let list = group.list.filter(function(item) {
- let label = self.getLabelName(item, config) || "";
- let helper = self.getHelperLabel(item, config) || "";
- return label.toLowerCase().includes(self.searchQuery)
+ },
+ onEnterSearch: function() {
+ var self = this;
+ self.unpatch();
+ var res = {};
+ if (self.searchQuery && self.searchQuery !== "") {
+ self.searchQuery = self.searchQuery.toLowerCase();
+ for (var config in self.predefinedStructure) {
+ if (config.toLowerCase().includes(self.searchQuery) && CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
+ res[config] = self.predefinedStructure[config];
+ }
+ else {
+ let groups = [];
+ // eslint-disable-next-line no-loop-func
+ self.predefinedStructure[config].groups.map(function(group) {
+ if (CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
+ if (group.label && CV.i18n(group.label).toLowerCase().includes(self.searchQuery)) {
+ groups.push(group);
+ }
+ else {
+ let list = group.list.filter(function(item) {
+ let label = self.getLabelName(item, config) || "";
+ let helper = self.getHelperLabel(item, config) || "";
+ return label.toLowerCase().includes(self.searchQuery)
|| helper.toLowerCase().includes(self.searchQuery);
- });
- if (list.length > 0) {
- let tmp = group;
- tmp.list = list;
- groups.push(tmp);
+ });
+ if (list.length > 0) {
+ let tmp = group;
+ tmp.list = list;
+ groups.push(tmp);
+ }
}
}
+ });
+ if (groups.length > 0) {
+ res[config] = {groups};
}
- });
- if (groups.length > 0) {
- res[config] = {groups};
}
}
+ if (Object.keys(res).length === 0) {
+ res.empty = true;
+ }
+ self.searchResultStructure = res;
+ app.navigate("#/manage/configurations/search/" + self.searchQuery);
}
- if (Object.keys(res).length === 0) {
- res.empty = true;
+ else {
+ self.searchResultStructure = {};
}
- self.searchResultStructure = res;
- app.navigate("#/manage/configurations/search/" + self.searchQuery);
- }
- else {
- self.searchResultStructure = {};
- }
- },
- redirectToConfig: function(config, section) {
- return section
- ? "#/manage/configurations/" + config + "#" + section + ""
- : "#/manage/configurations/" + config + "";
- },
- scrollToSection: function(id) {
- let element = document.getElementById(id);
- element.scrollIntoView({behavior: "smooth"});
- },
- clearSearch: function() {
- this.searchQuery = "";
- //this.searchResultStructure = {};
- }
- }
- });
-
- var AccountView = countlyVue.views.create({
- template: CV.T('/plugins/templates/account-settings.html'),
- data: function() {
- return {
- uploadData: {
- _csrf: countlyGlobal.csrf_token,
- member_image_id: countlyGlobal.member._id
},
- changes: {},
- deleteAccount: {
- showDialog: false,
- title: CV.i18n("configs.delete-account"),
- saveButtonLabel: CV.i18n("configs.delete-my-account"),
- cancelButtonLabel: CV.i18n("configs.cancel"),
- password: ""
+ redirectToConfig: function(config, section) {
+ return section
+ ? "#/manage/configurations/" + config + "#" + section + ""
+ : "#/manage/configurations/" + config + "";
},
- changePassword: {
- showDialog: this.$route.params && this.$route.params.reset || false,
- title: CV.i18n("configs.change-password"),
- saveButtonLabel: CV.i18n("configs.change-password"),
- cancelButtonLabel: CV.i18n("configs.cancel"),
- password: "",
- newPassword: "",
- confirmPassword: ""
+ scrollToSection: function(id) {
+ let element = document.getElementById(id);
+ element.scrollIntoView({behavior: "smooth"});
},
- noaccess: this.$route.params && this.$route.params.noaccess || false,
- components: {},
- formId: "account-settings-form",
- userData: countlyGlobal.member,
- userConfigs: {},
- avatar: this.setDefaultAvatar(countlyGlobal.member.member_image),
- initials: this.updateInitials(countlyGlobal.member.full_name),
- predefinedLabels: app.configurationsView.predefinedLabels,
- predefinedInputs: app.configurationsView.predefinedInputs,
- selectedConfig: "frontend",
- security: countlyGlobal.security
- };
- },
- beforeCreate: function() {
- var self = this;
- return $.when(countlyPlugins.initializeUserConfigs())
- .then(function() {
- try {
- self.userConfigs = JSON.parse(JSON.stringify(countlyPlugins.getUserConfigsData()));
- }
- catch (ex) {
- self.userConfigs = {};
- }
- if (!self.userConfigs.frontend) {
- self.userConfigs.frontend = {};
- }
- for (var key in app.configurationsView.predefinedUserInputs) {
- var parts = key.split(".");
- var val = app.configurationsView.predefinedUserInputs[key];
- if (!self.userConfigs[parts[0]]) {
- self.userConfigs[parts[0]] = {};
+ clearSearch: function() {
+ this.searchQuery = "";
+ //this.searchResultStructure = {};
+ }
+ }
+ });
+
+ var AccountView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/account-settings.html'),
+ data: function() {
+ return {
+ uploadData: {
+ _csrf: countlyGlobal.csrf_token,
+ member_image_id: countlyGlobal.member._id
+ },
+ changes: {},
+ deleteAccount: {
+ showDialog: false,
+ title: CV.i18n("configs.delete-account"),
+ saveButtonLabel: CV.i18n("configs.delete-my-account"),
+ cancelButtonLabel: CV.i18n("configs.cancel"),
+ password: ""
+ },
+ changePassword: {
+ showDialog: this.$route.params && this.$route.params.reset || false,
+ title: CV.i18n("configs.change-password"),
+ saveButtonLabel: CV.i18n("configs.change-password"),
+ cancelButtonLabel: CV.i18n("configs.cancel"),
+ password: "",
+ newPassword: "",
+ confirmPassword: ""
+ },
+ noaccess: this.$route.params && this.$route.params.noaccess || false,
+ components: {},
+ formId: "account-settings-form",
+ userData: countlyGlobal.member,
+ userConfigs: {},
+ avatar: this.setDefaultAvatar(countlyGlobal.member.member_image),
+ initials: this.updateInitials(countlyGlobal.member.full_name),
+ predefinedLabels: app.configurationsView.predefinedLabels,
+ predefinedInputs: app.configurationsView.predefinedInputs,
+ selectedConfig: "frontend",
+ security: countlyGlobal.security
+ };
+ },
+ beforeCreate: function() {
+ var self = this;
+ return $.when(countlyPlugins.initializeUserConfigs())
+ .then(function() {
+ try {
+ self.userConfigs = JSON.parse(JSON.stringify(countlyPlugins.getUserConfigsData()));
}
- if (parts[1]) {
- self.userConfigs[parts[0]][parts[1]] = typeof val === "function" ? val() : val;
+ catch (ex) {
+ self.userConfigs = {};
}
- }
- for (var subkey in self.userConfigs[self.selectedConfig]) {
- if (!self.predefinedInputs[self.selectedConfig + "." + subkey]) {
- var type = typeof self.userConfigs[self.selectedConfig][subkey];
- if (type === "string") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input", attrs: {}});
+ if (!self.userConfigs.frontend) {
+ self.userConfigs.frontend = {};
+ }
+ for (var key in app.configurationsView.predefinedUserInputs) {
+ var parts = key.split(".");
+ var val = app.configurationsView.predefinedUserInputs[key];
+ if (!self.userConfigs[parts[0]]) {
+ self.userConfigs[parts[0]] = {};
}
- else if (type === "number") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input-number", attrs: {}});
+ if (parts[1]) {
+ self.userConfigs[parts[0]][parts[1]] = typeof val === "function" ? val() : val;
}
- else if (type === "boolean") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-switch", attrs: {}});
+ }
+ for (var subkey in self.userConfigs[self.selectedConfig]) {
+ if (!self.predefinedInputs[self.selectedConfig + "." + subkey]) {
+ var type = typeof self.userConfigs[self.selectedConfig][subkey];
+ if (type === "string") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input", attrs: {}});
+ }
+ else if (type === "number") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input-number", attrs: {}});
+ }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-switch", attrs: {}});
+ }
}
}
+ self.loadComponents();
+ });
+ },
+ methods: {
+ onChange: function(id, key, value) {
+ if (!this.changes[id]) {
+ this.changes[id] = {};
}
- self.loadComponents();
- });
- },
- methods: {
- onChange: function(id, key, value) {
- if (!this.changes[id]) {
- this.changes[id] = {};
- }
- this.changes[id][key] = value;
+ this.changes[id][key] = value;
+
+ var configsData = countlyPlugins.getUserConfigsData();
- var configsData = countlyPlugins.getUserConfigsData();
+ if (!this.changes[id]) {
+ this.changes[id] = {};
+ }
- if (!this.changes[id]) {
- this.changes[id] = {};
- }
+ //delete value from diff if it already exists
+ delete this.changes[id][key];
- //delete value from diff if it already exists
- delete this.changes[id][key];
+ this.userConfigs[id][key] = value;
- this.userConfigs[id][key] = value;
+ if (Array.isArray(value) && Array.isArray(configsData[id][key])) {
+ value.sort();
+ configsData[id][key].sort();
+ if (JSON.stringify(value) !== JSON.stringify(configsData[id][key])) {
+ this.changes[id][key] = value;
+ }
- if (Array.isArray(value) && Array.isArray(configsData[id][key])) {
- value.sort();
- configsData[id][key].sort();
- if (JSON.stringify(value) !== JSON.stringify(configsData[id][key])) {
+ }
+ else if (configsData[id][key] !== value) {
this.changes[id][key] = value;
}
+ },
+ passwordDialog: function() {
+ var old_pwd = this.changePassword.password;
+ var new_pwd = this.changePassword.newPassword;
+ var re_new_pwd = this.changePassword.confirmPassword;
- }
- else if (configsData[id][key] !== value) {
- this.changes[id][key] = value;
- }
- },
- passwordDialog: function() {
- var old_pwd = this.changePassword.password;
- var new_pwd = this.changePassword.newPassword;
- var re_new_pwd = this.changePassword.confirmPassword;
-
- if (old_pwd.length > 0 && new_pwd.length > 0 && re_new_pwd.length > 0) {
+ if (old_pwd.length > 0 && new_pwd.length > 0 && re_new_pwd.length > 0) {
+ var data = {
+ _csrf: countlyGlobal.csrf_token,
+ username: countlyGlobal.member.username,
+ full_name: countlyGlobal.member.full_name,
+ api_key: countlyGlobal.member.api_key,
+ old_pwd: old_pwd,
+ new_pwd: new_pwd,
+ re_new_pwd: re_new_pwd
+ };
+ this.saveSettings(data);
+ }
+ else {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.fill-required-fields"],
+ type: "error"
+ });
+ }
+ },
+ submitDeleteDialog: function() {
+ var pv = this.deleteAccount.password.trim();
+ if (pv === "") {
+ var msg1 = {title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings.password-mandatory"], clearAll: true, type: "error"};
+ CountlyHelpers.notify(msg1);
+ }
+ else {
+ countlyPlugins.deleteAccount({password: pv}, function(err, msg) {
+ if (msg === true || msg === 'true') {
+ window.location = "/login"; //deleted. go to login
+ }
+ else if (msg === 'password not valid' || msg === 'password mandatory' || msg === 'global admin limit') {
+ CountlyHelpers.notify({title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings." + msg], sticky: true, clearAll: true, type: "error"});
+ }
+ else if (err === true) {
+ var msg2 = {title: jQuery.i18n.map["common.error"], message: msg, sticky: true, clearAll: true, type: "error"};
+ CountlyHelpers.notify(msg2);
+ }
+ });
+ }
+ },
+ getLabelName: function(id, key) {
+ return app.configurationsView.getInputLabel(id + "." + key);
+ },
+ getInputType: function(id, key) {
+ return app.configurationsView.getInputType(id + "." + key);
+ },
+ save: function(doc) {
var data = {
_csrf: countlyGlobal.csrf_token,
- username: countlyGlobal.member.username,
- full_name: countlyGlobal.member.full_name,
- api_key: countlyGlobal.member.api_key,
- old_pwd: old_pwd,
- new_pwd: new_pwd,
- re_new_pwd: re_new_pwd
+ username: doc.username,
+ full_name: doc.full_name,
+ api_key: doc.api_key
};
this.saveSettings(data);
- }
- else {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.fill-required-fields"],
- type: "error"
- });
- }
- },
- submitDeleteDialog: function() {
- var pv = this.deleteAccount.password.trim();
- if (pv === "") {
- var msg1 = {title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings.password-mandatory"], clearAll: true, type: "error"};
- CountlyHelpers.notify(msg1);
- }
- else {
- countlyPlugins.deleteAccount({password: pv}, function(err, msg) {
- if (msg === true || msg === 'true') {
- window.location = "/login"; //deleted. go to login
- }
- else if (msg === 'password not valid' || msg === 'password mandatory' || msg === 'global admin limit') {
- CountlyHelpers.notify({title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings." + msg], sticky: true, clearAll: true, type: "error"});
- }
- else if (err === true) {
- var msg2 = {title: jQuery.i18n.map["common.error"], message: msg, sticky: true, clearAll: true, type: "error"};
- CountlyHelpers.notify(msg2);
- }
- });
- }
- },
- getLabelName: function(id, key) {
- return app.configurationsView.getInputLabel(id + "." + key);
- },
- getInputType: function(id, key) {
- return app.configurationsView.getInputType(id + "." + key);
- },
- save: function(doc) {
- var data = {
- _csrf: countlyGlobal.csrf_token,
- username: doc.username,
- full_name: doc.full_name,
- api_key: doc.api_key
- };
- this.saveSettings(data);
- },
- saveSettings: function(doc) {
- var self = this;
- $.ajax({
- type: "POST",
- url: countlyGlobal.path + "/user/settings",
- data: doc,
- success: function(result) {
- if (result === "username-exists") {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["management-users.username.exists"],
- type: "error"
- });
- return true;
- }
- else if (!result) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["user-settings.alert"],
- type: "error"
- });
- return true;
- }
- else {
- if (!isNaN(parseInt(result))) {
- countlyGlobal.member.password_changed = parseInt(result);
+ },
+ saveSettings: function(doc) {
+ var self = this;
+ $.ajax({
+ type: "POST",
+ url: countlyGlobal.path + "/user/settings",
+ data: doc,
+ success: function(result) {
+ if (result === "username-exists") {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["management-users.username.exists"],
+ type: "error"
+ });
+ return true;
}
- else if (typeof result === "string") {
+ else if (!result) {
CountlyHelpers.notify({
title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map[result],
+ message: jQuery.i18n.map["user-settings.alert"],
type: "error"
});
return true;
}
-
- countlyGlobal.member.full_name = doc.full_name;
- countlyGlobal.member.username = doc.username;
- countlyGlobal.member.api_key = doc.api_key;
- }
- if (Object.keys(self.changes).length) {
- countlyPlugins.updateUserConfigs(self.changes, function(err) {
- if (err) {
+ else {
+ if (!isNaN(parseInt(result))) {
+ countlyGlobal.member.password_changed = parseInt(result);
+ }
+ else if (typeof result === "string") {
CountlyHelpers.notify({
title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
+ message: jQuery.i18n.map[result],
type: "error"
});
+ return true;
}
- else {
- window.location.reload(true);
- }
- });
- }
- else {
+
+ countlyGlobal.member.full_name = doc.full_name;
+ countlyGlobal.member.username = doc.username;
+ countlyGlobal.member.api_key = doc.api_key;
+ }
+ if (Object.keys(self.changes).length) {
+ countlyPlugins.updateUserConfigs(self.changes, function(err) {
+ if (err) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.not-changed"],
+ type: "error"
+ });
+ }
+ else {
+ window.location.reload(true);
+ }
+ });
+ }
+ else {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.changed"],
+ message: jQuery.i18n.map["configs.saved"]
+ });
+ }
+ },
+ error: function() {
CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.changed"],
- message: jQuery.i18n.map["configs.saved"]
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.not-changed"],
+ type: "error"
});
}
- },
- error: function() {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
- type: "error"
- });
+ });
+ },
+ handleAvatarSuccess: function(url) {
+ countlyGlobal.member.member_image = url;
+ this.avatar = this.setDefaultAvatar(countlyGlobal.member.member_image);
+ this.updateGlobalObject();
+ },
+ nameChanged: function(val) {
+ this.initials = this.updateInitials(val);
+ this.updateGlobalObject();
+ },
+ updateInitials: function(full_name) {
+ var name = (full_name || "").trim().split(" ");
+ if (name.length === 1) {
+ return name[0][0] || "";
}
- });
+ return (name[0][0] || "") + (name[name.length - 1][0] || "");
+ },
+ updateGlobalObject: function() {
+ var userImage = {};
+ var member = countlyGlobal.member;
+ if (member.member_image) {
+ userImage.url = member.member_image;
+ userImage.found = true;
+ }
+ else {
+ var defaultAvatarSelector = (member.created_at || Date.now()) % 10 * -60;
+ userImage.found = false;
+ userImage.url = "images/avatar-sprite.png?v2";
+ userImage.position = defaultAvatarSelector;
+ userImage.initials = this.initials;
+ }
+
+ member.image = userImage;
+ },
+ deleteAvatar: function() {
+ var self = this;
+ $.ajax({
+ type: "POST",
+ url: countlyCommon.API_URL + "/user/settings",
+ data: {
+ username: countlyGlobal.member.username,
+ api_key: countlyGlobal.member.api_key,
+ member_image: "delete",
+ _csrf: countlyGlobal.csrf_token
+ },
+ success: function() {
+ countlyGlobal.member.member_image = "";
+ self.avatar = self.setDefaultAvatar(countlyGlobal.member.member_image);
+ self.updateGlobalObject();
+ },
+ error: function() {
+ CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.delete_avatar_failed']});
+ }
+ });
+ },
+ setDefaultAvatar: function(image) {
+ if (image) {
+ return {'background-image': 'url("' + image + '?' + Date.now() + '")', "background-repeat": "no-repeat", "background-size": "auto 100px"};
+ }
+ else {
+ var defaultAvatarSelector = (countlyGlobal.member.created_at || Date.now()) % 10 * -100;
+ return {'background-image': 'url("images/avatar-sprite.png?v2")', 'background-position': defaultAvatarSelector + 'px', 'background-size': 'auto 100px'};
+ }
+ },
+ loadComponents: function() {
+ var cc = countlyVue.container.dataMixin({
+ 'accountSettingsComponents': '/account/settings'
+ });
+ cc = cc.data();
+ var allComponents = cc.accountSettingsComponents;
+ for (var i = 0; i < allComponents.length; i++) {
+ if (allComponents[i]._id && allComponents[i].title && allComponents[i].component) {
+ this.components[allComponents[i]._id] = allComponents[i];
+ }
+ }
+ }
+ }
+ });
+
+ var getPluginView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: PluginsView,
+ vuex: [] //empty array if none
+ });
+ };
+
+ var getConfigView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: ConfigurationsView,
+ vuex: [] //empty array if none
+ });
+ };
+
+ var getAccountView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: AccountView,
+ vuex: [] //empty array if none
+ });
+ };
+
+ //old global handler
+ app.configurationsView = {
+ predefinedInputs: {},
+ predefinedLabels: {},
+ predefinedStructure: {},
+ predefinedUserInputs: {},
+ registerInput: function(id, callback) {
+ this.predefinedInputs[id] = callback;
},
- handleAvatarSuccess: function(url) {
- countlyGlobal.member.member_image = url;
- this.avatar = this.setDefaultAvatar(countlyGlobal.member.member_image);
- this.updateGlobalObject();
+ registerLabel: function(id, html) {
+ this.predefinedLabels[id] = html;
},
- nameChanged: function(val) {
- this.initials = this.updateInitials(val);
- this.updateGlobalObject();
+ registerStructure: function(id, obj) {
+ this.predefinedStructure[id] = obj;
},
- updateInitials: function(full_name) {
- var name = (full_name || "").trim().split(" ");
- if (name.length === 1) {
- return name[0][0] || "";
- }
- return (name[0][0] || "") + (name[name.length - 1][0] || "");
+ registerUserInput: function(id, getVal) {
+ this.predefinedUserInputs[id] = getVal;
},
- updateGlobalObject: function() {
- var userImage = {};
- var member = countlyGlobal.member;
- if (member.member_image) {
- userImage.url = member.member_image;
- userImage.found = true;
+ getInputLabel: function(id) {
+ if (typeof this.predefinedLabels[id] !== "undefined") {
+ return jQuery.i18n.map[this.predefinedLabels[id]] || this.predefinedLabels[id];
+ }
+ else if (jQuery.i18n.map[id + ".title"]) {
+ return jQuery.i18n.map[id + ".title"];
+ }
+ else if (jQuery.i18n.map[id + ".plugin-title"]) {
+ return jQuery.i18n.map[id + ".plugin-title"];
+ }
+ else if (jQuery.i18n.map["configs." + id]) {
+ return jQuery.i18n.map["configs." + id];
+ }
+ else if (jQuery.i18n.map["configs." + (id).replace(".", "-")]) {
+ return jQuery.i18n.map["configs." + (id).replace(".", "-")];
+ }
+ else if (jQuery.i18n.map[id]) {
+ return jQuery.i18n.map[id];
+ }
+ else if (jQuery.i18n.map[(id).replace(".", "-")]) {
+ return jQuery.i18n.map[(id).replace(".", "-")];
}
else {
- var defaultAvatarSelector = (member.created_at || Date.now()) % 10 * -60;
- userImage.found = false;
- userImage.url = "images/avatar-sprite.png?v2";
- userImage.position = defaultAvatarSelector;
- userImage.initials = this.initials;
+ return id;
}
-
- member.image = userImage;
- },
- deleteAvatar: function() {
- var self = this;
- $.ajax({
- type: "POST",
- url: countlyCommon.API_URL + "/user/settings",
- data: {
- username: countlyGlobal.member.username,
- api_key: countlyGlobal.member.api_key,
- member_image: "delete",
- _csrf: countlyGlobal.csrf_token
- },
- success: function() {
- countlyGlobal.member.member_image = "";
- self.avatar = self.setDefaultAvatar(countlyGlobal.member.member_image);
- self.updateGlobalObject();
- },
- error: function() {
- CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.delete_avatar_failed']});
- }
- });
},
- setDefaultAvatar: function(image) {
- if (image) {
- return {'background-image': 'url("' + image + '?' + Date.now() + '")', "background-repeat": "no-repeat", "background-size": "auto 100px"};
+ getHelperLabel: function(id, ns) {
+ if (id === "__user") {
+ return jQuery.i18n.map["configs.help.user-level-configuration"];
}
- else {
- var defaultAvatarSelector = (countlyGlobal.member.created_at || Date.now()) % 10 * -100;
- return {'background-image': 'url("images/avatar-sprite.png?v2")', 'background-position': defaultAvatarSelector + 'px', 'background-size': 'auto 100px'};
+ else if (jQuery.i18n.map["configs.help." + ns + "." + id]) {
+ return jQuery.i18n.map["configs.help." + ns + "." + id];
+ }
+ else if (jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")]) {
+ return jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")];
+ }
+ else if (this.predefinedInputs[ns + "." + id] && this.predefinedInputs[ns + "." + id].helper) {
+ return jQuery.i18n.map[this.predefinedInputs[ns + "." + id].helper] || this.predefinedInputs[ns + "." + id].helper;
}
},
- loadComponents: function() {
- var cc = countlyVue.container.dataMixin({
- 'accountSettingsComponents': '/account/settings'
- });
- cc = cc.data();
- var allComponents = cc.accountSettingsComponents;
- for (var i = 0; i < allComponents.length; i++) {
- if (allComponents[i]._id && allComponents[i].title && allComponents[i].component) {
- this.components[allComponents[i]._id] = allComponents[i];
- }
+ getInputType: function(id) {
+ var input = this.predefinedInputs[id];
+ if (typeof input === "function") {
+ return "function";
+ }
+ if (input && input.input) {
+ return input.input;
}
}
- }
- });
-
- var getPluginView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: PluginsView,
- vuex: [] //empty array if none
- });
- };
-
- var getConfigView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: ConfigurationsView,
- vuex: [] //empty array if none
- });
- };
+ };
- var getAccountView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: AccountView,
- vuex: [] //empty array if none
- });
- };
-
- //old global handler
- app.configurationsView = {
- predefinedInputs: {},
- predefinedLabels: {},
- predefinedStructure: {},
- predefinedUserInputs: {},
- registerInput: function(id, callback) {
- this.predefinedInputs[id] = callback;
- },
- registerLabel: function(id, html) {
- this.predefinedLabels[id] = html;
- },
- registerStructure: function(id, obj) {
- this.predefinedStructure[id] = obj;
- },
- registerUserInput: function(id, getVal) {
- this.predefinedUserInputs[id] = getVal;
- },
- getInputLabel: function(id) {
- if (typeof this.predefinedLabels[id] !== "undefined") {
- return jQuery.i18n.map[this.predefinedLabels[id]] || this.predefinedLabels[id];
- }
- else if (jQuery.i18n.map[id + ".title"]) {
- return jQuery.i18n.map[id + ".title"];
- }
- else if (jQuery.i18n.map[id + ".plugin-title"]) {
- return jQuery.i18n.map[id + ".plugin-title"];
- }
- else if (jQuery.i18n.map["configs." + id]) {
- return jQuery.i18n.map["configs." + id];
- }
- else if (jQuery.i18n.map["configs." + (id).replace(".", "-")]) {
- return jQuery.i18n.map["configs." + (id).replace(".", "-")];
- }
- else if (jQuery.i18n.map[id]) {
- return jQuery.i18n.map[id];
- }
- else if (jQuery.i18n.map[(id).replace(".", "-")]) {
- return jQuery.i18n.map[(id).replace(".", "-")];
- }
- else {
- return id;
- }
- },
- getHelperLabel: function(id, ns) {
- if (id === "__user") {
- return jQuery.i18n.map["configs.help.user-level-configuration"];
- }
- else if (jQuery.i18n.map["configs.help." + ns + "." + id]) {
- return jQuery.i18n.map["configs.help." + ns + "." + id];
- }
- else if (jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")]) {
- return jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")];
- }
- else if (this.predefinedInputs[ns + "." + id] && this.predefinedInputs[ns + "." + id].helper) {
- return jQuery.i18n.map[this.predefinedInputs[ns + "." + id].helper] || this.predefinedInputs[ns + "." + id].helper;
- }
- },
- getInputType: function(id) {
- var input = this.predefinedInputs[id];
- if (typeof input === "function") {
- return "function";
- }
- if (input && input.input) {
- return input.input;
- }
+ //register inputs
+ var zones = app.manageAppsView.getTimeZones();
+ var countryList = [];
+ for (var z in zones) {
+ countryList.push({value: z, label: zones[z].n});
}
- };
-
- //register inputs
- var zones = app.manageAppsView.getTimeZones();
- var countryList = [];
- for (var z in zones) {
- countryList.push({value: z, label: zones[z].n});
- }
- app.configurationsView.registerInput("apps.country", {input: "el-select", attrs: {}, list: countryList});
-
- app.configurationsView.registerInput("logs.default", {
- input: "el-select",
- attrs: {},
- list: [
- {value: 'debug', label: CV.i18n("configs.logs.debug")},
- {value: 'info', label: CV.i18n("configs.logs.info")},
- {value: 'warn', label: CV.i18n("configs.logs.warn")},
- {value: 'error', label: CV.i18n("configs.logs.error")}
- ]
- });
-
- app.configurationsView.registerInput("security.dashboard_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
-
- app.configurationsView.registerInput("security.robotstxt", {input: "el-input", attrs: {type: "textarea", rows: 5}});
-
- app.configurationsView.registerInput("security.api_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
+ app.configurationsView.registerInput("apps.country", {input: "el-select", attrs: {}, list: countryList});
+ app.configurationsView.registerInput("logs.default", {
+ input: "el-select",
+ attrs: {},
+ list: [
+ {value: 'debug', label: CV.i18n("configs.logs.debug")},
+ {value: 'info', label: CV.i18n("configs.logs.info")},
+ {value: 'warn', label: CV.i18n("configs.logs.warn")},
+ {value: 'error', label: CV.i18n("configs.logs.error")}
+ ]
+ });
- app.configurationsView.registerInput("api.reports_regenerate_interval", {
- input: "el-select",
- attrs: {},
- list: [
- {value: 300, label: jQuery.i18n.prop("common.every.minutes", 5)},
- {value: 1800, label: jQuery.i18n.prop("common.every.minutes", 30)},
- {value: 3600, label: jQuery.i18n.prop("common.every.hour", 1)},
- {value: 10800, label: jQuery.i18n.prop("common.every.hours", 3)},
- {value: 43200, label: jQuery.i18n.prop("common.every.hours", 12)},
- {value: 86400, label: jQuery.i18n.prop("common.every.hours", 24)}
- ]
- });
+ app.configurationsView.registerInput("security.dashboard_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- app.configurationsView.registerInput("api.send_test_email", {
- input: "el-button",
- label: jQuery.i18n.map['common.send'],
- attrs: {type: "primary", disabled: false},
- click: function() {
- this.attrs.disabled = true;
- var self = this;
- $.ajax({
- type: "GET",
- url: countlyCommon.API_URL + "/o/email_test",
- data: {},
- success: function() {
- self.attrs.disabled = false;
- CountlyHelpers.notify({ type: "ok", message: jQuery.i18n.map['configs.help.api-send_test_email_delivered']});
+ app.configurationsView.registerInput("security.robotstxt", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- },
- error: function() {
- self.attrs.disabled = false;
- CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.help.api-send_test_email_failed']});
- }
- });
- }
- });
+ app.configurationsView.registerInput("security.api_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- app.configurationsView.registerStructure("api", {
- description: "configs.api.description",
- groups: [
- {label: "configs.api.batch", list: ["batch_processing", "batch_period", "batch_on_master"]},
- {label: "configs.api.cache", list: ["batch_read_processing", "batch_read_period", "batch_read_ttl", "batch_read_on_master"]},
- {label: "configs.api.limits", list: ["event_limit", "event_segmentation_limit", "event_segmentation_value_limit", "metric_limit", "session_duration_limit", "array_list_limit"]},
- {label: "configs.api.others", list: ["safe", "domain", "export_limit", "offline_mode", "reports_regenerate_interval", "request_threshold", "sync_plugins", "send_test_email", "city_data", "country_data", "session_cooldown", "total_users", "prevent_duplicate_requests", "metric_changes", "data_retention_period"]},
- ]
- });
- app.configurationsView.registerStructure("logs", {
- description: "",
- groups: [
- {label: "configs.logs.modules", list: ["debug", "warn", "info", "error"]},
- {label: "configs.logs.default-level", list: ["default"]}
- ]
- });
+ app.configurationsView.registerInput("api.reports_regenerate_interval", {
+ input: "el-select",
+ attrs: {},
+ list: [
+ {value: 300, label: jQuery.i18n.prop("common.every.minutes", 5)},
+ {value: 1800, label: jQuery.i18n.prop("common.every.minutes", 30)},
+ {value: 3600, label: jQuery.i18n.prop("common.every.hour", 1)},
+ {value: 10800, label: jQuery.i18n.prop("common.every.hours", 3)},
+ {value: 43200, label: jQuery.i18n.prop("common.every.hours", 12)},
+ {value: 86400, label: jQuery.i18n.prop("common.every.hours", 24)}
+ ]
+ });
- var showInAppManagment = {
- "api": {
- "safe": true,
- "session_duration_limit": true,
- "country_data": true,
- "city_data": true,
- "event_limit": true,
- "event_segmentation_limit": true,
- "event_segmentation_value_limit": true,
- "metric_limit": true,
- "session_cooldown": true,
- "total_users": true,
- "prevent_duplicate_requests": true,
- "metric_changes": true,
- }
- };
- if (countlyAuth.validateGlobalAdmin()) {
- if (countlyGlobal.plugins.indexOf("drill") !== -1) {
- showInAppManagment.drill = {"big_list_limit": true, "record_big_list": true, "cache_threshold": true, "correct_estimation": true, "custom_property_limit": true, "list_limit": true, "projection_limit": true, "record_actions": true, "record_crashes": true, "record_meta": true, "record_pushes": true, "record_sessions": true, "record_star_rating": true, "record_apm": true, "record_views": true};
- }
- if (countlyGlobal.plugins.includes("logger")) {
- showInAppManagment.logger = {"state": true, "limit": true};
- }
+ app.configurationsView.registerInput("api.send_test_email", {
+ input: "el-button",
+ label: jQuery.i18n.map['common.send'],
+ attrs: {type: "primary", disabled: false},
+ click: function() {
+ this.attrs.disabled = true;
+ var self = this;
+ $.ajax({
+ type: "GET",
+ url: countlyCommon.API_URL + "/o/email_test",
+ data: {},
+ success: function() {
+ self.attrs.disabled = false;
+ CountlyHelpers.notify({ type: "ok", message: jQuery.i18n.map['configs.help.api-send_test_email_delivered']});
- app.route('/manage/plugins', 'plugins', function() {
- if (countlyGlobal.COUNTLY_CONTAINER === 'frontend') {
- app.navigate("#/", true);
- }
- else {
- this.renderWhenReady(getPluginView());
+ },
+ error: function() {
+ self.attrs.disabled = false;
+ CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.help.api-send_test_email_failed']});
+ }
+ });
}
});
- app.route('/manage/configurations', 'configurations', function() {
- var view = getConfigView();
- view.params = {namespace: null, success: false};
- this.renderWhenReady(view);
+ app.configurationsView.registerStructure("api", {
+ description: "configs.api.description",
+ groups: [
+ {label: "configs.api.batch", list: ["batch_processing", "batch_period", "batch_on_master"]},
+ {label: "configs.api.cache", list: ["batch_read_processing", "batch_read_period", "batch_read_ttl", "batch_read_on_master"]},
+ {label: "configs.api.limits", list: ["event_limit", "event_segmentation_limit", "event_segmentation_value_limit", "metric_limit", "session_duration_limit", "array_list_limit"]},
+ {label: "configs.api.others", list: ["safe", "domain", "export_limit", "offline_mode", "reports_regenerate_interval", "request_threshold", "sync_plugins", "send_test_email", "city_data", "country_data", "session_cooldown", "total_users", "prevent_duplicate_requests", "metric_changes", "data_retention_period"]},
+ ]
});
- app.route('/manage/configurations/:namespace', 'configurations_namespace', function(namespace) {
- var view = getConfigView();
- view.params = {namespace: namespace, success: false};
- this.renderWhenReady(view);
+ app.configurationsView.registerStructure("logs", {
+ description: "",
+ groups: [
+ {label: "configs.logs.modules", list: ["debug", "warn", "info", "error"]},
+ {label: "configs.logs.default-level", list: ["default"]}
+ ]
});
- app.route('/manage/configurations/:namespace/:status', 'configurations_namespace', function(namespace, status) {
- var view = getConfigView();
- if (status === "success" && namespace !== "search") {
- view.params = {namespace: namespace, success: true};
- this.renderWhenReady(view);
+ var showInAppManagment = {
+ "api": {
+ "safe": true,
+ "session_duration_limit": true,
+ "country_data": true,
+ "city_data": true,
+ "event_limit": true,
+ "event_segmentation_limit": true,
+ "event_segmentation_value_limit": true,
+ "metric_limit": true,
+ "session_cooldown": true,
+ "total_users": true,
+ "prevent_duplicate_requests": true,
+ "metric_changes": true,
}
- if (namespace === "search") {
- view.params = {namespace, success: false, searchQuery: status};
- this.renderWhenReady(view);
+ };
+ if (countlyAuth.validateGlobalAdmin()) {
+ if (countlyGlobal.plugins.indexOf("drill") !== -1) {
+ showInAppManagment.drill = {"big_list_limit": true, "record_big_list": true, "cache_threshold": true, "correct_estimation": true, "custom_property_limit": true, "list_limit": true, "projection_limit": true, "record_actions": true, "record_crashes": true, "record_meta": true, "record_pushes": true, "record_sessions": true, "record_star_rating": true, "record_apm": true, "record_views": true};
}
- });
+ if (countlyGlobal.plugins.includes("logger")) {
+ showInAppManagment.logger = {"state": true, "limit": true};
+ }
+
+ app.route('/manage/plugins', 'plugins', function() {
+ if (countlyGlobal.COUNTLY_CONTAINER === 'frontend') {
+ app.navigate("#/", true);
+ }
+ else {
+ this.renderWhenReady(getPluginView());
+ }
+ });
- app.route('/manage/configurations/:namespace/:status/:success', 'configurations_namespace', function(namespace, status, success) {
- if (success === "success" && namespace === "search" && status !== "") {
+ app.route('/manage/configurations', 'configurations', function() {
var view = getConfigView();
- view.params = {namespace, success: true, searchQuery: status};
+ view.params = {namespace: null, success: false};
this.renderWhenReady(view);
- }
- });
+ });
- app.route('/manage/configurations/:namespace#:section', 'configurations_namespace', function(namespace, section) {
- var view = getConfigView();
- view.params = {namespace: namespace, section: section, success: false};
- this.renderWhenReady(view);
- });
+ app.route('/manage/configurations/:namespace', 'configurations_namespace', function(namespace) {
+ var view = getConfigView();
+ view.params = {namespace: namespace, success: false};
+ this.renderWhenReady(view);
+ });
- countlyPlugins.initializeConfigs().always(function() {
- var pluginsData = countlyPlugins.getConfigsData();
- for (var key in showInAppManagment) {
- var inputs = {};
- for (var conf in showInAppManagment[key]) {
- if (showInAppManagment[key][conf]) {
- if (!app.configurationsView.predefinedInputs[key + "." + conf]) {
- if (pluginsData[key]) {
- var type = typeof pluginsData[key][conf];
- if (type === "string") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-input", attrs: {}});
- }
- else if (type === "number") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-input-number", attrs: {}});
- }
- else if (type === "boolean") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-switch", attrs: {}});
+ app.route('/manage/configurations/:namespace/:status', 'configurations_namespace', function(namespace, status) {
+ var view = getConfigView();
+ if (status === "success" && namespace !== "search") {
+ view.params = {namespace: namespace, success: true};
+ this.renderWhenReady(view);
+ }
+ if (namespace === "search") {
+ view.params = {namespace, success: false, searchQuery: status};
+ this.renderWhenReady(view);
+ }
+ });
+
+ app.route('/manage/configurations/:namespace/:status/:success', 'configurations_namespace', function(namespace, status, success) {
+ if (success === "success" && namespace === "search" && status !== "") {
+ var view = getConfigView();
+ view.params = {namespace, success: true, searchQuery: status};
+ this.renderWhenReady(view);
+ }
+ });
+
+ app.route('/manage/configurations/:namespace#:section', 'configurations_namespace', function(namespace, section) {
+ var view = getConfigView();
+ view.params = {namespace: namespace, section: section, success: false};
+ this.renderWhenReady(view);
+ });
+
+ countlyPlugins.initializeConfigs().always(function() {
+ var pluginsData = countlyPlugins.getConfigsData();
+ for (var key in showInAppManagment) {
+ var inputs = {};
+ for (var conf in showInAppManagment[key]) {
+ if (showInAppManagment[key][conf]) {
+ if (!app.configurationsView.predefinedInputs[key + "." + conf]) {
+ if (pluginsData[key]) {
+ var type = typeof pluginsData[key][conf];
+ if (type === "string") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-input", attrs: {}});
+ }
+ else if (type === "number") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-input-number", attrs: {}});
+ }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-switch", attrs: {}});
+ }
}
}
- }
- if (app.configurationsView.predefinedInputs[key + "." + conf]) {
- inputs[key + "." + conf] = app.configurationsView.predefinedInputs[key + "." + conf];
+ if (app.configurationsView.predefinedInputs[key + "." + conf]) {
+ inputs[key + "." + conf] = app.configurationsView.predefinedInputs[key + "." + conf];
+ }
}
}
+ app.addAppManagementInput(key, jQuery.i18n.map['configs.' + key], inputs);
}
- app.addAppManagementInput(key, jQuery.i18n.map['configs.' + key], inputs);
- }
- app.configurationsView.registerInput("frontend.theme", {input: "el-select", attrs: {}, list: countlyPlugins.getThemeList()});
- });
- }
+ app.configurationsView.registerInput("frontend.theme", {input: "el-select", attrs: {}, list: countlyPlugins.getThemeList()});
+ });
+ }
- app.route('/account-settings', 'account-settings', function() {
- this.renderWhenReady(getAccountView());
- });
+ app.route('/account-settings', 'account-settings', function() {
+ this.renderWhenReady(getAccountView());
+ });
- app.route('/account-settings/reset', 'account-settings', function() {
- var view = getAccountView();
- view.params = {reset: true};
- this.renderWhenReady(view);
- });
+ app.route('/account-settings/reset', 'account-settings', function() {
+ var view = getAccountView();
+ view.params = {reset: true};
+ this.renderWhenReady(view);
+ });
- app.route('/account-settings/no-access', 'account-settings', function() {
- var view = getAccountView();
- view.params = {noaccess: true};
- this.renderWhenReady(view);
- });
+ app.route('/account-settings/no-access', 'account-settings', function() {
+ var view = getAccountView();
+ view.params = {noaccess: true};
+ this.renderWhenReady(view);
+ });
- if (countlyAuth.validateGlobalAdmin()) {
- if (countlyGlobal.COUNTLY_CONTAINER !== 'frontend') {
- app.addMenu("management", {code: "plugins", pluginName: "plugins", url: "#/manage/plugins", text: "plugins.title", icon: '
', priority: 80});
+ if (countlyAuth.validateGlobalAdmin()) {
+ if (countlyGlobal.COUNTLY_CONTAINER !== 'frontend') {
+ app.addMenu("management", {code: "plugins", pluginName: "plugins", url: "#/manage/plugins", text: "plugins.title", icon: '', priority: 80});
+ }
}
- }
- if (countlyAuth.validateGlobalAdmin()) {
- app.addMenu("management", {code: "configurations", pluginName: "plugins", url: "#/manage/configurations", text: "plugins.configs", icon: '', priority: 30});
+ if (countlyAuth.validateGlobalAdmin()) {
+ app.addMenu("management", {code: "configurations", pluginName: "plugins", url: "#/manage/configurations", text: "plugins.configs", icon: '', priority: 30});
- var isCurrentHostnameIP = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(window.location.hostname);
- var isGlobalDomainHasValue = countlyGlobal.domain === "" || typeof countlyGlobal.domain === "undefined" ? false : true;
- if (!isCurrentHostnameIP && !isGlobalDomainHasValue) {
- countlyPlugins.updateConfigs({"api": {"domain": window.location.protocol + "//" + window.location.hostname}}, function(err) {
- if (err) {
- // throw err
- }
- });
+ var isCurrentHostnameIP = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(window.location.hostname);
+ var isGlobalDomainHasValue = countlyGlobal.domain === "" || typeof countlyGlobal.domain === "undefined" ? false : true;
+ if (!isCurrentHostnameIP && !isGlobalDomainHasValue) {
+ countlyPlugins.updateConfigs({"api": {"domain": window.location.protocol + "//" + window.location.hostname}}, function(err) {
+ if (err) {
+ // throw err
+ }
+ });
+ }
}
- }
-})();
\ No newline at end of file
+ })();
+}
\ No newline at end of file
From cf0abbb2f61dfbd1f2ab70ab2b311ef480777a14 Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Tue, 28 Mar 2023 14:54:34 +0000
Subject: [PATCH 004/186] only remove the plugin management in mycountly
---
.../public/javascripts/countly.views.js | 2244 ++++++++---------
1 file changed, 1122 insertions(+), 1122 deletions(-)
diff --git a/plugins/plugins/frontend/public/javascripts/countly.views.js b/plugins/plugins/frontend/public/javascripts/countly.views.js
index f9056e00467..5a64978f4a3 100644
--- a/plugins/plugins/frontend/public/javascripts/countly.views.js
+++ b/plugins/plugins/frontend/public/javascripts/countly.views.js
@@ -1,1302 +1,1302 @@
/*global countlyAuth, _,$,countlyPlugins,jQuery,countlyGlobal,app,countlyCommon,CountlyHelpers,countlyVue,CV */
-if (!countlyGlobal.mycountly && countlyGlobal.plugins.indexOf('my-countly') === -1) {
- (function() {
- var PluginsView = countlyVue.views.create({
- template: CV.T('/plugins/templates/plugins.html'),
- data: function() {
- return {
- scope: {},
- highlightedRows: {},
- curRow: {},
- curDependents: [],
- components: {},
- defaultSort: {prop: 1, order: "asc"},
- loading: false,
- tryCount: 0,
- pluginsData: [],
- localTableTrackedFields: ['enabled'],
- filterValue: "all",
- changes: {},
- dialog: {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""}
- };
- },
- beforeCreate: function() {
+(function() {
+ var PluginsView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/plugins.html'),
+ data: function() {
+ return {
+ scope: {},
+ highlightedRows: {},
+ curRow: {},
+ curDependents: [],
+ components: {},
+ defaultSort: {prop: 1, order: "asc"},
+ loading: false,
+ tryCount: 0,
+ pluginsData: [],
+ localTableTrackedFields: ['enabled'],
+ filterValue: "all",
+ changes: {},
+ dialog: {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""}
+ };
+ },
+ beforeCreate: function() {
+ var self = this;
+ return $.when(countlyPlugins.initialize()).then(
+ function() {
+ try {
+ self.pluginsData = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ }
+ catch (ex) {
+ self.pluginsData = [];
+ }
+ for (var i = 0; i < self.pluginsData.length; i++) {
+ self.formatRow(self.pluginsData[i]);
+ }
+ }
+ );
+ },
+ mounted: function() {
+ this.loadComponents();
+ },
+ methods: {
+ refresh: function() {
var self = this;
return $.when(countlyPlugins.initialize()).then(
function() {
try {
- self.pluginsData = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ self.pluginsData = plugins.filter(function(row) {
+ self.formatRow(row);
+ if (self.filterValue === "enabled") {
+ return row.enabled;
+ }
+ else if (self.filterValue === "disabled") {
+ return !row.enabled;
+ }
+ return true;
+ });
}
catch (ex) {
self.pluginsData = [];
}
- for (var i = 0; i < self.pluginsData.length; i++) {
- self.formatRow(self.pluginsData[i]);
- }
}
);
},
- mounted: function() {
- this.loadComponents();
+ updateRow: function(code) {
+ this.highlightedRows[code] = true;
+ this.refresh();
},
- methods: {
- refresh: function() {
- var self = this;
- return $.when(countlyPlugins.initialize()).then(
- function() {
- try {
- var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
- self.pluginsData = plugins.filter(function(row) {
- self.formatRow(row);
- if (self.filterValue === "enabled") {
- return row.enabled;
- }
- else if (self.filterValue === "disabled") {
- return !row.enabled;
- }
- return true;
- });
- }
- catch (ex) {
- self.pluginsData = [];
- }
- }
- );
- },
- updateRow: function(code) {
- this.highlightedRows[code] = true;
- this.refresh();
- },
- loadComponents: function() {
- var cc = countlyVue.container.dataMixin({
- 'pluginComponents': '/plugins/header'
- });
- cc = cc.data();
- var allComponents = cc.pluginComponents;
- for (var i = 0; i < allComponents.length; i++) {
- if (allComponents[i]._id && allComponents[i].component) {
- this.components[allComponents[i]._id] = allComponents[i];
- }
- }
- this.components = Object.assign({}, this.components);
- },
- tableRowClassName: function(ob) {
- if (this.highlightedRows[ob.row.code]) {
- return "plugin-highlighted-row";
+ loadComponents: function() {
+ var cc = countlyVue.container.dataMixin({
+ 'pluginComponents': '/plugins/header'
+ });
+ cc = cc.data();
+ var allComponents = cc.pluginComponents;
+ for (var i = 0; i < allComponents.length; i++) {
+ if (allComponents[i]._id && allComponents[i].component) {
+ this.components[allComponents[i]._id] = allComponents[i];
}
- },
- formatRow: function(row) {
- row._id = row.code;
- row.name = jQuery.i18n.map[row.code + ".plugin-title"] || jQuery.i18n.map[row.code + ".title"] || row.title;
- row.desc = jQuery.i18n.map[row.code + ".plugin-description"] || jQuery.i18n.map[row.code + ".description"] || row.description;
- row.deps = Object.keys(row.dependents).map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", ");
- },
- updateStatus: function(scope) {
- this.scope = scope;
- var diff = scope.diff;
- this.changes = {};
- var self = this;
- diff.forEach(function(item) {
- self.changes[item.key] = item.newValue;
- });
- this.dialog = {
- type: "save",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-apply-changes'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins-apply-changes-to-plugins'),
- text: CV.i18n('plugins.confirm')
- };
- },
- checkProcess: function() {
- this.tryCount++;
- var self = this;
- $.ajax({
- type: "GET",
- url: countlyCommon.API_URL + "/o/plugins-check?app_id=" + countlyCommon.ACTIVE_APP_ID,
- data: { t: this.tryCount },
- success: function(state) {
- if (state.result === "completed") {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
- }
- else if (state.result === "failed") {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.errors"], jQuery.i18n.map["plugins.errors-msg"], '', 3000, false, 'warning', true);
- }
- else {
- setTimeout(self.checkProcess, 10000);
- }
- },
- error: function() {
- setTimeout(self.checkProcess, 10000);
- }
- });
- },
- togglePlugin: function(plugins) {
- this.loading = true;
- var self = this;
- this.$loading({
- lock: true,
- background: 'rgba(0, 0, 0, 0.7)'
- });
-
- countlyPlugins.toggle(plugins, function(res) {
- if (res.result === "started") {
- //self.showPluginProcessMessage(jQuery.i18n.map["plugins.processing"], jQuery.i18n.map["plugins.will-restart"], jQuery.i18n.map["plugins.please-wait"], 5000, true, 'warning', false);
- //self.checkProcess();
+ }
+ this.components = Object.assign({}, this.components);
+ },
+ tableRowClassName: function(ob) {
+ if (this.highlightedRows[ob.row.code]) {
+ return "plugin-highlighted-row";
+ }
+ },
+ formatRow: function(row) {
+ row._id = row.code;
+ row.name = jQuery.i18n.map[row.code + ".plugin-title"] || jQuery.i18n.map[row.code + ".title"] || row.title;
+ row.desc = jQuery.i18n.map[row.code + ".plugin-description"] || jQuery.i18n.map[row.code + ".description"] || row.description;
+ row.deps = Object.keys(row.dependents).map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", ");
+ },
+ updateStatus: function(scope) {
+ this.scope = scope;
+ var diff = scope.diff;
+ this.changes = {};
+ var self = this;
+ diff.forEach(function(item) {
+ self.changes[item.key] = item.newValue;
+ });
+ this.dialog = {
+ type: "save",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-apply-changes'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins-apply-changes-to-plugins'),
+ text: CV.i18n('plugins.confirm')
+ };
+ },
+ checkProcess: function() {
+ this.tryCount++;
+ var self = this;
+ $.ajax({
+ type: "GET",
+ url: countlyCommon.API_URL + "/o/plugins-check?app_id=" + countlyCommon.ACTIVE_APP_ID,
+ data: { t: this.tryCount },
+ success: function(state) {
+ if (state.result === "completed") {
self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
}
- else {
- self.showPluginProcessMessage(jQuery.i18n.map["plugins.error"], res, jQuery.i18n.map["plugins.retry"], 5000, false, 'error', true);
+ else if (state.result === "failed") {
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.errors"], jQuery.i18n.map["plugins.errors-msg"], '', 3000, false, 'warning', true);
}
- });
- },
- showPluginProcessMessage: function(title, message, info, delay, sticky, type, reload) {
- CountlyHelpers.notify({clearAll: true, type: type, title: title, message: message, info: info, delay: delay, sticky: sticky});
- if (reload) {
- setTimeout(function() {
- window.location.reload(true);
- }, 5000);
- }
- },
- submitConfirmDialog: function() {
- if (this.dialog.type === "save") {
- var msg = { title: jQuery.i18n.map["plugins.processing"], message: jQuery.i18n.map["plugins.wait"], info: jQuery.i18n.map["plugins.hold-on"], sticky: true };
- CountlyHelpers.notify(msg);
- this.togglePlugin(this.changes);
- }
- else if (this.dialog.type === "check") {
- for (var i = 0; i < this.pluginsData.length; i++) {
- if (this.curDependents.indexOf(this.pluginsData[i].code) !== -1) {
- this.scope.patch(this.pluginsData[i], {enabled: !this.curRow.enabled});
- }
+ else {
+ setTimeout(self.checkProcess, 10000);
}
+ },
+ error: function() {
+ setTimeout(self.checkProcess, 10000);
}
- this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
- },
- closeConfirmDialog: function() {
- if (this.dialog.type === "check") {
- this.scope.unpatch(this.curRow);
- }
- this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
- },
- filter: function(type) {
- this.filterValue = type;
- try {
- var self = this;
- var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
- this.pluginsData = plugins.filter(function(row) {
- self.formatRow(row);
- if (type === "enabled") {
- return row.enabled;
- }
- else if (type === "disabled") {
- return !row.enabled;
- }
- return true;
- });
+ });
+ },
+ togglePlugin: function(plugins) {
+ this.loading = true;
+ var self = this;
+ this.$loading({
+ lock: true,
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+
+ countlyPlugins.toggle(plugins, function(res) {
+ if (res.result === "started") {
+ //self.showPluginProcessMessage(jQuery.i18n.map["plugins.processing"], jQuery.i18n.map["plugins.will-restart"], jQuery.i18n.map["plugins.please-wait"], 5000, true, 'warning', false);
+ //self.checkProcess();
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.success"], jQuery.i18n.map["plugins.applying"], jQuery.i18n.map["plugins.finish"], 3000, false, 'green', true);
}
- catch (ex) {
- this.pluginsData = [];
+ else {
+ self.showPluginProcessMessage(jQuery.i18n.map["plugins.error"], res, jQuery.i18n.map["plugins.retry"], 5000, false, 'error', true);
}
- },
- onToggle: function(scope, row) {
- this.scope = scope;
- this.curRow = row;
- scope.patch(row, {enabled: !row.enabled});
- var plugin = row.code;
- var plugins = [];
- var changes = {};
- var i;
- for (i = 0; i < scope.diff.length; i++) {
- changes[scope.diff[i].key] = scope.diff[i].newValue;
+ });
+ },
+ showPluginProcessMessage: function(title, message, info, delay, sticky, type, reload) {
+ CountlyHelpers.notify({clearAll: true, type: type, title: title, message: message, info: info, delay: delay, sticky: sticky});
+ if (reload) {
+ setTimeout(function() {
+ window.location.reload(true);
+ }, 5000);
+ }
+ },
+ submitConfirmDialog: function() {
+ if (this.dialog.type === "save") {
+ var msg = { title: jQuery.i18n.map["plugins.processing"], message: jQuery.i18n.map["plugins.wait"], info: jQuery.i18n.map["plugins.hold-on"], sticky: true };
+ CountlyHelpers.notify(msg);
+ this.togglePlugin(this.changes);
+ }
+ else if (this.dialog.type === "check") {
+ for (var i = 0; i < this.pluginsData.length; i++) {
+ if (this.curDependents.indexOf(this.pluginsData[i].code) !== -1) {
+ this.scope.patch(this.pluginsData[i], {enabled: !this.curRow.enabled});
+ }
}
- for (i = 0; i < this.pluginsData.length; i++) {
- if (changes[this.pluginsData[i].code]) {
- plugins.push(this.pluginsData[i].code);
+ }
+ this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
+ },
+ closeConfirmDialog: function() {
+ if (this.dialog.type === "check") {
+ this.scope.unpatch(this.curRow);
+ }
+ this.dialog = {type: "", showDialog: false, saveButtonLabel: "", cancelButtonLabel: "", title: "", text: ""};
+ },
+ filter: function(type) {
+ this.filterValue = type;
+ try {
+ var self = this;
+ var plugins = JSON.parse(JSON.stringify(countlyPlugins.getData()));
+ this.pluginsData = plugins.filter(function(row) {
+ self.formatRow(row);
+ if (type === "enabled") {
+ return row.enabled;
}
- else if (typeof changes[this.pluginsData[i].code] === "undefined" && this.pluginsData[i].enabled) {
- plugins.push(this.pluginsData[i].code);
+ else if (type === "disabled") {
+ return !row.enabled;
}
+ return true;
+ });
+ }
+ catch (ex) {
+ this.pluginsData = [];
+ }
+ },
+ onToggle: function(scope, row) {
+ this.scope = scope;
+ this.curRow = row;
+ scope.patch(row, {enabled: !row.enabled});
+ var plugin = row.code;
+ var plugins = [];
+ var changes = {};
+ var i;
+ for (i = 0; i < scope.diff.length; i++) {
+ changes[scope.diff[i].key] = scope.diff[i].newValue;
+ }
+ for (i = 0; i < this.pluginsData.length; i++) {
+ if (changes[this.pluginsData[i].code]) {
+ plugins.push(this.pluginsData[i].code);
}
- //diff does not include currently processed plugin
- if (!row.enabled) {
- plugins.push(row.code);
+ else if (typeof changes[this.pluginsData[i].code] === "undefined" && this.pluginsData[i].enabled) {
+ plugins.push(this.pluginsData[i].code);
}
+ }
+ //diff does not include currently processed plugin
+ if (!row.enabled) {
+ plugins.push(row.code);
+ }
- var enabledDescendants = _.intersection(countlyPlugins.getRelativePlugins(plugin, "down"), plugins),
- disabledAncestors = _.difference(countlyPlugins.getRelativePlugins(plugin, "up"), plugins, ["___CLY_ROOT___"]);
+ var enabledDescendants = _.intersection(countlyPlugins.getRelativePlugins(plugin, "down"), plugins),
+ disabledAncestors = _.difference(countlyPlugins.getRelativePlugins(plugin, "up"), plugins, ["___CLY_ROOT___"]);
- if (row.enabled && enabledDescendants.length > 0) {
- this.curDependents = enabledDescendants;
- this.dialog = {
- type: "check",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins.indirect-status-change'),
- text: CV.i18n("plugins.disable-descendants", countlyPlugins.getTitle(plugin), enabledDescendants.map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", "))
- };
- }
- else if (!row.enabled && disabledAncestors.length > 0) {
- this.curDependents = disabledAncestors;
- this.dialog = {
- type: "check",
- showDialog: true,
- saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
- cancelButtonLabel: CV.i18n('common.no-dont-continue'),
- title: CV.i18n('plugins.indirect-status-change'),
- text: CV.i18n("plugins.enable-ancestors", countlyPlugins.getTitle(plugin), disabledAncestors.map(function(item) {
- return countlyPlugins.getTitle(item);
- }).join(", "))
- };
- }
+ if (row.enabled && enabledDescendants.length > 0) {
+ this.curDependents = enabledDescendants;
+ this.dialog = {
+ type: "check",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins.indirect-status-change'),
+ text: CV.i18n("plugins.disable-descendants", countlyPlugins.getTitle(plugin), enabledDescendants.map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", "))
+ };
+ }
+ else if (!row.enabled && disabledAncestors.length > 0) {
+ this.curDependents = disabledAncestors;
+ this.dialog = {
+ type: "check",
+ showDialog: true,
+ saveButtonLabel: CV.i18n('plugins.yes-i-want-to-continue'),
+ cancelButtonLabel: CV.i18n('common.no-dont-continue'),
+ title: CV.i18n('plugins.indirect-status-change'),
+ text: CV.i18n("plugins.enable-ancestors", countlyPlugins.getTitle(plugin), disabledAncestors.map(function(item) {
+ return countlyPlugins.getTitle(item);
+ }).join(", "))
+ };
}
}
- });
+ }
+ });
- var ConfigurationsView = countlyVue.views.create({
- template: CV.T('/plugins/templates/configurations.html'),
- computed: {
- selectedConfigSearchBar: {
- get: function() {
- return this.selectedConfig;
- },
- set: function(value) {
- this.selectedConfig = value;
- this.diff = [];
- this.diff_ = {};
- try {
- this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- }
- catch (ex) {
- this.configsData = {};
- }
+ var ConfigurationsView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/configurations.html'),
+ computed: {
+ selectedConfigSearchBar: {
+ get: function() {
+ return this.selectedConfig;
+ },
+ set: function(value) {
+ this.selectedConfig = value;
+ this.diff = [];
+ this.diff_ = {};
+ try {
+ this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ }
+ catch (ex) {
+ this.configsData = {};
+ }
- if (this.configsData.frontend && this.configsData.frontend._user) {
- this.configsData.frontend.__user = [];
- for (var userProp in this.configsData.frontend._user) {
- if (this.configsData.frontend._user[userProp]) {
- this.configsData.frontend.__user.push(userProp);
- }
+ if (this.configsData.frontend && this.configsData.frontend._user) {
+ this.configsData.frontend.__user = [];
+ for (var userProp in this.configsData.frontend._user) {
+ if (this.configsData.frontend._user[userProp]) {
+ this.configsData.frontend.__user.push(userProp);
}
}
- app.navigate("#/manage/configurations/" + value);
}
- },
- selectedConfigName: function() {
- return this.getLabel(this.selectedConfig);
+ app.navigate("#/manage/configurations/" + value);
}
},
- data: function() {
- return {
- back: this.$route.params.namespace === "search",
- configsData: {},
- configsList: [],
- coreDefaults: ['api', 'frontend', 'logs', 'security'],
- diff: [],
- diff_: {},
- selectedConfig: this.$route.params.namespace || "api",
- searchPlaceholder: CV.i18n("configs.search-settings"),
- predefinedLabels: app.configurationsView.predefinedLabels,
- predefinedInputs: app.configurationsView.predefinedInputs,
- predefinedStructure: app.configurationsView.predefinedStructure,
- searchQuery: this.$route.params.searchQuery || "",
- searchResultStructure: {},
- };
- },
- beforeCreate: function() {
- var self = this;
- if (this.$route.params.success) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.changed"],
- message: jQuery.i18n.map["configs.saved"]
- });
- this.$route.params.success = false;
- app.noHistory("#/manage/configurations/" + this.$route.params.namespace || "api");
- }
- return $.when(countlyPlugins.initializeConfigs())
- .then(function() {
- try {
- self.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- self.removeNonGlobalConfigs(self.configsData);
- }
- catch (error) {
- // eslint-disable-next-line no-console
- console.error(error);
- self.configsData = {};
- }
+ selectedConfigName: function() {
+ return this.getLabel(this.selectedConfig);
+ }
+ },
+ data: function() {
+ return {
+ back: this.$route.params.namespace === "search",
+ configsData: {},
+ configsList: [],
+ coreDefaults: ['api', 'frontend', 'logs', 'security'],
+ diff: [],
+ diff_: {},
+ selectedConfig: this.$route.params.namespace || "api",
+ searchPlaceholder: CV.i18n("configs.search-settings"),
+ predefinedLabels: app.configurationsView.predefinedLabels,
+ predefinedInputs: app.configurationsView.predefinedInputs,
+ predefinedStructure: app.configurationsView.predefinedStructure,
+ searchQuery: this.$route.params.searchQuery || "",
+ searchResultStructure: {},
+ };
+ },
+ beforeCreate: function() {
+ var self = this;
+ if (this.$route.params.success) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.changed"],
+ message: jQuery.i18n.map["configs.saved"]
+ });
+ this.$route.params.success = false;
+ app.noHistory("#/manage/configurations/" + this.$route.params.namespace || "api");
+ }
+ return $.when(countlyPlugins.initializeConfigs())
+ .then(function() {
+ try {
+ self.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ self.removeNonGlobalConfigs(self.configsData);
+ }
+ catch (error) {
+ // eslint-disable-next-line no-console
+ console.error(error);
+ self.configsData = {};
+ }
- if (self.configsData.frontend && self.configsData.frontend._user && !self.predefinedInputs["frontend.__user"]) {
- var list = [];
- self.configsData.frontend.__user = [];
- for (var userProp in self.configsData.frontend._user) {
- list.push({value: userProp, label: self.getLabelName(userProp, "frontend")});
- if (self.configsData.frontend._user[userProp]) {
- self.configsData.frontend.__user.push(userProp);
- }
+ if (self.configsData.frontend && self.configsData.frontend._user && !self.predefinedInputs["frontend.__user"]) {
+ var list = [];
+ self.configsData.frontend.__user = [];
+ for (var userProp in self.configsData.frontend._user) {
+ list.push({value: userProp, label: self.getLabelName(userProp, "frontend")});
+ if (self.configsData.frontend._user[userProp]) {
+ self.configsData.frontend.__user.push(userProp);
}
- app.configurationsView.registerInput("frontend.__user", {input: "el-select", attrs: {multiple: true}, list: list});
}
+ app.configurationsView.registerInput("frontend.__user", {input: "el-select", attrs: {multiple: true}, list: list});
+ }
+ self.configsList.push({
+ "label": self.getLabel("core"),
+ "group": true,
+ "value": "core"
+ });
+ self.coreDefaults.forEach(function(key) {
self.configsList.push({
- "label": self.getLabel("core"),
- "group": true,
- "value": "core"
- });
- self.coreDefaults.forEach(function(key) {
- self.configsList.push({
- "label": self.getLabel(key, true),
- "value": key
- });
- });
- self.configsList.push({
- "label": self.getLabel("plugins"),
- "group": true,
- "value": "plugins"
+ "label": self.getLabel(key, true),
+ "value": key
});
- var plugins = [];
- for (var key in self.configsData) {
- if (self.coreDefaults.indexOf(key) === -1 && countlyGlobal.plugins.indexOf(key) !== -1) {
- plugins.push(key);
+ });
+ self.configsList.push({
+ "label": self.getLabel("plugins"),
+ "group": true,
+ "value": "plugins"
+ });
+ var plugins = [];
+ for (var key in self.configsData) {
+ if (self.coreDefaults.indexOf(key) === -1 && countlyGlobal.plugins.indexOf(key) !== -1) {
+ plugins.push(key);
+ }
+ if (!self.predefinedStructure[key]) {
+ self.predefinedStructure[key] = {groups: []};
+ }
+ var otherStructure = [];
+ for (var subkey in self.configsData[key]) {
+ if (!self.predefinedInputs[key + "." + subkey]) {
+ var type = typeof self.configsData[key][subkey];
+ if (type === "string") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-input", attrs: {}});
+ }
+ else if (type === "number") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-input-number", attrs: {}});
+ }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(key + "." + subkey, {input: "el-switch", attrs: {}});
+ }
}
- if (!self.predefinedStructure[key]) {
- self.predefinedStructure[key] = {groups: []};
+ if (!self.predefinedStructure[key].groups.length) {
+ otherStructure.push(subkey);
}
- var otherStructure = [];
- for (var subkey in self.configsData[key]) {
- if (!self.predefinedInputs[key + "." + subkey]) {
- var type = typeof self.configsData[key][subkey];
- if (type === "string") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-input", attrs: {}});
- }
- else if (type === "number") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-input-number", attrs: {}});
- }
- else if (type === "boolean") {
- app.configurationsView.registerInput(key + "." + subkey, {input: "el-switch", attrs: {}});
+ else {
+ var found = false;
+ for (var i = 0; i < self.predefinedStructure[key].groups.length; i++) {
+ if (self.predefinedStructure[key].groups[i].list.indexOf(subkey) !== -1) {
+ found = true;
+ break;
}
}
- if (!self.predefinedStructure[key].groups.length) {
+ if (!found) {
otherStructure.push(subkey);
}
- else {
- var found = false;
- for (var i = 0; i < self.predefinedStructure[key].groups.length; i++) {
- if (self.predefinedStructure[key].groups[i].list.indexOf(subkey) !== -1) {
- found = true;
- break;
- }
- }
- if (!found) {
- otherStructure.push(subkey);
- }
- }
- }
- if (otherStructure.length) {
- self.predefinedStructure[key].groups.push({label: "", list: otherStructure});
}
}
- plugins.sort();
- plugins.forEach(function(k) {
- self.configsList.push({
- "label": self.getLabel(k, true),
- "value": k
- });
- });
- if (self.searchQuery !== "") {
- self.onEnterSearch();
- window.scrollTo({top: 0, behavior: "smooth"});
+ if (otherStructure.length) {
+ self.predefinedStructure[key].groups.push({label: "", list: otherStructure});
}
+ }
+ plugins.sort();
+ plugins.forEach(function(k) {
+ self.configsList.push({
+ "label": self.getLabel(k, true),
+ "value": k
+ });
});
+ if (self.searchQuery !== "") {
+ self.onEnterSearch();
+ window.scrollTo({top: 0, behavior: "smooth"});
+ }
+ });
+ },
+ updated: function() {
+ if (this.$route.params.section) {
+ this.scrollToSection(this.$route.params.section);
+ }
+ },
+ methods: {
+ removeNonGlobalConfigs: function(configData) {
+ Object.keys(configData).forEach(function(configKey) {
+ if ((configData[configKey].use_google || configData[configKey].google_maps_api_key) && configKey === 'frontend') {
+ delete configData[configKey].use_google;
+ delete configData[configKey].google_maps_api_key;
+ }
+ if (configData[configKey].rate && configKey === 'push') {
+ delete configData[configKey].rate; // Note: push notification rate is app level config only
+ }
+ if (configData[configKey].test && configKey === 'push') {
+ delete configData[configKey].test; // Note: push notification test is app level config only
+ }
+ });
},
- updated: function() {
- if (this.$route.params.section) {
- this.scrollToSection(this.$route.params.section);
+ onChange: function(key, value, config) {
+ var configsData = countlyPlugins.getConfigsData();
+
+ config = config || this.selectedConfig;
+ if (!this.diff_[config]) {
+ this.diff_[config] = [];
}
- },
- methods: {
- removeNonGlobalConfigs: function(configData) {
- Object.keys(configData).forEach(function(configKey) {
- if ((configData[configKey].use_google || configData[configKey].google_maps_api_key) && configKey === 'frontend') {
- delete configData[configKey].use_google;
- delete configData[configKey].google_maps_api_key;
- }
- if (configData[configKey].rate && configKey === 'push') {
- delete configData[configKey].rate; // Note: push notification rate is app level config only
- }
- if (configData[configKey].test && configKey === 'push') {
- delete configData[configKey].test; // Note: push notification test is app level config only
- }
- });
- },
- onChange: function(key, value, config) {
- var configsData = countlyPlugins.getConfigsData();
- config = config || this.selectedConfig;
- if (!this.diff_[config]) {
- this.diff_[config] = [];
- }
+ //delete value from diff if it already exists
+ var index = this.diff.indexOf(key);
+ if (index > -1) {
+ this.diff.splice(index, 1);
+ index = this.diff_[config].indexOf(key);
+ this.diff_[config].splice(index, 1);
+ }
- //delete value from diff if it already exists
- var index = this.diff.indexOf(key);
+ this.configsData[config][key] = value;
+ //when user disables country data tracking while city data tracking is enabled
+ if (key === "country_data" && value === false && this.configsData[config].city_data === true) {
+ //disable city data tracking
+ this.configsData[config].city_data = false;
+ //if city data tracking was originally enabled, note the change
+ index = this.diff.indexOf("city_data");
if (index > -1) {
this.diff.splice(index, 1);
- index = this.diff_[config].indexOf(key);
+ index = this.diff_[config].indexOf("city_data");
this.diff_[config].splice(index, 1);
}
-
- this.configsData[config][key] = value;
- //when user disables country data tracking while city data tracking is enabled
- if (key === "country_data" && value === false && this.configsData[config].city_data === true) {
- //disable city data tracking
- this.configsData[config].city_data = false;
- //if city data tracking was originally enabled, note the change
- index = this.diff.indexOf("city_data");
- if (index > -1) {
- this.diff.splice(index, 1);
- index = this.diff_[config].indexOf("city_data");
- this.diff_[config].splice(index, 1);
- }
- if (configsData[config].city_data === true) {
- this.diff.push("city_data");
- this.diff_[config].push("city_data");
- }
+ if (configsData[config].city_data === true) {
+ this.diff.push("city_data");
+ this.diff_[config].push("city_data");
}
- //when user enables city data tracking while country data tracking is disabled
- if (key === "city_data" && value === true && this.configsData[config].country_data === false) {
- //enable country data tracking
- this.configsData[config].country_data = true;
- //if country data tracking was originally disabled, note the change
- index = this.diff.indexOf("country_data");
- if (index > -1) {
- this.diff.splice(index, 1);
- index = this.diff_[config].indexOf("country_data");
- this.diff_[config].splice(index, 1);
- }
- if (configsData[config].country_data === false) {
- this.diff.push("country_data");
- this.diff_[config].push("country_data");
- }
+ }
+ //when user enables city data tracking while country data tracking is disabled
+ if (key === "city_data" && value === true && this.configsData[config].country_data === false) {
+ //enable country data tracking
+ this.configsData[config].country_data = true;
+ //if country data tracking was originally disabled, note the change
+ index = this.diff.indexOf("country_data");
+ if (index > -1) {
+ this.diff.splice(index, 1);
+ index = this.diff_[config].indexOf("country_data");
+ this.diff_[config].splice(index, 1);
+ }
+ if (configsData[config].country_data === false) {
+ this.diff.push("country_data");
+ this.diff_[config].push("country_data");
}
+ }
- if (Array.isArray(value) && Array.isArray(configsData[config][key])) {
- value.sort();
- configsData[config][key].sort();
+ if (Array.isArray(value) && Array.isArray(configsData[config][key])) {
+ value.sort();
+ configsData[config][key].sort();
- if (JSON.stringify(value) !== JSON.stringify(configsData[config][key])) {
- this.diff.push(key);
- this.diff_[config].push(key);
- }
- }
- else if (configsData[config][key] !== value) {
+ if (JSON.stringify(value) !== JSON.stringify(configsData[config][key])) {
this.diff.push(key);
this.diff_[config].push(key);
}
- },
- getLabel: function(id) {
- return app.configurationsView.getInputLabel(id);
- },
- getLabelName: function(id, ns) {
- ns = ns || this.selectedConfig;
- if (ns !== "frontend" && ns !== "api" && ns !== "apps" && ns !== "logs" && ns !== "security" && countlyGlobal.plugins.indexOf(ns) === -1) {
- return null;
- }
+ }
+ else if (configsData[config][key] !== value) {
+ this.diff.push(key);
+ this.diff_[config].push(key);
+ }
+ },
+ getLabel: function(id) {
+ return app.configurationsView.getInputLabel(id);
+ },
+ getLabelName: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ if (ns !== "frontend" && ns !== "api" && ns !== "apps" && ns !== "logs" && ns !== "security" && countlyGlobal.plugins.indexOf(ns) === -1) {
+ return null;
+ }
- if (id === "__user") {
- return jQuery.i18n.map["configs.user-level-configuration"];
- }
+ if (id === "__user") {
+ return jQuery.i18n.map["configs.user-level-configuration"];
+ }
- return app.configurationsView.getInputLabel(ns + "." + id);
- },
- getHelperLabel: function(id, ns) {
- ns = ns || this.selectedConfig;
- return app.configurationsView.getHelperLabel(id, ns);
- },
- getInputType: function(id, configId) {
- configId = configId || this.selectedConfig;
- return app.configurationsView.getInputType(configId + "." + id);
- },
- getConfigType: function(id) {
- return this.coreDefaults.includes(id) ? "Core" : "Plugins";
- },
- checkIfOverwritten: function(id, ns) {
- ns = ns || this.selectedConfig;
- var configsData = countlyPlugins.getConfigsData();
- var plugs = countlyGlobal.apps[countlyCommon.ACTIVE_APP_ID].plugins;
- //check if value can be overwritten on user level
- if (configsData[ns]._user && configsData[ns]._user[id]) {
- //check if value is overwritten on user level
- var sets = countlyGlobal.member.settings;
- if (sets && sets[ns] && typeof sets[ns][id] !== "undefined") {
- return {label: jQuery.i18n.map["configs.overwritten.user"], href: "#/account-settings"};
- }
- }
- //check if config overwritten on app level
- else if (plugs && plugs[ns] && typeof plugs[ns][id] !== "undefined") {
- return {label: jQuery.i18n.map["configs.overwritten.app"], href: "#/manage/apps"};
- }
- },
- unpatch: function() {
- try {
- this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
- }
- catch (ex) {
- this.configsData = {};
+ return app.configurationsView.getInputLabel(ns + "." + id);
+ },
+ getHelperLabel: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ return app.configurationsView.getHelperLabel(id, ns);
+ },
+ getInputType: function(id, configId) {
+ configId = configId || this.selectedConfig;
+ return app.configurationsView.getInputType(configId + "." + id);
+ },
+ getConfigType: function(id) {
+ return this.coreDefaults.includes(id) ? "Core" : "Plugins";
+ },
+ checkIfOverwritten: function(id, ns) {
+ ns = ns || this.selectedConfig;
+ var configsData = countlyPlugins.getConfigsData();
+ var plugs = countlyGlobal.apps[countlyCommon.ACTIVE_APP_ID].plugins;
+ //check if value can be overwritten on user level
+ if (configsData[ns]._user && configsData[ns]._user[id]) {
+ //check if value is overwritten on user level
+ var sets = countlyGlobal.member.settings;
+ if (sets && sets[ns] && typeof sets[ns][id] !== "undefined") {
+ return {label: jQuery.i18n.map["configs.overwritten.user"], href: "#/account-settings"};
}
- this.diff = [];
- this.diff_ = {};
- if (this.configsData.frontend && this.configsData.frontend._user) {
- this.configsData.frontend.__user = [];
- for (var userProp in this.configsData.frontend._user) {
- if (this.configsData.frontend._user[userProp]) {
- this.configsData.frontend.__user.push(userProp);
- }
+ }
+ //check if config overwritten on app level
+ else if (plugs && plugs[ns] && typeof plugs[ns][id] !== "undefined") {
+ return {label: jQuery.i18n.map["configs.overwritten.app"], href: "#/manage/apps"};
+ }
+ },
+ unpatch: function() {
+ try {
+ this.configsData = JSON.parse(JSON.stringify(countlyPlugins.getConfigsData()));
+ }
+ catch (ex) {
+ this.configsData = {};
+ }
+ this.diff = [];
+ this.diff_ = {};
+ if (this.configsData.frontend && this.configsData.frontend._user) {
+ this.configsData.frontend.__user = [];
+ for (var userProp in this.configsData.frontend._user) {
+ if (this.configsData.frontend._user[userProp]) {
+ this.configsData.frontend.__user.push(userProp);
}
}
- },
- save: function() {
- var changes = {};
- var self = this;
- for (var i = 0; i < Object.keys(self.diff_).length; i++) {
- var config = Object.keys(self.diff_)[i];
- changes[config] = {};
- for (var j = 0; j < self.diff_[config].length; j++) {
- if (self.diff_[config][j] === "__user") {
- if (!changes[config]._user) {
- changes[config]._user = {};
+ }
+ },
+ save: function() {
+ var changes = {};
+ var self = this;
+ for (var i = 0; i < Object.keys(self.diff_).length; i++) {
+ var config = Object.keys(self.diff_)[i];
+ changes[config] = {};
+ for (var j = 0; j < self.diff_[config].length; j++) {
+ if (self.diff_[config][j] === "__user") {
+ if (!changes[config]._user) {
+ changes[config]._user = {};
+ }
+ for (var userProp in self.configsData[config]._user) {
+ if (self.configsData[config][self.diff_[config][j]].indexOf(userProp) === -1) {
+ changes[config]._user[userProp] = false;
}
- for (var userProp in self.configsData[config]._user) {
- if (self.configsData[config][self.diff_[config][j]].indexOf(userProp) === -1) {
- changes[config]._user[userProp] = false;
- }
- else {
- changes[config]._user[userProp] = true;
- }
+ else {
+ changes[config]._user[userProp] = true;
}
}
- else {
- changes[config][self.diff_[config][j]] = self.configsData[config][self.diff_[config][j]];
- }
+ }
+ else {
+ changes[config][self.diff_[config][j]] = self.configsData[config][self.diff_[config][j]];
}
}
- countlyPlugins.updateConfigs(changes, function(err) {
- if (err) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
- type: "error"
- });
+ }
+ countlyPlugins.updateConfigs(changes, function(err) {
+ if (err) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.not-changed"],
+ type: "error"
+ });
+ }
+ else {
+ if (self.back) {
+ location.hash += "/success";
}
else {
- if (self.back) {
- location.hash += "/success";
- }
- else {
- location.hash = "#/manage/configurations/" + self.selectedConfig + "/success";
- }
- window.location.reload(true);
+ location.hash = "#/manage/configurations/" + self.selectedConfig + "/success";
}
- });
- },
- onFocus: function() {
- if (this.searchQuery === "") {
- this.back = true;
- this.selectedConfigSearchBar = "search";
+ window.location.reload(true);
}
- },
- onEnterSearch: function() {
- var self = this;
- self.unpatch();
- var res = {};
- if (self.searchQuery && self.searchQuery !== "") {
- self.searchQuery = self.searchQuery.toLowerCase();
- for (var config in self.predefinedStructure) {
- if (config.toLowerCase().includes(self.searchQuery) && CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
- res[config] = self.predefinedStructure[config];
- }
- else {
- let groups = [];
- // eslint-disable-next-line no-loop-func
- self.predefinedStructure[config].groups.map(function(group) {
- if (CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
- if (group.label && CV.i18n(group.label).toLowerCase().includes(self.searchQuery)) {
- groups.push(group);
- }
- else {
- let list = group.list.filter(function(item) {
- let label = self.getLabelName(item, config) || "";
- let helper = self.getHelperLabel(item, config) || "";
- return label.toLowerCase().includes(self.searchQuery)
- || helper.toLowerCase().includes(self.searchQuery);
- });
- if (list.length > 0) {
- let tmp = group;
- tmp.list = list;
- groups.push(tmp);
- }
+ });
+ },
+ onFocus: function() {
+ if (this.searchQuery === "") {
+ this.back = true;
+ this.selectedConfigSearchBar = "search";
+ }
+ },
+ onEnterSearch: function() {
+ var self = this;
+ self.unpatch();
+ var res = {};
+ if (self.searchQuery && self.searchQuery !== "") {
+ self.searchQuery = self.searchQuery.toLowerCase();
+ for (var config in self.predefinedStructure) {
+ if (config.toLowerCase().includes(self.searchQuery) && CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
+ res[config] = self.predefinedStructure[config];
+ }
+ else {
+ let groups = [];
+ // eslint-disable-next-line no-loop-func
+ self.predefinedStructure[config].groups.map(function(group) {
+ if (CountlyHelpers.isPluginEnabled(config.toLowerCase())) {
+ if (group.label && CV.i18n(group.label).toLowerCase().includes(self.searchQuery)) {
+ groups.push(group);
+ }
+ else {
+ let list = group.list.filter(function(item) {
+ let label = self.getLabelName(item, config) || "";
+ let helper = self.getHelperLabel(item, config) || "";
+ return label.toLowerCase().includes(self.searchQuery)
+ || helper.toLowerCase().includes(self.searchQuery);
+ });
+ if (list.length > 0) {
+ let tmp = group;
+ tmp.list = list;
+ groups.push(tmp);
}
}
- });
- if (groups.length > 0) {
- res[config] = {groups};
}
+ });
+ if (groups.length > 0) {
+ res[config] = {groups};
}
}
- if (Object.keys(res).length === 0) {
- res.empty = true;
- }
- self.searchResultStructure = res;
- app.navigate("#/manage/configurations/search/" + self.searchQuery);
}
- else {
- self.searchResultStructure = {};
+ if (Object.keys(res).length === 0) {
+ res.empty = true;
}
- },
- redirectToConfig: function(config, section) {
- return section
- ? "#/manage/configurations/" + config + "#" + section + ""
- : "#/manage/configurations/" + config + "";
- },
- scrollToSection: function(id) {
- let element = document.getElementById(id);
- element.scrollIntoView({behavior: "smooth"});
- },
- clearSearch: function() {
- this.searchQuery = "";
- //this.searchResultStructure = {};
+ self.searchResultStructure = res;
+ app.navigate("#/manage/configurations/search/" + self.searchQuery);
}
+ else {
+ self.searchResultStructure = {};
+ }
+ },
+ redirectToConfig: function(config, section) {
+ return section
+ ? "#/manage/configurations/" + config + "#" + section + ""
+ : "#/manage/configurations/" + config + "";
+ },
+ scrollToSection: function(id) {
+ let element = document.getElementById(id);
+ element.scrollIntoView({behavior: "smooth"});
+ },
+ clearSearch: function() {
+ this.searchQuery = "";
+ //this.searchResultStructure = {};
}
- });
+ }
+ });
- var AccountView = countlyVue.views.create({
- template: CV.T('/plugins/templates/account-settings.html'),
- data: function() {
- return {
- uploadData: {
- _csrf: countlyGlobal.csrf_token,
- member_image_id: countlyGlobal.member._id
- },
- changes: {},
- deleteAccount: {
- showDialog: false,
- title: CV.i18n("configs.delete-account"),
- saveButtonLabel: CV.i18n("configs.delete-my-account"),
- cancelButtonLabel: CV.i18n("configs.cancel"),
- password: ""
- },
- changePassword: {
- showDialog: this.$route.params && this.$route.params.reset || false,
- title: CV.i18n("configs.change-password"),
- saveButtonLabel: CV.i18n("configs.change-password"),
- cancelButtonLabel: CV.i18n("configs.cancel"),
- password: "",
- newPassword: "",
- confirmPassword: ""
- },
- noaccess: this.$route.params && this.$route.params.noaccess || false,
- components: {},
- formId: "account-settings-form",
- userData: countlyGlobal.member,
- userConfigs: {},
- avatar: this.setDefaultAvatar(countlyGlobal.member.member_image),
- initials: this.updateInitials(countlyGlobal.member.full_name),
- predefinedLabels: app.configurationsView.predefinedLabels,
- predefinedInputs: app.configurationsView.predefinedInputs,
- selectedConfig: "frontend",
- security: countlyGlobal.security
- };
- },
- beforeCreate: function() {
- var self = this;
- return $.when(countlyPlugins.initializeUserConfigs())
- .then(function() {
- try {
- self.userConfigs = JSON.parse(JSON.stringify(countlyPlugins.getUserConfigsData()));
- }
- catch (ex) {
- self.userConfigs = {};
+ var AccountView = countlyVue.views.create({
+ template: CV.T('/plugins/templates/account-settings.html'),
+ data: function() {
+ return {
+ uploadData: {
+ _csrf: countlyGlobal.csrf_token,
+ member_image_id: countlyGlobal.member._id
+ },
+ changes: {},
+ deleteAccount: {
+ showDialog: false,
+ title: CV.i18n("configs.delete-account"),
+ saveButtonLabel: CV.i18n("configs.delete-my-account"),
+ cancelButtonLabel: CV.i18n("configs.cancel"),
+ password: ""
+ },
+ changePassword: {
+ showDialog: this.$route.params && this.$route.params.reset || false,
+ title: CV.i18n("configs.change-password"),
+ saveButtonLabel: CV.i18n("configs.change-password"),
+ cancelButtonLabel: CV.i18n("configs.cancel"),
+ password: "",
+ newPassword: "",
+ confirmPassword: ""
+ },
+ noaccess: this.$route.params && this.$route.params.noaccess || false,
+ components: {},
+ formId: "account-settings-form",
+ userData: countlyGlobal.member,
+ userConfigs: {},
+ avatar: this.setDefaultAvatar(countlyGlobal.member.member_image),
+ initials: this.updateInitials(countlyGlobal.member.full_name),
+ predefinedLabels: app.configurationsView.predefinedLabels,
+ predefinedInputs: app.configurationsView.predefinedInputs,
+ selectedConfig: "frontend",
+ security: countlyGlobal.security
+ };
+ },
+ beforeCreate: function() {
+ var self = this;
+ return $.when(countlyPlugins.initializeUserConfigs())
+ .then(function() {
+ try {
+ self.userConfigs = JSON.parse(JSON.stringify(countlyPlugins.getUserConfigsData()));
+ }
+ catch (ex) {
+ self.userConfigs = {};
+ }
+ if (!self.userConfigs.frontend) {
+ self.userConfigs.frontend = {};
+ }
+ for (var key in app.configurationsView.predefinedUserInputs) {
+ var parts = key.split(".");
+ var val = app.configurationsView.predefinedUserInputs[key];
+ if (!self.userConfigs[parts[0]]) {
+ self.userConfigs[parts[0]] = {};
}
- if (!self.userConfigs.frontend) {
- self.userConfigs.frontend = {};
+ if (parts[1]) {
+ self.userConfigs[parts[0]][parts[1]] = typeof val === "function" ? val() : val;
}
- for (var key in app.configurationsView.predefinedUserInputs) {
- var parts = key.split(".");
- var val = app.configurationsView.predefinedUserInputs[key];
- if (!self.userConfigs[parts[0]]) {
- self.userConfigs[parts[0]] = {};
+ }
+ for (var subkey in self.userConfigs[self.selectedConfig]) {
+ if (!self.predefinedInputs[self.selectedConfig + "." + subkey]) {
+ var type = typeof self.userConfigs[self.selectedConfig][subkey];
+ if (type === "string") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input", attrs: {}});
}
- if (parts[1]) {
- self.userConfigs[parts[0]][parts[1]] = typeof val === "function" ? val() : val;
+ else if (type === "number") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input-number", attrs: {}});
}
- }
- for (var subkey in self.userConfigs[self.selectedConfig]) {
- if (!self.predefinedInputs[self.selectedConfig + "." + subkey]) {
- var type = typeof self.userConfigs[self.selectedConfig][subkey];
- if (type === "string") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input", attrs: {}});
- }
- else if (type === "number") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-input-number", attrs: {}});
- }
- else if (type === "boolean") {
- app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-switch", attrs: {}});
- }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(self.selectedConfig + "." + subkey, {input: "el-switch", attrs: {}});
}
}
- self.loadComponents();
- });
- },
- methods: {
- onChange: function(id, key, value) {
- if (!this.changes[id]) {
- this.changes[id] = {};
}
+ self.loadComponents();
+ });
+ },
+ methods: {
+ onChange: function(id, key, value) {
+ if (!this.changes[id]) {
+ this.changes[id] = {};
+ }
- this.changes[id][key] = value;
-
- var configsData = countlyPlugins.getUserConfigsData();
+ this.changes[id][key] = value;
- if (!this.changes[id]) {
- this.changes[id] = {};
- }
+ var configsData = countlyPlugins.getUserConfigsData();
- //delete value from diff if it already exists
- delete this.changes[id][key];
+ if (!this.changes[id]) {
+ this.changes[id] = {};
+ }
- this.userConfigs[id][key] = value;
+ //delete value from diff if it already exists
+ delete this.changes[id][key];
- if (Array.isArray(value) && Array.isArray(configsData[id][key])) {
- value.sort();
- configsData[id][key].sort();
- if (JSON.stringify(value) !== JSON.stringify(configsData[id][key])) {
- this.changes[id][key] = value;
- }
+ this.userConfigs[id][key] = value;
- }
- else if (configsData[id][key] !== value) {
+ if (Array.isArray(value) && Array.isArray(configsData[id][key])) {
+ value.sort();
+ configsData[id][key].sort();
+ if (JSON.stringify(value) !== JSON.stringify(configsData[id][key])) {
this.changes[id][key] = value;
}
- },
- passwordDialog: function() {
- var old_pwd = this.changePassword.password;
- var new_pwd = this.changePassword.newPassword;
- var re_new_pwd = this.changePassword.confirmPassword;
- if (old_pwd.length > 0 && new_pwd.length > 0 && re_new_pwd.length > 0) {
- var data = {
- _csrf: countlyGlobal.csrf_token,
- username: countlyGlobal.member.username,
- full_name: countlyGlobal.member.full_name,
- api_key: countlyGlobal.member.api_key,
- old_pwd: old_pwd,
- new_pwd: new_pwd,
- re_new_pwd: re_new_pwd
- };
- this.saveSettings(data);
- }
- else {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.fill-required-fields"],
- type: "error"
- });
- }
- },
- submitDeleteDialog: function() {
- var pv = this.deleteAccount.password.trim();
- if (pv === "") {
- var msg1 = {title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings.password-mandatory"], clearAll: true, type: "error"};
- CountlyHelpers.notify(msg1);
- }
- else {
- countlyPlugins.deleteAccount({password: pv}, function(err, msg) {
- if (msg === true || msg === 'true') {
- window.location = "/login"; //deleted. go to login
- }
- else if (msg === 'password not valid' || msg === 'password mandatory' || msg === 'global admin limit') {
- CountlyHelpers.notify({title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings." + msg], sticky: true, clearAll: true, type: "error"});
- }
- else if (err === true) {
- var msg2 = {title: jQuery.i18n.map["common.error"], message: msg, sticky: true, clearAll: true, type: "error"};
- CountlyHelpers.notify(msg2);
- }
- });
- }
- },
- getLabelName: function(id, key) {
- return app.configurationsView.getInputLabel(id + "." + key);
- },
- getInputType: function(id, key) {
- return app.configurationsView.getInputType(id + "." + key);
- },
- save: function(doc) {
+ }
+ else if (configsData[id][key] !== value) {
+ this.changes[id][key] = value;
+ }
+ },
+ passwordDialog: function() {
+ var old_pwd = this.changePassword.password;
+ var new_pwd = this.changePassword.newPassword;
+ var re_new_pwd = this.changePassword.confirmPassword;
+
+ if (old_pwd.length > 0 && new_pwd.length > 0 && re_new_pwd.length > 0) {
var data = {
_csrf: countlyGlobal.csrf_token,
- username: doc.username,
- full_name: doc.full_name,
- api_key: doc.api_key
+ username: countlyGlobal.member.username,
+ full_name: countlyGlobal.member.full_name,
+ api_key: countlyGlobal.member.api_key,
+ old_pwd: old_pwd,
+ new_pwd: new_pwd,
+ re_new_pwd: re_new_pwd
};
this.saveSettings(data);
- },
- saveSettings: function(doc) {
- var self = this;
- $.ajax({
- type: "POST",
- url: countlyGlobal.path + "/user/settings",
- data: doc,
- success: function(result) {
- if (result === "username-exists") {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["management-users.username.exists"],
- type: "error"
- });
- return true;
+ }
+ else {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.fill-required-fields"],
+ type: "error"
+ });
+ }
+ },
+ submitDeleteDialog: function() {
+ var pv = this.deleteAccount.password.trim();
+ if (pv === "") {
+ var msg1 = {title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings.password-mandatory"], clearAll: true, type: "error"};
+ CountlyHelpers.notify(msg1);
+ }
+ else {
+ countlyPlugins.deleteAccount({password: pv}, function(err, msg) {
+ if (msg === true || msg === 'true') {
+ window.location = "/login"; //deleted. go to login
+ }
+ else if (msg === 'password not valid' || msg === 'password mandatory' || msg === 'global admin limit') {
+ CountlyHelpers.notify({title: jQuery.i18n.map["common.error"], message: jQuery.i18n.map["user-settings." + msg], sticky: true, clearAll: true, type: "error"});
+ }
+ else if (err === true) {
+ var msg2 = {title: jQuery.i18n.map["common.error"], message: msg, sticky: true, clearAll: true, type: "error"};
+ CountlyHelpers.notify(msg2);
+ }
+ });
+ }
+ },
+ getLabelName: function(id, key) {
+ return app.configurationsView.getInputLabel(id + "." + key);
+ },
+ getInputType: function(id, key) {
+ return app.configurationsView.getInputType(id + "." + key);
+ },
+ save: function(doc) {
+ var data = {
+ _csrf: countlyGlobal.csrf_token,
+ username: doc.username,
+ full_name: doc.full_name,
+ api_key: doc.api_key
+ };
+ this.saveSettings(data);
+ },
+ saveSettings: function(doc) {
+ var self = this;
+ $.ajax({
+ type: "POST",
+ url: countlyGlobal.path + "/user/settings",
+ data: doc,
+ success: function(result) {
+ if (result === "username-exists") {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["management-users.username.exists"],
+ type: "error"
+ });
+ return true;
+ }
+ else if (!result) {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["user-settings.alert"],
+ type: "error"
+ });
+ return true;
+ }
+ else {
+ if (!isNaN(parseInt(result))) {
+ countlyGlobal.member.password_changed = parseInt(result);
}
- else if (!result) {
+ else if (typeof result === "string") {
CountlyHelpers.notify({
title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["user-settings.alert"],
+ message: jQuery.i18n.map[result],
type: "error"
});
return true;
}
- else {
- if (!isNaN(parseInt(result))) {
- countlyGlobal.member.password_changed = parseInt(result);
- }
- else if (typeof result === "string") {
+
+ countlyGlobal.member.full_name = doc.full_name;
+ countlyGlobal.member.username = doc.username;
+ countlyGlobal.member.api_key = doc.api_key;
+ }
+ if (Object.keys(self.changes).length) {
+ countlyPlugins.updateUserConfigs(self.changes, function(err) {
+ if (err) {
CountlyHelpers.notify({
title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map[result],
+ message: jQuery.i18n.map["configs.not-changed"],
type: "error"
});
- return true;
}
-
- countlyGlobal.member.full_name = doc.full_name;
- countlyGlobal.member.username = doc.username;
- countlyGlobal.member.api_key = doc.api_key;
- }
- if (Object.keys(self.changes).length) {
- countlyPlugins.updateUserConfigs(self.changes, function(err) {
- if (err) {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
- type: "error"
- });
- }
- else {
- window.location.reload(true);
- }
- });
- }
- else {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.changed"],
- message: jQuery.i18n.map["configs.saved"]
- });
- }
- },
- error: function() {
- CountlyHelpers.notify({
- title: jQuery.i18n.map["configs.not-saved"],
- message: jQuery.i18n.map["configs.not-changed"],
- type: "error"
+ else {
+ window.location.reload(true);
+ }
});
}
- });
- },
- handleAvatarSuccess: function(url) {
- countlyGlobal.member.member_image = url;
- this.avatar = this.setDefaultAvatar(countlyGlobal.member.member_image);
- this.updateGlobalObject();
- },
- nameChanged: function(val) {
- this.initials = this.updateInitials(val);
- this.updateGlobalObject();
- },
- updateInitials: function(full_name) {
- var name = (full_name || "").trim().split(" ");
- if (name.length === 1) {
- return name[0][0] || "";
- }
- return (name[0][0] || "") + (name[name.length - 1][0] || "");
- },
- updateGlobalObject: function() {
- var userImage = {};
- var member = countlyGlobal.member;
- if (member.member_image) {
- userImage.url = member.member_image;
- userImage.found = true;
- }
- else {
- var defaultAvatarSelector = (member.created_at || Date.now()) % 10 * -60;
- userImage.found = false;
- userImage.url = "images/avatar-sprite.png?v2";
- userImage.position = defaultAvatarSelector;
- userImage.initials = this.initials;
- }
-
- member.image = userImage;
- },
- deleteAvatar: function() {
- var self = this;
- $.ajax({
- type: "POST",
- url: countlyCommon.API_URL + "/user/settings",
- data: {
- username: countlyGlobal.member.username,
- api_key: countlyGlobal.member.api_key,
- member_image: "delete",
- _csrf: countlyGlobal.csrf_token
- },
- success: function() {
- countlyGlobal.member.member_image = "";
- self.avatar = self.setDefaultAvatar(countlyGlobal.member.member_image);
- self.updateGlobalObject();
- },
- error: function() {
- CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.delete_avatar_failed']});
- }
- });
- },
- setDefaultAvatar: function(image) {
- if (image) {
- return {'background-image': 'url("' + image + '?' + Date.now() + '")', "background-repeat": "no-repeat", "background-size": "auto 100px"};
- }
- else {
- var defaultAvatarSelector = (countlyGlobal.member.created_at || Date.now()) % 10 * -100;
- return {'background-image': 'url("images/avatar-sprite.png?v2")', 'background-position': defaultAvatarSelector + 'px', 'background-size': 'auto 100px'};
- }
- },
- loadComponents: function() {
- var cc = countlyVue.container.dataMixin({
- 'accountSettingsComponents': '/account/settings'
- });
- cc = cc.data();
- var allComponents = cc.accountSettingsComponents;
- for (var i = 0; i < allComponents.length; i++) {
- if (allComponents[i]._id && allComponents[i].title && allComponents[i].component) {
- this.components[allComponents[i]._id] = allComponents[i];
+ else {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.changed"],
+ message: jQuery.i18n.map["configs.saved"]
+ });
}
+ },
+ error: function() {
+ CountlyHelpers.notify({
+ title: jQuery.i18n.map["configs.not-saved"],
+ message: jQuery.i18n.map["configs.not-changed"],
+ type: "error"
+ });
}
- }
- }
- });
-
- var getPluginView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: PluginsView,
- vuex: [] //empty array if none
- });
- };
-
- var getConfigView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: ConfigurationsView,
- vuex: [] //empty array if none
- });
- };
-
- var getAccountView = function() {
- return new countlyVue.views.BackboneWrapper({
- component: AccountView,
- vuex: [] //empty array if none
- });
- };
-
- //old global handler
- app.configurationsView = {
- predefinedInputs: {},
- predefinedLabels: {},
- predefinedStructure: {},
- predefinedUserInputs: {},
- registerInput: function(id, callback) {
- this.predefinedInputs[id] = callback;
- },
- registerLabel: function(id, html) {
- this.predefinedLabels[id] = html;
+ });
},
- registerStructure: function(id, obj) {
- this.predefinedStructure[id] = obj;
+ handleAvatarSuccess: function(url) {
+ countlyGlobal.member.member_image = url;
+ this.avatar = this.setDefaultAvatar(countlyGlobal.member.member_image);
+ this.updateGlobalObject();
},
- registerUserInput: function(id, getVal) {
- this.predefinedUserInputs[id] = getVal;
+ nameChanged: function(val) {
+ this.initials = this.updateInitials(val);
+ this.updateGlobalObject();
},
- getInputLabel: function(id) {
- if (typeof this.predefinedLabels[id] !== "undefined") {
- return jQuery.i18n.map[this.predefinedLabels[id]] || this.predefinedLabels[id];
- }
- else if (jQuery.i18n.map[id + ".title"]) {
- return jQuery.i18n.map[id + ".title"];
- }
- else if (jQuery.i18n.map[id + ".plugin-title"]) {
- return jQuery.i18n.map[id + ".plugin-title"];
- }
- else if (jQuery.i18n.map["configs." + id]) {
- return jQuery.i18n.map["configs." + id];
- }
- else if (jQuery.i18n.map["configs." + (id).replace(".", "-")]) {
- return jQuery.i18n.map["configs." + (id).replace(".", "-")];
+ updateInitials: function(full_name) {
+ var name = (full_name || "").trim().split(" ");
+ if (name.length === 1) {
+ return name[0][0] || "";
}
- else if (jQuery.i18n.map[id]) {
- return jQuery.i18n.map[id];
- }
- else if (jQuery.i18n.map[(id).replace(".", "-")]) {
- return jQuery.i18n.map[(id).replace(".", "-")];
+ return (name[0][0] || "") + (name[name.length - 1][0] || "");
+ },
+ updateGlobalObject: function() {
+ var userImage = {};
+ var member = countlyGlobal.member;
+ if (member.member_image) {
+ userImage.url = member.member_image;
+ userImage.found = true;
}
else {
- return id;
+ var defaultAvatarSelector = (member.created_at || Date.now()) % 10 * -60;
+ userImage.found = false;
+ userImage.url = "images/avatar-sprite.png?v2";
+ userImage.position = defaultAvatarSelector;
+ userImage.initials = this.initials;
}
+
+ member.image = userImage;
},
- getHelperLabel: function(id, ns) {
- if (id === "__user") {
- return jQuery.i18n.map["configs.help.user-level-configuration"];
- }
- else if (jQuery.i18n.map["configs.help." + ns + "." + id]) {
- return jQuery.i18n.map["configs.help." + ns + "." + id];
- }
- else if (jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")]) {
- return jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")];
+ deleteAvatar: function() {
+ var self = this;
+ $.ajax({
+ type: "POST",
+ url: countlyCommon.API_URL + "/user/settings",
+ data: {
+ username: countlyGlobal.member.username,
+ api_key: countlyGlobal.member.api_key,
+ member_image: "delete",
+ _csrf: countlyGlobal.csrf_token
+ },
+ success: function() {
+ countlyGlobal.member.member_image = "";
+ self.avatar = self.setDefaultAvatar(countlyGlobal.member.member_image);
+ self.updateGlobalObject();
+ },
+ error: function() {
+ CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.delete_avatar_failed']});
+ }
+ });
+ },
+ setDefaultAvatar: function(image) {
+ if (image) {
+ return {'background-image': 'url("' + image + '?' + Date.now() + '")', "background-repeat": "no-repeat", "background-size": "auto 100px"};
}
- else if (this.predefinedInputs[ns + "." + id] && this.predefinedInputs[ns + "." + id].helper) {
- return jQuery.i18n.map[this.predefinedInputs[ns + "." + id].helper] || this.predefinedInputs[ns + "." + id].helper;
+ else {
+ var defaultAvatarSelector = (countlyGlobal.member.created_at || Date.now()) % 10 * -100;
+ return {'background-image': 'url("images/avatar-sprite.png?v2")', 'background-position': defaultAvatarSelector + 'px', 'background-size': 'auto 100px'};
}
},
- getInputType: function(id) {
- var input = this.predefinedInputs[id];
- if (typeof input === "function") {
- return "function";
- }
- if (input && input.input) {
- return input.input;
+ loadComponents: function() {
+ var cc = countlyVue.container.dataMixin({
+ 'accountSettingsComponents': '/account/settings'
+ });
+ cc = cc.data();
+ var allComponents = cc.accountSettingsComponents;
+ for (var i = 0; i < allComponents.length; i++) {
+ if (allComponents[i]._id && allComponents[i].title && allComponents[i].component) {
+ this.components[allComponents[i]._id] = allComponents[i];
+ }
}
}
- };
-
- //register inputs
- var zones = app.manageAppsView.getTimeZones();
- var countryList = [];
- for (var z in zones) {
- countryList.push({value: z, label: zones[z].n});
}
- app.configurationsView.registerInput("apps.country", {input: "el-select", attrs: {}, list: countryList});
+ });
- app.configurationsView.registerInput("logs.default", {
- input: "el-select",
- attrs: {},
- list: [
- {value: 'debug', label: CV.i18n("configs.logs.debug")},
- {value: 'info', label: CV.i18n("configs.logs.info")},
- {value: 'warn', label: CV.i18n("configs.logs.warn")},
- {value: 'error', label: CV.i18n("configs.logs.error")}
- ]
+ var getPluginView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: PluginsView,
+ vuex: [] //empty array if none
});
+ };
- app.configurationsView.registerInput("security.dashboard_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
+ var getConfigView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: ConfigurationsView,
+ vuex: [] //empty array if none
+ });
+ };
- app.configurationsView.registerInput("security.robotstxt", {input: "el-input", attrs: {type: "textarea", rows: 5}});
+ var getAccountView = function() {
+ return new countlyVue.views.BackboneWrapper({
+ component: AccountView,
+ vuex: [] //empty array if none
+ });
+ };
- app.configurationsView.registerInput("security.api_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
+ //old global handler
+ app.configurationsView = {
+ predefinedInputs: {},
+ predefinedLabels: {},
+ predefinedStructure: {},
+ predefinedUserInputs: {},
+ registerInput: function(id, callback) {
+ this.predefinedInputs[id] = callback;
+ },
+ registerLabel: function(id, html) {
+ this.predefinedLabels[id] = html;
+ },
+ registerStructure: function(id, obj) {
+ this.predefinedStructure[id] = obj;
+ },
+ registerUserInput: function(id, getVal) {
+ this.predefinedUserInputs[id] = getVal;
+ },
+ getInputLabel: function(id) {
+ if (typeof this.predefinedLabels[id] !== "undefined") {
+ return jQuery.i18n.map[this.predefinedLabels[id]] || this.predefinedLabels[id];
+ }
+ else if (jQuery.i18n.map[id + ".title"]) {
+ return jQuery.i18n.map[id + ".title"];
+ }
+ else if (jQuery.i18n.map[id + ".plugin-title"]) {
+ return jQuery.i18n.map[id + ".plugin-title"];
+ }
+ else if (jQuery.i18n.map["configs." + id]) {
+ return jQuery.i18n.map["configs." + id];
+ }
+ else if (jQuery.i18n.map["configs." + (id).replace(".", "-")]) {
+ return jQuery.i18n.map["configs." + (id).replace(".", "-")];
+ }
+ else if (jQuery.i18n.map[id]) {
+ return jQuery.i18n.map[id];
+ }
+ else if (jQuery.i18n.map[(id).replace(".", "-")]) {
+ return jQuery.i18n.map[(id).replace(".", "-")];
+ }
+ else {
+ return id;
+ }
+ },
+ getHelperLabel: function(id, ns) {
+ if (id === "__user") {
+ return jQuery.i18n.map["configs.help.user-level-configuration"];
+ }
+ else if (jQuery.i18n.map["configs.help." + ns + "." + id]) {
+ return jQuery.i18n.map["configs.help." + ns + "." + id];
+ }
+ else if (jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")]) {
+ return jQuery.i18n.map["configs.help." + (ns + "." + id).replace(".", "-")];
+ }
+ else if (this.predefinedInputs[ns + "." + id] && this.predefinedInputs[ns + "." + id].helper) {
+ return jQuery.i18n.map[this.predefinedInputs[ns + "." + id].helper] || this.predefinedInputs[ns + "." + id].helper;
+ }
+ },
+ getInputType: function(id) {
+ var input = this.predefinedInputs[id];
+ if (typeof input === "function") {
+ return "function";
+ }
+ if (input && input.input) {
+ return input.input;
+ }
+ }
+ };
+ //register inputs
+ var zones = app.manageAppsView.getTimeZones();
+ var countryList = [];
+ for (var z in zones) {
+ countryList.push({value: z, label: zones[z].n});
+ }
+ app.configurationsView.registerInput("apps.country", {input: "el-select", attrs: {}, list: countryList});
- app.configurationsView.registerInput("api.reports_regenerate_interval", {
- input: "el-select",
- attrs: {},
- list: [
- {value: 300, label: jQuery.i18n.prop("common.every.minutes", 5)},
- {value: 1800, label: jQuery.i18n.prop("common.every.minutes", 30)},
- {value: 3600, label: jQuery.i18n.prop("common.every.hour", 1)},
- {value: 10800, label: jQuery.i18n.prop("common.every.hours", 3)},
- {value: 43200, label: jQuery.i18n.prop("common.every.hours", 12)},
- {value: 86400, label: jQuery.i18n.prop("common.every.hours", 24)}
- ]
- });
+ app.configurationsView.registerInput("logs.default", {
+ input: "el-select",
+ attrs: {},
+ list: [
+ {value: 'debug', label: CV.i18n("configs.logs.debug")},
+ {value: 'info', label: CV.i18n("configs.logs.info")},
+ {value: 'warn', label: CV.i18n("configs.logs.warn")},
+ {value: 'error', label: CV.i18n("configs.logs.error")}
+ ]
+ });
- app.configurationsView.registerInput("api.send_test_email", {
- input: "el-button",
- label: jQuery.i18n.map['common.send'],
- attrs: {type: "primary", disabled: false},
- click: function() {
- this.attrs.disabled = true;
- var self = this;
- $.ajax({
- type: "GET",
- url: countlyCommon.API_URL + "/o/email_test",
- data: {},
- success: function() {
- self.attrs.disabled = false;
- CountlyHelpers.notify({ type: "ok", message: jQuery.i18n.map['configs.help.api-send_test_email_delivered']});
+ app.configurationsView.registerInput("security.dashboard_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- },
- error: function() {
- self.attrs.disabled = false;
- CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.help.api-send_test_email_failed']});
- }
- });
- }
- });
+ app.configurationsView.registerInput("security.robotstxt", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- app.configurationsView.registerStructure("api", {
- description: "configs.api.description",
- groups: [
- {label: "configs.api.batch", list: ["batch_processing", "batch_period", "batch_on_master"]},
- {label: "configs.api.cache", list: ["batch_read_processing", "batch_read_period", "batch_read_ttl", "batch_read_on_master"]},
- {label: "configs.api.limits", list: ["event_limit", "event_segmentation_limit", "event_segmentation_value_limit", "metric_limit", "session_duration_limit", "array_list_limit"]},
- {label: "configs.api.others", list: ["safe", "domain", "export_limit", "offline_mode", "reports_regenerate_interval", "request_threshold", "sync_plugins", "send_test_email", "city_data", "country_data", "session_cooldown", "total_users", "prevent_duplicate_requests", "metric_changes", "data_retention_period"]},
- ]
- });
+ app.configurationsView.registerInput("security.api_additional_headers", {input: "el-input", attrs: {type: "textarea", rows: 5}});
- app.configurationsView.registerStructure("logs", {
- description: "",
- groups: [
- {label: "configs.logs.modules", list: ["debug", "warn", "info", "error"]},
- {label: "configs.logs.default-level", list: ["default"]}
- ]
- });
- var showInAppManagment = {
- "api": {
- "safe": true,
- "session_duration_limit": true,
- "country_data": true,
- "city_data": true,
- "event_limit": true,
- "event_segmentation_limit": true,
- "event_segmentation_value_limit": true,
- "metric_limit": true,
- "session_cooldown": true,
- "total_users": true,
- "prevent_duplicate_requests": true,
- "metric_changes": true,
- }
- };
- if (countlyAuth.validateGlobalAdmin()) {
- if (countlyGlobal.plugins.indexOf("drill") !== -1) {
- showInAppManagment.drill = {"big_list_limit": true, "record_big_list": true, "cache_threshold": true, "correct_estimation": true, "custom_property_limit": true, "list_limit": true, "projection_limit": true, "record_actions": true, "record_crashes": true, "record_meta": true, "record_pushes": true, "record_sessions": true, "record_star_rating": true, "record_apm": true, "record_views": true};
- }
- if (countlyGlobal.plugins.includes("logger")) {
- showInAppManagment.logger = {"state": true, "limit": true};
- }
+ app.configurationsView.registerInput("api.reports_regenerate_interval", {
+ input: "el-select",
+ attrs: {},
+ list: [
+ {value: 300, label: jQuery.i18n.prop("common.every.minutes", 5)},
+ {value: 1800, label: jQuery.i18n.prop("common.every.minutes", 30)},
+ {value: 3600, label: jQuery.i18n.prop("common.every.hour", 1)},
+ {value: 10800, label: jQuery.i18n.prop("common.every.hours", 3)},
+ {value: 43200, label: jQuery.i18n.prop("common.every.hours", 12)},
+ {value: 86400, label: jQuery.i18n.prop("common.every.hours", 24)}
+ ]
+ });
- app.route('/manage/plugins', 'plugins', function() {
- if (countlyGlobal.COUNTLY_CONTAINER === 'frontend') {
- app.navigate("#/", true);
- }
- else {
- this.renderWhenReady(getPluginView());
+ app.configurationsView.registerInput("api.send_test_email", {
+ input: "el-button",
+ label: jQuery.i18n.map['common.send'],
+ attrs: {type: "primary", disabled: false},
+ click: function() {
+ this.attrs.disabled = true;
+ var self = this;
+ $.ajax({
+ type: "GET",
+ url: countlyCommon.API_URL + "/o/email_test",
+ data: {},
+ success: function() {
+ self.attrs.disabled = false;
+ CountlyHelpers.notify({ type: "ok", message: jQuery.i18n.map['configs.help.api-send_test_email_delivered']});
+
+ },
+ error: function() {
+ self.attrs.disabled = false;
+ CountlyHelpers.notify({ type: "error", message: jQuery.i18n.map['configs.help.api-send_test_email_failed']});
}
});
+ }
+ });
- app.route('/manage/configurations', 'configurations', function() {
- var view = getConfigView();
- view.params = {namespace: null, success: false};
- this.renderWhenReady(view);
- });
+ app.configurationsView.registerStructure("api", {
+ description: "configs.api.description",
+ groups: [
+ {label: "configs.api.batch", list: ["batch_processing", "batch_period", "batch_on_master"]},
+ {label: "configs.api.cache", list: ["batch_read_processing", "batch_read_period", "batch_read_ttl", "batch_read_on_master"]},
+ {label: "configs.api.limits", list: ["event_limit", "event_segmentation_limit", "event_segmentation_value_limit", "metric_limit", "session_duration_limit", "array_list_limit"]},
+ {label: "configs.api.others", list: ["safe", "domain", "export_limit", "offline_mode", "reports_regenerate_interval", "request_threshold", "sync_plugins", "send_test_email", "city_data", "country_data", "session_cooldown", "total_users", "prevent_duplicate_requests", "metric_changes", "data_retention_period"]},
+ ]
+ });
- app.route('/manage/configurations/:namespace', 'configurations_namespace', function(namespace) {
- var view = getConfigView();
- view.params = {namespace: namespace, success: false};
- this.renderWhenReady(view);
- });
+ app.configurationsView.registerStructure("logs", {
+ description: "",
+ groups: [
+ {label: "configs.logs.modules", list: ["debug", "warn", "info", "error"]},
+ {label: "configs.logs.default-level", list: ["default"]}
+ ]
+ });
- app.route('/manage/configurations/:namespace/:status', 'configurations_namespace', function(namespace, status) {
- var view = getConfigView();
- if (status === "success" && namespace !== "search") {
- view.params = {namespace: namespace, success: true};
- this.renderWhenReady(view);
- }
- if (namespace === "search") {
- view.params = {namespace, success: false, searchQuery: status};
- this.renderWhenReady(view);
- }
- });
+ var showInAppManagment = {
+ "api": {
+ "safe": true,
+ "session_duration_limit": true,
+ "country_data": true,
+ "city_data": true,
+ "event_limit": true,
+ "event_segmentation_limit": true,
+ "event_segmentation_value_limit": true,
+ "metric_limit": true,
+ "session_cooldown": true,
+ "total_users": true,
+ "prevent_duplicate_requests": true,
+ "metric_changes": true,
+ }
+ };
+ if (countlyAuth.validateGlobalAdmin()) {
+ if (countlyGlobal.plugins.indexOf("drill") !== -1) {
+ showInAppManagment.drill = {"big_list_limit": true, "record_big_list": true, "cache_threshold": true, "correct_estimation": true, "custom_property_limit": true, "list_limit": true, "projection_limit": true, "record_actions": true, "record_crashes": true, "record_meta": true, "record_pushes": true, "record_sessions": true, "record_star_rating": true, "record_apm": true, "record_views": true};
+ }
+ if (countlyGlobal.plugins.includes("logger")) {
+ showInAppManagment.logger = {"state": true, "limit": true};
+ }
- app.route('/manage/configurations/:namespace/:status/:success', 'configurations_namespace', function(namespace, status, success) {
- if (success === "success" && namespace === "search" && status !== "") {
- var view = getConfigView();
- view.params = {namespace, success: true, searchQuery: status};
- this.renderWhenReady(view);
- }
- });
+ app.route('/manage/plugins', 'plugins', function() {
+ if (countlyGlobal.COUNTLY_CONTAINER === 'frontend') {
+ app.navigate("#/", true);
+ }
+ else {
+ this.renderWhenReady(getPluginView());
+ }
+ });
+
+ app.route('/manage/configurations', 'configurations', function() {
+ var view = getConfigView();
+ view.params = {namespace: null, success: false};
+ this.renderWhenReady(view);
+ });
+
+ app.route('/manage/configurations/:namespace', 'configurations_namespace', function(namespace) {
+ var view = getConfigView();
+ view.params = {namespace: namespace, success: false};
+ this.renderWhenReady(view);
+ });
+
+ app.route('/manage/configurations/:namespace/:status', 'configurations_namespace', function(namespace, status) {
+ var view = getConfigView();
+ if (status === "success" && namespace !== "search") {
+ view.params = {namespace: namespace, success: true};
+ this.renderWhenReady(view);
+ }
+ if (namespace === "search") {
+ view.params = {namespace, success: false, searchQuery: status};
+ this.renderWhenReady(view);
+ }
+ });
- app.route('/manage/configurations/:namespace#:section', 'configurations_namespace', function(namespace, section) {
+ app.route('/manage/configurations/:namespace/:status/:success', 'configurations_namespace', function(namespace, status, success) {
+ if (success === "success" && namespace === "search" && status !== "") {
var view = getConfigView();
- view.params = {namespace: namespace, section: section, success: false};
+ view.params = {namespace, success: true, searchQuery: status};
this.renderWhenReady(view);
- });
+ }
+ });
- countlyPlugins.initializeConfigs().always(function() {
- var pluginsData = countlyPlugins.getConfigsData();
- for (var key in showInAppManagment) {
- var inputs = {};
- for (var conf in showInAppManagment[key]) {
- if (showInAppManagment[key][conf]) {
- if (!app.configurationsView.predefinedInputs[key + "." + conf]) {
- if (pluginsData[key]) {
- var type = typeof pluginsData[key][conf];
- if (type === "string") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-input", attrs: {}});
- }
- else if (type === "number") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-input-number", attrs: {}});
- }
- else if (type === "boolean") {
- app.configurationsView.registerInput(key + "." + conf, {input: "el-switch", attrs: {}});
- }
+ app.route('/manage/configurations/:namespace#:section', 'configurations_namespace', function(namespace, section) {
+ var view = getConfigView();
+ view.params = {namespace: namespace, section: section, success: false};
+ this.renderWhenReady(view);
+ });
+
+ countlyPlugins.initializeConfigs().always(function() {
+ var pluginsData = countlyPlugins.getConfigsData();
+ for (var key in showInAppManagment) {
+ var inputs = {};
+ for (var conf in showInAppManagment[key]) {
+ if (showInAppManagment[key][conf]) {
+ if (!app.configurationsView.predefinedInputs[key + "." + conf]) {
+ if (pluginsData[key]) {
+ var type = typeof pluginsData[key][conf];
+ if (type === "string") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-input", attrs: {}});
+ }
+ else if (type === "number") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-input-number", attrs: {}});
+ }
+ else if (type === "boolean") {
+ app.configurationsView.registerInput(key + "." + conf, {input: "el-switch", attrs: {}});
}
- }
- if (app.configurationsView.predefinedInputs[key + "." + conf]) {
- inputs[key + "." + conf] = app.configurationsView.predefinedInputs[key + "." + conf];
}
}
+ if (app.configurationsView.predefinedInputs[key + "." + conf]) {
+ inputs[key + "." + conf] = app.configurationsView.predefinedInputs[key + "." + conf];
+ }
}
- app.addAppManagementInput(key, jQuery.i18n.map['configs.' + key], inputs);
}
- app.configurationsView.registerInput("frontend.theme", {input: "el-select", attrs: {}, list: countlyPlugins.getThemeList()});
- });
- }
-
- app.route('/account-settings', 'account-settings', function() {
- this.renderWhenReady(getAccountView());
+ app.addAppManagementInput(key, jQuery.i18n.map['configs.' + key], inputs);
+ }
+ app.configurationsView.registerInput("frontend.theme", {input: "el-select", attrs: {}, list: countlyPlugins.getThemeList()});
});
+ }
- app.route('/account-settings/reset', 'account-settings', function() {
- var view = getAccountView();
- view.params = {reset: true};
- this.renderWhenReady(view);
- });
+ app.route('/account-settings', 'account-settings', function() {
+ this.renderWhenReady(getAccountView());
+ });
- app.route('/account-settings/no-access', 'account-settings', function() {
- var view = getAccountView();
- view.params = {noaccess: true};
- this.renderWhenReady(view);
- });
+ app.route('/account-settings/reset', 'account-settings', function() {
+ var view = getAccountView();
+ view.params = {reset: true};
+ this.renderWhenReady(view);
+ });
+
+ app.route('/account-settings/no-access', 'account-settings', function() {
+ var view = getAccountView();
+ view.params = {noaccess: true};
+ this.renderWhenReady(view);
+ });
- if (countlyAuth.validateGlobalAdmin()) {
- if (countlyGlobal.COUNTLY_CONTAINER !== 'frontend') {
+ if (countlyAuth.validateGlobalAdmin()) {
+ if (countlyGlobal.COUNTLY_CONTAINER !== 'frontend') {
+ if (!countlyGlobal.mycountly && countlyGlobal.plugins.indexOf('my-countly') === -1) {
app.addMenu("management", {code: "plugins", pluginName: "plugins", url: "#/manage/plugins", text: "plugins.title", icon: '', priority: 80});
}
}
- if (countlyAuth.validateGlobalAdmin()) {
- app.addMenu("management", {code: "configurations", pluginName: "plugins", url: "#/manage/configurations", text: "plugins.configs", icon: '', priority: 30});
+ }
+ if (countlyAuth.validateGlobalAdmin()) {
+ app.addMenu("management", {code: "configurations", pluginName: "plugins", url: "#/manage/configurations", text: "plugins.configs", icon: '', priority: 30});
- var isCurrentHostnameIP = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(window.location.hostname);
- var isGlobalDomainHasValue = countlyGlobal.domain === "" || typeof countlyGlobal.domain === "undefined" ? false : true;
- if (!isCurrentHostnameIP && !isGlobalDomainHasValue) {
- countlyPlugins.updateConfigs({"api": {"domain": window.location.protocol + "//" + window.location.hostname}}, function(err) {
- if (err) {
- // throw err
- }
- });
- }
+ var isCurrentHostnameIP = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(window.location.hostname);
+ var isGlobalDomainHasValue = countlyGlobal.domain === "" || typeof countlyGlobal.domain === "undefined" ? false : true;
+ if (!isCurrentHostnameIP && !isGlobalDomainHasValue) {
+ countlyPlugins.updateConfigs({"api": {"domain": window.location.protocol + "//" + window.location.hostname}}, function(err) {
+ if (err) {
+ // throw err
+ }
+ });
}
- })();
-}
\ No newline at end of file
+ }
+})();
\ No newline at end of file
From a692eb1fd44bf8caec6559ef7d22996d35fdfa9a Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Tue, 28 Mar 2023 16:31:10 +0000
Subject: [PATCH 005/186] remove log from pluginManager
---
plugins/pluginManager.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/pluginManager.js b/plugins/pluginManager.js
index 398d6ec629f..56c234e9c92 100644
--- a/plugins/pluginManager.js
+++ b/plugins/pluginManager.js
@@ -116,7 +116,7 @@ var pluginManager = function pluginManager() {
}
db.collection('plugins').updateOne({'_id': 'plugins'}, {'$set': fordb}, function(err1) {
if (err1) {
- log.e(err1);
+ console.error(err1);
}
else {
self.dispatch("/systemlogs", {params: params, action: "change_plugins", data: {before: before, update: params.qstring.plugin}});
From a45d31fab155e2cc63eb8591e137ec08e08eb2c9 Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Thu, 30 Mar 2023 10:57:00 +0000
Subject: [PATCH 006/186] add mycountly checkes in fe server
---
frontend/express/app.js | 40 ++++++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index ef8b7c6c9c0..3b122415868 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -6,6 +6,22 @@
// Set process name
process.title = "countly: dashboard node " + process.argv[1];
+var fs = require('fs');
+var path = require('path');
+var isMyCountly = false;
+
+if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
+ const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
+ try {
+ if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
+ isMyCountly = true;
+ }
+ }
+ catch (e) {
+ isMyCountly = false;
+ }
+}
+
var versionInfo = require('./version.info'),
pack = require('../../package.json'),
COUNTLY_VERSION = versionInfo.version,
@@ -27,8 +43,6 @@ var versionInfo = require('./version.info'),
}
}),
crypto = require('crypto'),
- fs = require('fs'),
- path = require('path'),
jimp = require('jimp'),
request = require('countly-request'),
flash = require('connect-flash'),
@@ -66,7 +80,13 @@ var COUNTLY_NAMED_TYPE = "Countly Community Edition v" + COUNTLY_VERSION;
var COUNTLY_TYPE_CE = true;
var COUNTLY_TRIAL = (versionInfo.trial) ? true : false;
var COUNTLY_TRACK_TYPE = "OSS";
-if (versionInfo.footer) {
+
+if (isMyCountly) {
+ COUNTLY_NAMED_TYPE = "Countly v" + COUNTLY_VERSION;
+ COUNTLY_TYPE_CE = false;
+ COUNTLY_TRACK_TYPE = "Enterprise";
+}
+else if (versionInfo.footer) {
COUNTLY_NAMED_TYPE = versionInfo.footer;
COUNTLY_TYPE_CE = false;
if (COUNTLY_NAMED_TYPE === "Countly Cloud") {
@@ -866,7 +886,7 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
**/
function renderDashboard(req, res, next, member, adminOfApps, userOfApps, countlyGlobalApps, countlyGlobalAdminApps) {
var configs = plugins.getConfig("frontend", member.settings),
- licenseNotification, licenseError, isMyCountly = false;
+ licenseNotification, licenseError;
configs.export_limit = plugins.getConfig("api").export_limit;
app.loadThemeFiles(configs.theme, function(theme) {
if (configs._user.theme) {
@@ -895,18 +915,6 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
}
}
- if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
- const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
- try {
- if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
- isMyCountly = true;
- }
- }
- catch (e) {
- isMyCountly = false;
- }
- }
-
member._id += "";
delete member.password;
From adcf5d1d5a532f3acd9e7e325cba6c3811233569 Mon Sep 17 00:00:00 2001
From: Kanwar Ujjaval Singh <4216199+kanwarujjaval@users.noreply.github.com>
Date: Sun, 23 Jul 2023 18:07:27 +0000
Subject: [PATCH 007/186] add check for locking in core
---
frontend/express/app.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index eb368c27b2a..284c72777a5 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -900,8 +900,9 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
function renderDashboard(req, res, next, member, adminOfApps, userOfApps, countlyGlobalApps, countlyGlobalAdminApps) {
var configs = plugins.getConfig("frontend", member.settings),
licenseNotification, licenseError;
+ var isLocked = false;
configs.export_limit = plugins.getConfig("api").export_limit;
- app.loadThemeFiles(configs.theme, function(theme) {
+ app.loadThemeFiles(configs.theme, async function(theme) {
if (configs._user.theme) {
res.cookie("theme", configs.theme);
}
@@ -915,6 +916,13 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
if (member.upgrade) {
countlyDb.collection('members').update({"_id": member._id}, {$unset: {upgrade: ""}}, function() {});
}
+ if (isMyCountly) {
+ let locked = await countlyDb.collection('mycountly').findOne({_id: 'lockServer'});
+ if (locked?.isLocked === true) {
+ isLocked = true;
+ }
+
+ }
if (req.session.licenseError) {
licenseError = req.session.licenseError;
@@ -975,6 +983,7 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
featureRequestLink: COUNTLY_FEATUREREQUEST_LINK,
},
mycountly: isMyCountly,
+ isLocked: isLocked,
};
var toDashboard = {
From 935649bfcdf11ea6776519a670baf816bc76fac4 Mon Sep 17 00:00:00 2001
From: Vedat Can Keklik
Date: Thu, 14 Dec 2023 11:14:52 +0300
Subject: [PATCH 008/186] fix: Added IS_FLEX flag
---
frontend/express/app.js | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index 4943e48eb38..f68cd5e4f1e 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -8,19 +8,7 @@ process.title = "countly: dashboard node " + process.argv[1];
var fs = require('fs');
var path = require('path');
-var isMyCountly = false;
-
-if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
- const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
- try {
- if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
- isMyCountly = true;
- }
- }
- catch (e) {
- isMyCountly = false;
- }
-}
+var IS_FLEX = true;
var versionInfo = require('./version.info'),
pack = require('../../package.json'),
@@ -81,10 +69,10 @@ var COUNTLY_TYPE_CE = true;
var COUNTLY_TRIAL = (versionInfo.trial) ? true : false;
var COUNTLY_TRACK_TYPE = "OSS";
-if (isMyCountly) {
+if (IS_FLEX) {
COUNTLY_NAMED_TYPE = "Countly v" + COUNTLY_VERSION;
COUNTLY_TYPE_CE = false;
- COUNTLY_TRACK_TYPE = "Enterprise";
+ COUNTLY_TRACK_TYPE = "Flex";
}
else if (versionInfo.footer) {
COUNTLY_NAMED_TYPE = versionInfo.footer;
@@ -935,7 +923,7 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
if (member.upgrade) {
countlyDb.collection('members').update({"_id": member._id}, {$unset: {upgrade: ""}}, function() {});
}
- if (isMyCountly) {
+ if (IS_FLEX) {
let locked = await countlyDb.collection('mycountly').findOne({_id: 'lockServer'});
if (locked?.isLocked === true) {
isLocked = true;
@@ -1005,7 +993,7 @@ Promise.all([plugins.dbConnection(countlyConfig), plugins.dbConnection("countly_
helpCenterLink: COUNTLY_HELPCENTER_LINK,
featureRequestLink: COUNTLY_FEATUREREQUEST_LINK,
},
- mycountly: isMyCountly,
+ mycountly: IS_FLEX,
isLocked: isLocked,
};
From e10de7e8076ce8427901ffe77bf41ec6171aa791 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Furkan=20Ba=C5=9Faran?=
Date: Tue, 2 Apr 2024 16:00:21 +0300
Subject: [PATCH 009/186] fix: no more hardcoded IS_FLEX flag.
---
frontend/express/app.js | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index 37ab33b787e..055b0b3c635 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -8,7 +8,19 @@ process.title = "countly: dashboard node " + process.argv[1];
var fs = require('fs');
var path = require('path');
-var IS_FLEX = true;
+var IS_FLEX = false;
+
+if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
+ const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
+ try {
+ if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
+ IS_FLEX = true;
+ }
+ }
+ catch (e) {
+ IS_FLEX = false;
+ }
+}
var versionInfo = require('./version.info'),
pack = require('../../package.json'),
From cd4a07783ae694367e60d84d2870435a2bd3c54d Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 7 May 2024 19:09:16 +0300
Subject: [PATCH 010/186] Reduce populator time for flex
---
.../express/public/core/onboarding/javascripts/countly.views.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/express/public/core/onboarding/javascripts/countly.views.js b/frontend/express/public/core/onboarding/javascripts/countly.views.js
index 00e2f905c4d..6243b2291ab 100644
--- a/frontend/express/public/core/onboarding/javascripts/countly.views.js
+++ b/frontend/express/public/core/onboarding/javascripts/countly.views.js
@@ -37,7 +37,7 @@
types: Object.keys(app.appTypes),
appTemplates: appTemplates,
populatorProgress: 0,
- populatorMaxTime: 60,
+ populatorMaxTime: 30,
isPopulatorFinished: false,
isCountlyEE: countlyGlobal.plugins.includes('drill'),
};
From b5ce13d8bbad13b484bac967424bc0521e20ee24 Mon Sep 17 00:00:00 2001
From: Burak Ekin
Date: Thu, 31 Oct 2024 13:37:55 +0300
Subject: [PATCH 011/186] sorting Alerts table by creation time by default and
script to add creation date to existing Alerts documents
---
.../add_creation_date_for_existing_alerts.js | 25 +++++++++++++++++++
plugins/alerts/api/api.js | 3 +++
.../public/javascripts/countly.models.js | 1 +
.../public/localization/alerts.properties | 8 +++---
.../frontend/public/templates/vue-main.html | 12 +++++----
5 files changed, 40 insertions(+), 9 deletions(-)
create mode 100644 bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
diff --git a/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js b/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
new file mode 100644
index 00000000000..4217da68b9b
--- /dev/null
+++ b/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
@@ -0,0 +1,25 @@
+// Script that adds creation date for existing alerts.
+
+const pluginManager = require('../../../plugins/pluginManager.js');
+
+pluginManager.dbConnection().then(async(countlyDb) => {
+ try {
+ await countlyDb.collection('alerts').updateMany(
+ { createdAt: { $exists: false } },
+ [
+ {
+ $set: {
+ createdAt: { $toLong: { $toDate: "$_id" } }
+ }
+ }
+ ]
+ );
+ console.log("Finished adding creation date for existing alerts.");
+ }
+ catch (error) {
+ console.log(`Error adding creation date for existing alerts: ${error}`);
+ }
+ finally {
+ countlyDb.close();
+ }
+});
\ No newline at end of file
diff --git a/plugins/alerts/api/api.js b/plugins/alerts/api/api.js
index a691ee982c8..bc9242eab1d 100644
--- a/plugins/alerts/api/api.js
+++ b/plugins/alerts/api/api.js
@@ -225,6 +225,9 @@ const PERIOD_TO_TEXT_EXPRESSION_MAPPER = {
}
});
}
+ if (!alertConfig._id) {
+ alertConfig.createdAt = new Date().getTime();
+ }
alertConfig.createdBy = params.member._id;
return common.db.collection("alerts").insert(
alertConfig,
diff --git a/plugins/alerts/frontend/public/javascripts/countly.models.js b/plugins/alerts/frontend/public/javascripts/countly.models.js
index 73c63608af6..41e88ad55c9 100644
--- a/plugins/alerts/frontend/public/javascripts/countly.models.js
+++ b/plugins/alerts/frontend/public/javascripts/countly.models.js
@@ -503,6 +503,7 @@
enabled: alertsList[i].enabled || false,
createdByUser:
alertsList[i].createdByUser || "",
+ createdAt: alertsList[i].createdAt || "",
_canUpdate: countlyAuth.validateUpdate(
FEATURE_NAME,
countlyGlobal.member,
diff --git a/plugins/alerts/frontend/public/localization/alerts.properties b/plugins/alerts/frontend/public/localization/alerts.properties
index 2601e3bdfe0..fd824d89af5 100644
--- a/plugins/alerts/frontend/public/localization/alerts.properties
+++ b/plugins/alerts/frontend/public/localization/alerts.properties
@@ -5,7 +5,7 @@ alert.plugin-title = Alerts
alert.Add_New_Alert=Add New Alert
alert.Edit_Your_Alert=Edit Your Alert
-alert.Alert_Name=Alert Name
+alerts.Alert_Name=Alert Name
alert.Event=Events
alert.View=Views
alert.Session=Sessions
@@ -59,9 +59,9 @@ alert.delete-confirm = Confirm to delete this alert?
alert.yes-delete-alert = Yes, delete alert
alert.email-place-holder=Enter emails
alert.enter-alert-name = Enter alert name
-alert.Application = Application
-alert.Condition = Condition
-alert.CreateBy = Created by
+alerts.Application = Application
+alerts.Condition = Condition
+alerts.CreateBy = Created by
alert.compare-remind = Metrics are compared on a daily basis.
alert.add-number = Add Number
alert.make-changes-remind = You made {0} changes.
diff --git a/plugins/alerts/frontend/public/templates/vue-main.html b/plugins/alerts/frontend/public/templates/vue-main.html
index bb5b2be9da8..c0bf438df19 100644
--- a/plugins/alerts/frontend/public/templates/vue-main.html
+++ b/plugins/alerts/frontend/public/templates/vue-main.html
@@ -44,7 +44,9 @@
class="cly-vue-alerts-table"
:tracked-fields="localTableTrackedFields"
:rows="tableRows"
- :resizable="false">
+ :resizable="false"
+ :default-sort="{prop: 'createdAt', order: 'descending'}"
+ >
-
+
-
+
{{scope.row.appNameList}}
-
+
{{unescapeHtml(scope.row.condtionText)}}
@@ -90,7 +92,7 @@
-
+
From 7202e31a28c546369da0a619fd7f5b187f12e3e6 Mon Sep 17 00:00:00 2001
From: Burak Ekin
Date: Fri, 8 Nov 2024 11:55:18 +0300
Subject: [PATCH 012/186] createdAt data type changed to double
---
bin/upgrade/DEV/add_creation_date_for_existing_alerts.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js b/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
index 4217da68b9b..7ad693b0331 100644
--- a/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
+++ b/bin/upgrade/DEV/add_creation_date_for_existing_alerts.js
@@ -9,7 +9,7 @@ pluginManager.dbConnection().then(async(countlyDb) => {
[
{
$set: {
- createdAt: { $toLong: { $toDate: "$_id" } }
+ createdAt: { $toDouble: { $toDate: "$_id" } }
}
}
]
From e0b1127266b5459cee78ecdf97418f0b87006c2e Mon Sep 17 00:00:00 2001
From: Burak Ekin
Date: Fri, 8 Nov 2024 14:12:59 +0300
Subject: [PATCH 013/186] added enabled-disabled filter to alerts table
---
.../alerts/frontend/public/javascripts/countly.views.js | 7 +++++++
.../alerts/frontend/public/localization/alerts.properties | 4 +++-
plugins/alerts/frontend/public/templates/vue-main.html | 7 +++++++
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/plugins/alerts/frontend/public/javascripts/countly.views.js b/plugins/alerts/frontend/public/javascripts/countly.views.js
index 1ba08964aa4..0e390d62eaa 100644
--- a/plugins/alerts/frontend/public/javascripts/countly.views.js
+++ b/plugins/alerts/frontend/public/javascripts/countly.views.js
@@ -1069,6 +1069,12 @@
computed: {
tableRows: function() {
var rows = this.$store.getters["countlyAlerts/table/all"];
+ if (this.tableFilterStatus !== "all") {
+ var enabled = this.tableFilterStatus === "enabled" ? true : false;
+ rows = rows.filter(function(r) {
+ return r.enabled === enabled;
+ });
+ }
if (this.filteredApps.length > 0) {
var self = this;
rows = rows.filter(function(r) {
@@ -1106,6 +1112,7 @@
appsSelectorOption: appsSelectorOption,
filterStatus: "all",
filteredApps: [],
+ tableFilterStatus: "all",
tableDynamicCols: [
{
value: "appNameList",
diff --git a/plugins/alerts/frontend/public/localization/alerts.properties b/plugins/alerts/frontend/public/localization/alerts.properties
index 2601e3bdfe0..1e9e476007a 100644
--- a/plugins/alerts/frontend/public/localization/alerts.properties
+++ b/plugins/alerts/frontend/public/localization/alerts.properties
@@ -108,4 +108,6 @@ alert.email-header = Email Notification
alerts.email-icon = This alert can only be used within Hooks to trigger actions.
alerts.common-icon-info = Alert will be triggered as soon as a new response is submitted for the selected widget.
alerts.crashes-icon = Alert will be triggered as soon as a new, before unseen crash occurs.
-
+alerts.status-all = All alerts
+alerts.status-enabled = Enabled
+alerts.status-disabled = Disabled
diff --git a/plugins/alerts/frontend/public/templates/vue-main.html b/plugins/alerts/frontend/public/templates/vue-main.html
index bb5b2be9da8..9db80dc02c0 100644
--- a/plugins/alerts/frontend/public/templates/vue-main.html
+++ b/plugins/alerts/frontend/public/templates/vue-main.html
@@ -46,6 +46,13 @@
:rows="tableRows"
:resizable="false">
+
+
+ {{i18n('alerts.status-all')}}
+ {{i18n('alerts.status-enabled')}}
+ {{i18n('alerts.status-disabled')}}
+
+
Date: Tue, 12 Nov 2024 21:58:38 +0000
Subject: [PATCH 014/186] Made graph annotations work for bar charts
---
.../javascripts/countly/vue/components/vis.js | 830 ++++++++++--------
1 file changed, 479 insertions(+), 351 deletions(-)
diff --git a/frontend/express/public/javascripts/countly/vue/components/vis.js b/frontend/express/public/javascripts/countly/vue/components/vis.js
index 2b516b53f2e..ded07527cd3 100644
--- a/frontend/express/public/javascripts/countly/vue/components/vis.js
+++ b/frontend/express/public/javascripts/countly/vue/components/vis.js
@@ -462,6 +462,417 @@
}
};
+ var GraphNotesMixin = {
+ data: function() {
+ return {
+ notes: [],
+ mergedNotes: [],
+ };
+ },
+ computed: {
+ areNotesHidden: function() {
+ return this.$store.getters['countlyCommon/getAreNotesHidden'];
+ }
+ },
+ methods: {
+ dateChanged: function() {
+ if (!this.areNotesHidden) {
+ this.seriesOptions.markPoint.data = [];
+ var self = this;
+ setTimeout(() => {
+ self.getGraphNotes();
+ }, 500);
+ }
+ },
+ getDateFormat: function(date) {
+ var dateFormats = {
+ "yyyy-mm-d-hh-mm": "YYYY-MM-D HH:00",
+ "yyyy-mm-d-h-mm": "YYYY-MM-D H:00",
+ "d-mmm": "D MMM",
+ "dd-mmm": "DD MMM",
+ "d-mmm-yyyy": "D MMM YYYY",
+ "yyyy-mm-d": "YYYY-MM-D",
+ "yyyy-m-d": "YYYY-M-D",
+ "yyyy-mm-dd": "YYYY-MM-DD",
+ "yyyy-mm": "YYYY-MM",
+ "yyyy-m": "YYYY-M",
+ "mmm-yyyy": "MMM YYYY",
+ "h-00": "H:00",
+ "hh-00": "HH:00",
+ "dd/mm/yyyy": "DD/MM/YY",
+ "mmm": "MMM"
+ //define other well known formats
+ };
+
+ for (var prop in dateFormats) {
+ if (moment(date, dateFormats[prop], true).isValid()) {
+ return dateFormats[prop];
+ }
+ }
+ return null;
+ },
+ graphNotesTimeConverter: function(ts) {
+ var graphNoteDate = new Date(ts);
+ if (this.category === "drill" || this.category === "formulas") {
+ if (this.notationSelectedBucket === "hourly") {
+ return countlyCommon.formatDate(moment(graphNoteDate), "D MMM YYYY hh:00") || 0;
+ }
+ else if (this.notationSelectedBucket === "daily") {
+ return countlyCommon.formatDate(moment(graphNoteDate), "D MMM YYYY") || 0;
+ }
+ else if (this.notationSelectedBucket === "weekly") {
+ return "W" + moment(graphNoteDate).isoWeek() + " " + moment(graphNoteDate).isoWeekYear();
+ }
+ else if (this.notationSelectedBucket === "monthly") {
+ return countlyCommon.formatDate(moment(graphNoteDate), "MMM YYYY");
+ }
+ }
+ else if (this.category === "push-notification") {
+ if (this.notationSelectedBucket === "weekly") {
+ return "W" + moment(graphNoteDate).isoWeek();
+ }
+ else if (this.notationSelectedBucket === "monthly") {
+ return countlyCommon.formatDate(moment(graphNoteDate), "YYYY MMM");
+ }
+ }
+ else {
+ var xAxisLabel = null;
+ if (this.$refs.echarts && this.$refs.echarts.option && this.$refs.echarts.option.xAxis.data) {
+ xAxisLabel = this.$refs.echarts.option.xAxis.data[0];
+ }
+ else {
+ return null;
+ }
+ var formatType = this.getDateFormat(xAxisLabel);
+ return countlyCommon.formatDate(moment(ts), formatType) || 0;
+ }
+ },
+ mergeGraphNotesByDate: function(notes, mergeByWeek) {
+ var self = this;
+ const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
+ var multiplierCount = 2;
+ if (this.$refs.echarts && (this.$refs.echarts.getWidth() < 500 && this.$refs.echarts.getWidth() !== 100)) {
+ multiplierCount = 8;
+ }
+ notes.forEach(function(orderedItem) {
+ orderedItem.dateStr = self.graphNotesTimeConverter(orderedItem.ts);
+ orderedItem.weekCount = moment(orderedItem.ts).year() - moment(orderedItem.ts).week();
+ });
+
+ if (mergeByWeek) {
+ for (var k = 1; k < notes.length; k++) {
+ for (var m = 0; m < k; m++) {
+ if (notes[k].weekCount === notes[m].weekCount) {
+ notes[k].dateStr = notes[m].dateStr;
+ }
+ }
+ }
+ }
+
+ notes.map(function(item) {
+ item.times = notes.filter(obj => obj.dateStr === item.dateStr).length;
+ });
+
+ notes = notes.sort(function(a, b) {
+ return new Date(b.ts) - new Date(a.ts);
+ });
+ for (var i = 0; i < notes.length - 1; i++) {
+ if ((i !== notes.length - 1) && (Math.round(Math.abs((notes[i].ts - notes[i + 1].ts) / oneDay)) > 0 && Math.round(Math.abs((notes[i].ts - notes[i + 1].ts) / oneDay)) < multiplierCount)) {
+ notes[i].hasCloseDate = true;
+ }
+ }
+ return notes;
+ },
+ graphNotesTooltipFormatter: function(arr, params) {
+ var filteredNotes = arr.filter(x=>x.dateStr === params.data.note.dateStr && x.times > 1);
+ var minimizeTooltip = false;
+ var template = "";
+ var conditionalClassName = "graph-notes-tooltip";
+
+ if ((this.$refs && this.$refs.echarts) && (this.$refs.echarts.getHeight() < 200 || this.$refs.echarts.getWidth() < 500)) {
+ minimizeTooltip = true;
+ }
+
+
+ if (minimizeTooltip) {
+ conditionalClassName = 'graph-notes-tooltip minimize';
+ }
+ else if (!minimizeTooltip && filteredNotes.length > 0) {
+ conditionalClassName = 'graph-notes-tooltip bu-mb-4 bu-mx-2';
+ }
+
+ if (filteredNotes.length > 0) {
+ for (var i = 0; i < filteredNotes.length; i++) {
+ if (i === 0) {
+ template = '\
+ \
+ \
+ \
+
\
+ ";
+ }
+ }
+ }
+ else {
+ template += '\
+ \
+
' + this.sanitizeHtml(params.data.note.note) + '
\
+
';
+ }
+ return template;
+ },
+ weekCountToDate: function(year, week, day) {
+ const firstDayOfYear = new Date(year, 0, 1);
+ const days = 2 + day + (week - 1) * 7 - firstDayOfYear.getDay();
+ return new Date(year, 0, days);
+ },
+ graphNotesFilterChecks: function() {
+ var returnedObj = {};
+ var filter = {};
+ var appIds = [countlyCommon.ACTIVE_APP_ID];
+ if (this.$parent && this.$parent.data) {
+ if (this.$parent.data.apps) {
+ appIds = this.$parent.data.apps;
+ }
+ if (this.$parent.data.custom_period && this.$parent.data.custom_period.length) {
+ if (typeof this.$parent.data.custom_period === "string") {
+ var convertedTimeObj = countlyCommon.getPeriodObj(this.$parent.data.custom_period);
+ filter.customPeriod = [convertedTimeObj.start, convertedTimeObj.end];
+ }
+ else if (Array.isArray(this.$parent.data.custom_period)) {
+ filter.customPeriod = [this.$parent.data.custom_period[0], this.$parent.data.custom_period[1]];
+ }
+ }
+ }
+
+ if ((this.category === "formulas" || this.category === "drill") && (this.$parent && this.$parent.data)) {
+ var xAxisLabels = this.option.xAxis.data;
+ var customPeriodStartDate;
+ var customPeriodEndDate;
+ if (this.$parent.data.bucket === "daily") {
+ customPeriodStartDate = new Date(xAxisLabels[0]).getTime();
+ customPeriodEndDate = new Date(xAxisLabels[xAxisLabels.length - 1]).setHours(23, 59);
+ filter.customPeriod = [customPeriodStartDate, customPeriodEndDate];
+ }
+ else if (this.$parent.data.bucket === "weekly") {
+ customPeriodStartDate = this.weekCountToDate(xAxisLabels[0].split(' ')[1], xAxisLabels[0].split(' ')[0].split('W')[1], 7);
+ customPeriodEndDate = this.weekCountToDate(xAxisLabels[xAxisLabels.length - 1].split(' ')[1], xAxisLabels[xAxisLabels.length - 1].split(' ')[0].split('W')[1], 7);
+ filter.customPeriod = [customPeriodStartDate.getTime(), customPeriodEndDate.getTime()];
+ }
+ else if (this.$parent.data.bucket === "monthly") {
+ customPeriodStartDate = new Date(xAxisLabels[0]).getTime();
+ customPeriodEndDate = new Date(xAxisLabels[xAxisLabels.length - 1]).getTime();
+ customPeriodEndDate = moment(customPeriodEndDate).endOf('month')._d.valueOf();
+ filter.customPeriod = [customPeriodStartDate, customPeriodEndDate];
+ }
+ }
+ returnedObj.appIds = appIds;
+ returnedObj.customPeriod = filter;
+ return returnedObj;
+ },
+ getGraphNotes: function() {
+ if (!this.hideNotation && !this.areNotesHidden) {
+ var self = this;
+ var chartHeight = 300;
+ var yAxisHeight = '';
+ var filter = {};
+ var mergeByDate = false;
+
+ filter = this.graphNotesFilterChecks();
+ countlyCommon.getGraphNotes(filter.appIds, filter.customPeriod /*{category: categories.length ? categories : [this.category]}*/).then(function(data) {
+ self.notes = data.aaData;
+ }).then(function() {
+ self.seriesOptions.markPoint.data = [];
+ if (self.notes && self.notes.length) {
+ if (self.$refs.echarts) {
+ chartHeight = self.$refs.echarts.getHeight();
+ }
+ // if custom range date is bigger than 30days, then group notes by week
+ if ((Array.isArray(countlyCommon.periodObj._period) && countlyCommon.periodObj.currentPeriodArr.length > 30)) {
+ mergeByDate = true;
+ }
+ self.mergedNotes = self.mergeGraphNotesByDate(self.notes, mergeByDate);
+ self.mergedNotes.forEach(function(note, index) {
+ if (note.dateStr) {
+ if (chartHeight < 250 && chartHeight !== 100) {
+ if (note.hasCloseDate && note.times === 1) {
+ yAxisHeight = '65%';
+ }
+ else {
+ yAxisHeight = '60%';
+ }
+ }
+ else {
+ if (note.hasCloseDate && note.times === 1) {
+ yAxisHeight = '80%';
+ }
+ else {
+ yAxisHeight = '75%';
+ }
+ }
+ }
+
+ self.seriesOptions.markPoint.data.push({
+ note: note,
+ value: note.times > 1 ? ' ' : note.indicator,
+ xAxis: note.dateStr,
+ y: yAxisHeight,
+ symbolRotate: -20,
+ symbolSize: note.indicator.length === 1 ? 30 : 40,
+ });
+
+ self.seriesOptions.markPoint.data[index].itemStyle = {
+ color: note.times > 1 ? countlyGraphNotesCommon.COLOR_TAGS[0].label : countlyGraphNotesCommon.COLOR_TAGS.find(x=>x.value === note.color).label
+ };
+ self.seriesOptions.markPoint.emphasis.itemStyle = {
+ borderColor: "#c5c5c5",
+ borderWidth: 4
+ };
+ });
+
+ self.seriesOptions.markPoint.tooltip = {
+ transitionDuration: 1,
+ show: true,
+ trigger: "item",
+ confine: true,
+ extraCssText: 'z-index: 1000',
+ alwaysShowContent: true,
+ formatter: function(params) {
+ return self.graphNotesTooltipFormatter(self.mergedNotes, params);
+ }
+ };
+ }
+ });
+ }
+ else {
+ this.seriesOptions.markPoint.data = [];
+ }
+ },
+ onClick: function() {
+ if (!document.querySelectorAll(".graph-overlay").length) {
+ var overlay = document.createElement("div");
+ overlay.setAttribute("class", "graph-overlay");
+ overlay.setAttribute("style", "width: 100%; height: 100%; top: 0px; background-color: black; position: absolute; z-index: 999; opacity: 0; display: none;");
+ var echarts = document.querySelectorAll('.echarts');
+ for (var i = 0; i < echarts.length; i++) {
+ if (typeof echarts[i] !== 'undefined') {
+ echarts[i].appendChild(overlay.cloneNode(true));
+ }
+ }
+ }
+ if (document.querySelectorAll(".graph-overlay")) {
+ for (var j = 0; j < document.querySelectorAll(".graph-overlay").length; j++) {
+ document.querySelectorAll(".graph-overlay")[j].style.display = "block";
+ }
+ }
+ if (document.querySelectorAll(".graph-notes-tooltip")) {
+ for (var z = 0; z < document.querySelectorAll(".graph-notes-tooltip").length; z++) {
+ document.querySelectorAll(".graph-notes-tooltip")[z].parentNode.style.opacity = 1;
+ }
+ }
+
+ if (document.querySelectorAll(".graph-tooltip-wrapper")) {
+ for (var k = 0; k < document.querySelectorAll(".graph-tooltip-wrapper").length; k++) {
+ document.querySelectorAll(".graph-tooltip-wrapper")[k].parentNode.style.opacity = 1;
+ }
+ }
+
+
+ if (document.querySelector('x-vue-echarts div .graph-notes-tooltip')) {
+ localStorage.setItem('showTooltipFlag', true);
+ document.querySelector('x-vue-echarts div .graph-notes-tooltip').parentNode.addEventListener('mouseleave', window.hideTooltip, true);
+ }
+
+ if (document.querySelector('x-vue-echarts div .graph-tooltip-wrapper')) {
+ localStorage.setItem('showTooltipFlag', true);
+ document.querySelector('x-vue-echarts div .graph-tooltip-wrapper').parentNode.addEventListener('mouseleave', window.hideTooltip, true);
+ }
+ countlyCommon.DISABLE_AUTO_REFRESH = true;
+ }
+ },
+ watch: {
+ notationSelectedBucket: function() {
+ this.seriesOptions.markPoint.data = [];
+ var self = this;
+ setTimeout(() => {
+ self.getGraphNotes();
+ }, 0);
+ },
+ category: function() {
+ this.getGraphNotes();
+ },
+ areNotesHidden: function() {
+ this.getGraphNotes();
+ }
+ },
+ created: function() {
+ this.getGraphNotes();
+ },
+ mounted: function() {
+ window.hideGraphTooltip = function() {
+ if (typeof document.querySelectorAll(".graph-overlay") !== 'undefined') {
+ for (var j = 0; j < document.querySelectorAll(".graph-overlay").length; j++) {
+ document.querySelectorAll(".graph-overlay")[j].style.display = "none";
+ }
+ }
+ if (typeof document.querySelectorAll(".graph-notes-tooltip") !== 'undefined') {
+ for (var z = 0; z < document.querySelectorAll(".graph-notes-tooltip").length; z++) {
+ document.querySelectorAll(".graph-notes-tooltip")[z].parentNode.style.opacity = 0;
+ }
+ }
+
+ if (typeof document.querySelectorAll(".graph-tooltip-wrapper") !== 'undefined') {
+ for (var k = 0; k < document.querySelectorAll(".graph-tooltip-wrapper").length; k++) {
+ document.querySelectorAll(".graph-tooltip-wrapper")[k].parentNode.style.opacity = 0;
+ }
+ }
+
+
+ if (document.querySelector('x-vue-echarts div .graph-notes-tooltip')) {
+ localStorage.removeItem('showTooltipFlag');
+ }
+
+ if (document.querySelector('x-vue-echarts div .graph-tooltip-wrapper')) {
+ localStorage.removeItem('showTooltipFlag');
+ }
+ countlyCommon.DISABLE_AUTO_REFRESH = false;
+ };
+
+ window.hideTooltip = function(event) {
+ if (localStorage.getItem('showTooltipFlag')) {
+ event.stopImmediatePropagation();
+ }
+ return;
+ };
+ }
+ };
/*
Use xAxis.axisLabel.showMinLabel to change visibility of minimum label
@@ -903,7 +1314,8 @@
var BaseLineChart = BaseChart.extend({
mixins: [
- countlyVue.mixins.autoRefresh
+ countlyVue.mixins.autoRefresh,
+ GraphNotesMixin
],
props: {
showToggle: {
@@ -936,7 +1348,6 @@
data: function() {
return {
mixinOptions: {},
- notes: [],
seriesOptions: {
type: 'line',
markPoint: {
@@ -956,261 +1367,32 @@
},
animation: false
},
- },
- mergedNotes: [],
- };
- },
- computed: {
- mergedOptions: function() {
- var opt = _mergeWith({}, this.baseOptions, this.mixinOptions, this.option, mergeWithCustomizer);
- var series = opt.series || [];
- for (var i = 0; i < series.length; i++) {
- series[i] = _mergeWith({}, this.baseSeriesOptions, this.seriesOptions, series[i]);
- }
- this.setCalculatedLegendData(opt, series);
-
- opt.series = series;
-
- if (this.legendOptions.position !== "bottom") {
- opt.grid.right = 0;
- }
-
- if (typeof window.hideGraphTooltip !== "undefined") {
- window.hideGraphTooltip();
- }
-
- return opt;
- },
- areNotesHidden: function() {
- return this.$store.getters['countlyCommon/getAreNotesHidden'];
- }
- },
- methods: {
- dateChanged: function() {
- if (!this.areNotesHidden) {
- this.seriesOptions.markPoint.data = [];
- var self = this;
- setTimeout(() => {
- self.getGraphNotes();
- }, 500);
- }
- },
- getDateFormat: function(date) {
- var dateFormats = {
- "yyyy-mm-d-hh-mm": "YYYY-MM-D HH:00",
- "yyyy-mm-d-h-mm": "YYYY-MM-D H:00",
- "d-mmm": "D MMM",
- "dd-mmm": "DD MMM",
- "d-mmm-yyyy": "D MMM YYYY",
- "yyyy-mm-d": "YYYY-MM-D",
- "yyyy-m-d": "YYYY-M-D",
- "yyyy-mm-dd": "YYYY-MM-DD",
- "yyyy-mm": "YYYY-MM",
- "yyyy-m": "YYYY-M",
- "mmm-yyyy": "MMM YYYY",
- "h-00": "H:00",
- "hh-00": "HH:00",
- "dd/mm/yyyy": "DD/MM/YY",
- "mmm": "MMM"
- //define other well known formats
- };
-
- for (var prop in dateFormats) {
- if (moment(date, dateFormats[prop], true).isValid()) {
- return dateFormats[prop];
- }
- }
- return null;
- },
- graphNotesTimeConverter: function(ts) {
- var graphNoteDate = new Date(ts);
- if (this.seriesType === "bar") {
- return null;
- }
- else if (this.category === "drill" || this.category === "formulas") {
- if (this.notationSelectedBucket === "hourly") {
- return countlyCommon.formatDate(moment(graphNoteDate), "D MMM YYYY hh:00") || 0;
- }
- else if (this.notationSelectedBucket === "daily") {
- return countlyCommon.formatDate(moment(graphNoteDate), "D MMM YYYY") || 0;
- }
- else if (this.notationSelectedBucket === "weekly") {
- return "W" + moment(graphNoteDate).isoWeek() + " " + moment(graphNoteDate).isoWeekYear();
- }
- else if (this.notationSelectedBucket === "monthly") {
- return countlyCommon.formatDate(moment(graphNoteDate), "MMM YYYY");
- }
- }
- else if (this.category === "push-notification") {
- if (this.notationSelectedBucket === "weekly") {
- return "W" + moment(graphNoteDate).isoWeek();
- }
- else if (this.notationSelectedBucket === "monthly") {
- return countlyCommon.formatDate(moment(graphNoteDate), "YYYY MMM");
- }
- }
- else {
- var xAxisLabel = null;
- if (this.$refs.echarts && this.$refs.echarts.option && this.$refs.echarts.option.xAxis.data) {
- xAxisLabel = this.$refs.echarts.option.xAxis.data[0];
- }
- else {
- return null;
- }
- var formatType = this.getDateFormat(xAxisLabel);
- return countlyCommon.formatDate(moment(ts), formatType) || 0;
- }
- },
- mergeGraphNotesByDate: function(notes, mergeByWeek) {
- var self = this;
- const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
- var multiplierCount = 2;
- if (this.$refs.echarts && (this.$refs.echarts.getWidth() < 500 && this.$refs.echarts.getWidth() !== 100)) {
- multiplierCount = 8;
- }
- notes.forEach(function(orderedItem) {
- orderedItem.dateStr = self.graphNotesTimeConverter(orderedItem.ts);
- orderedItem.weekCount = moment(orderedItem.ts).year() - moment(orderedItem.ts).week();
- });
-
- if (mergeByWeek) {
- for (var k = 1; k < notes.length; k++) {
- for (var m = 0; m < k; m++) {
- if (notes[k].weekCount === notes[m].weekCount) {
- notes[k].dateStr = notes[m].dateStr;
- }
- }
- }
- }
-
- notes.map(function(item) {
- item.times = notes.filter(obj => obj.dateStr === item.dateStr).length;
- });
-
- notes = notes.sort(function(a, b) {
- return new Date(b.ts) - new Date(a.ts);
- });
- for (var i = 0; i < notes.length - 1; i++) {
- if ((i !== notes.length - 1) && (Math.round(Math.abs((notes[i].ts - notes[i + 1].ts) / oneDay)) > 0 && Math.round(Math.abs((notes[i].ts - notes[i + 1].ts) / oneDay)) < multiplierCount)) {
- notes[i].hasCloseDate = true;
- }
- }
- return notes;
- },
- graphNotesTooltipFormatter: function(arr, params) {
- var filteredNotes = arr.filter(x=>x.dateStr === params.data.note.dateStr && x.times > 1);
- var minimizeTooltip = false;
- var template = "";
- var conditionalClassName = "graph-notes-tooltip";
-
- if ((this.$refs && this.$refs.echarts) && (this.$refs.echarts.getHeight() < 200 || this.$refs.echarts.getWidth() < 500)) {
- minimizeTooltip = true;
+ },
+ };
+ },
+ computed: {
+ mergedOptions: function() {
+ var opt = _mergeWith({}, this.baseOptions, this.mixinOptions, this.option, mergeWithCustomizer);
+ var series = opt.series || [];
+ for (var i = 0; i < series.length; i++) {
+ series[i] = _mergeWith({}, this.baseSeriesOptions, this.seriesOptions, series[i]);
}
+ this.setCalculatedLegendData(opt, series);
+ opt.series = series;
- if (minimizeTooltip) {
- conditionalClassName = 'graph-notes-tooltip minimize';
- }
- else if (!minimizeTooltip && filteredNotes.length > 0) {
- conditionalClassName = 'graph-notes-tooltip bu-mb-4 bu-mx-2';
+ if (this.legendOptions.position !== "bottom") {
+ opt.grid.right = 0;
}
- if (filteredNotes.length > 0) {
- for (var i = 0; i < filteredNotes.length; i++) {
- if (i === 0) {
- template = '\
- \
- \
- \
-
\
- ";
- }
- }
- }
- else {
- template += '\
- \
-
' + this.sanitizeHtml(params.data.note.note) + '
\
-
';
- }
- return template;
- },
- weekCountToDate: function(year, week, day) {
- const firstDayOfYear = new Date(year, 0, 1);
- const days = 2 + day + (week - 1) * 7 - firstDayOfYear.getDay();
- return new Date(year, 0, days);
- },
- graphNotesFilterChecks: function() {
- var returnedObj = {};
- var filter = {};
- var appIds = [countlyCommon.ACTIVE_APP_ID];
- if (this.$parent && this.$parent.data) {
- if (this.$parent.data.apps) {
- appIds = this.$parent.data.apps;
- }
- if (this.$parent.data.custom_period && this.$parent.data.custom_period.length) {
- if (typeof this.$parent.data.custom_period === "string") {
- var convertedTimeObj = countlyCommon.getPeriodObj(this.$parent.data.custom_period);
- filter.customPeriod = [convertedTimeObj.start, convertedTimeObj.end];
- }
- else if (Array.isArray(this.$parent.data.custom_period)) {
- filter.customPeriod = [this.$parent.data.custom_period[0], this.$parent.data.custom_period[1]];
- }
- }
+ if (typeof window.hideGraphTooltip !== "undefined") {
+ window.hideGraphTooltip();
}
- if ((this.category === "formulas" || this.category === "drill") && (this.$parent && this.$parent.data)) {
- var xAxisLabels = this.option.xAxis.data;
- var customPeriodStartDate;
- var customPeriodEndDate;
- if (this.$parent.data.bucket === "daily") {
- customPeriodStartDate = new Date(xAxisLabels[0]).getTime();
- customPeriodEndDate = new Date(xAxisLabels[xAxisLabels.length - 1]).setHours(23, 59);
- filter.customPeriod = [customPeriodStartDate, customPeriodEndDate];
- }
- else if (this.$parent.data.bucket === "weekly") {
- customPeriodStartDate = this.weekCountToDate(xAxisLabels[0].split(' ')[1], xAxisLabels[0].split(' ')[0].split('W')[1], 7);
- customPeriodEndDate = this.weekCountToDate(xAxisLabels[xAxisLabels.length - 1].split(' ')[1], xAxisLabels[xAxisLabels.length - 1].split(' ')[0].split('W')[1], 7);
- filter.customPeriod = [customPeriodStartDate.getTime(), customPeriodEndDate.getTime()];
- }
- else if (this.$parent.data.bucket === "monthly") {
- customPeriodStartDate = new Date(xAxisLabels[0]).getTime();
- customPeriodEndDate = new Date(xAxisLabels[xAxisLabels.length - 1]).getTime();
- customPeriodEndDate = moment(customPeriodEndDate).endOf('month')._d.valueOf();
- filter.customPeriod = [customPeriodStartDate, customPeriodEndDate];
- }
- }
- returnedObj.appIds = appIds;
- returnedObj.customPeriod = filter;
- return returnedObj;
- },
+ return opt;
+ }
+ },
+ methods: {
getGraphNotes: function() {
if (!this.hideNotation && !this.areNotesHidden) {
var self = this;
@@ -1295,103 +1477,7 @@
else {
this.seriesOptions.markPoint.data = [];
}
- },
- onClick: function() {
- if (!document.querySelectorAll(".graph-overlay").length) {
- var overlay = document.createElement("div");
- overlay.setAttribute("class", "graph-overlay");
- overlay.setAttribute("style", "width: 100%; height: 100%; top: 0px; background-color: black; position: absolute; z-index: 999; opacity: 0; display: none;");
- var echarts = document.querySelectorAll('.echarts');
- for (var i = 0; i < echarts.length; i++) {
- if (typeof echarts[i] !== 'undefined') {
- echarts[i].appendChild(overlay.cloneNode(true));
- }
- }
- }
- if (document.querySelectorAll(".graph-overlay")) {
- for (var j = 0; j < document.querySelectorAll(".graph-overlay").length; j++) {
- document.querySelectorAll(".graph-overlay")[j].style.display = "block";
- }
- }
- if (document.querySelectorAll(".graph-notes-tooltip")) {
- for (var z = 0; z < document.querySelectorAll(".graph-notes-tooltip").length; z++) {
- document.querySelectorAll(".graph-notes-tooltip")[z].parentNode.style.opacity = 1;
- }
- }
-
- if (document.querySelectorAll(".graph-tooltip-wrapper")) {
- for (var k = 0; k < document.querySelectorAll(".graph-tooltip-wrapper").length; k++) {
- document.querySelectorAll(".graph-tooltip-wrapper")[k].parentNode.style.opacity = 1;
- }
- }
-
-
- if (document.querySelector('x-vue-echarts div .graph-notes-tooltip')) {
- localStorage.setItem('showTooltipFlag', true);
- document.querySelector('x-vue-echarts div .graph-notes-tooltip').parentNode.addEventListener('mouseleave', window.hideTooltip, true);
- }
-
- if (document.querySelector('x-vue-echarts div .graph-tooltip-wrapper')) {
- localStorage.setItem('showTooltipFlag', true);
- document.querySelector('x-vue-echarts div .graph-tooltip-wrapper').parentNode.addEventListener('mouseleave', window.hideTooltip, true);
- }
- countlyCommon.DISABLE_AUTO_REFRESH = true;
- }
- },
- watch: {
- notationSelectedBucket: function() {
- this.seriesOptions.markPoint.data = [];
- var self = this;
- setTimeout(() => {
- self.getGraphNotes();
- }, 0);
- },
- category: function() {
- this.getGraphNotes();
- },
- areNotesHidden: function() {
- this.getGraphNotes();
}
- },
- created: function() {
- this.getGraphNotes();
- },
- mounted: function() {
- window.hideGraphTooltip = function() {
- if (typeof document.querySelectorAll(".graph-overlay") !== 'undefined') {
- for (var j = 0; j < document.querySelectorAll(".graph-overlay").length; j++) {
- document.querySelectorAll(".graph-overlay")[j].style.display = "none";
- }
- }
- if (typeof document.querySelectorAll(".graph-notes-tooltip") !== 'undefined') {
- for (var z = 0; z < document.querySelectorAll(".graph-notes-tooltip").length; z++) {
- document.querySelectorAll(".graph-notes-tooltip")[z].parentNode.style.opacity = 0;
- }
- }
-
- if (typeof document.querySelectorAll(".graph-tooltip-wrapper") !== 'undefined') {
- for (var k = 0; k < document.querySelectorAll(".graph-tooltip-wrapper").length; k++) {
- document.querySelectorAll(".graph-tooltip-wrapper")[k].parentNode.style.opacity = 0;
- }
- }
-
-
- if (document.querySelector('x-vue-echarts div .graph-notes-tooltip')) {
- localStorage.removeItem('showTooltipFlag');
- }
-
- if (document.querySelector('x-vue-echarts div .graph-tooltip-wrapper')) {
- localStorage.removeItem('showTooltipFlag');
- }
- countlyCommon.DISABLE_AUTO_REFRESH = false;
- };
-
- window.hideTooltip = function(event) {
- if (localStorage.getItem('showTooltipFlag')) {
- event.stopImmediatePropagation();
- }
- return;
- };
}
});
@@ -1408,12 +1494,33 @@
because the y axis does not adjusts itself when the series changes
*/
var BaseBarChart = BaseChart.extend({
+ mixins: [
+ countlyVue.mixins.autoRefresh,
+ GraphNotesMixin
+ ],
data: function() {
return {
mixinOptions: {},
seriesOptions: {
- type: 'bar'
- }
+ type: 'bar',
+ markPoint: {
+ data: [],
+ label: {
+ normal: {
+ show: true,
+ color: "rgba(255, 251, 251, 1)",
+ fontWeight: "500",
+ align: "center",
+ padding: [1, 1, 1, 2],
+ },
+ },
+ emphasis: {
+ itemStyle: {
+ }
+ },
+ animation: false
+ },
+ },
};
},
computed: {
@@ -1820,7 +1927,7 @@
},
methods: {
refreshNotes: function() {
- if (this.$refs.echartRef && this.$refs.echartRef.seriesOptions.type === "line") {
+ if (this.$refs.echartRef) {
this.$refs.echartRef.getGraphNotes();
}
},
@@ -2687,6 +2794,11 @@
type: String,
default: "cly-chart-bar-test-id",
required: false
+ },
+ hideNotation: {
+ type: Boolean,
+ default: true,
+ required: false
}
},
components: {
@@ -2703,9 +2815,24 @@
return opt;
}
},
+ methods: {
+ refresh: function() {
+ if (!this.areNotesHidden) {
+ this.getGraphNotes();
+ }
+ },
+ notesVisibility: function() {
+ if (!this.areNotesHidden) {
+ this.getGraphNotes();
+ }
+ else {
+ this.seriesOptions.markPoint.data = [];
+ }
+ }
+ },
template: '\
\
-
\
+ \
\
\
\
@@ -2720,7 +2847,8 @@
:option="chartOptions"\
:autoresize="autoresize"\
@finished="onChartFinished"\
- @datazoom="onDataZoom">\
+ @datazoom="onDataZoom"\
+ @click="onClick">\
\
\
\
From 555c2e3c319c6f4f2d43567a60ec68fb8251829a Mon Sep 17 00:00:00 2001
From: ayasayadi1
Date: Tue, 12 Nov 2024 21:58:55 +0000
Subject: [PATCH 015/186] Show graph annotations on analytics stacked bar
charts
---
.../frontend/public/templates/widgets/analytics/widget.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/dashboards/frontend/public/templates/widgets/analytics/widget.html b/plugins/dashboards/frontend/public/templates/widgets/analytics/widget.html
index 6da38f9f9f6..ab0321d70f5 100644
--- a/plugins/dashboards/frontend/public/templates/widgets/analytics/widget.html
+++ b/plugins/dashboards/frontend/public/templates/widgets/analytics/widget.html
@@ -57,7 +57,7 @@ {{formatNumber(number.total)}}
-
+
From 3e2577ea9266bd20a0dc7e4f31f8d66ab432e102 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Furkan=20Ba=C5=9Faran?=
Date: Mon, 25 Nov 2024 16:06:44 +0300
Subject: [PATCH 016/186] chore: convert const to var for deploymentConf.
---
frontend/express/app.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/express/app.js b/frontend/express/app.js
index 691346851ac..da92eb7fef6 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -11,7 +11,7 @@ var path = require('path');
var IS_FLEX = false;
if (fs.existsSync(path.resolve('/opt/deployment_env.json'))) {
- const deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
+ var deploymentConf = fs.readFileSync('/opt/deployment_env.json', 'utf8');
try {
if (JSON.parse(deploymentConf).DEPLOYMENT_ID) {
IS_FLEX = true;
From c17584516b37a466ea8a4983cf5a516a59015b65 Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Tue, 3 Dec 2024 18:19:26 +0000
Subject: [PATCH 017/186] fix: clean code and styles
---
.../countly/vue/components/content.js | 205 +++++++++---------
.../content/UI/content-sidebar-input.html | 48 ++++
.../public/stylesheets/vue/clyvue.scss | 158 +++++++++-----
3 files changed, 256 insertions(+), 155 deletions(-)
create mode 100644 frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
diff --git a/frontend/express/public/javascripts/countly/vue/components/content.js b/frontend/express/public/javascripts/countly/vue/components/content.js
index fedea228047..af45f801d43 100644
--- a/frontend/express/public/javascripts/countly/vue/components/content.js
+++ b/frontend/express/public/javascripts/countly/vue/components/content.js
@@ -315,7 +315,7 @@
methods: {
},
template: `
-
+
`,
}));
+
+ // CONSTANTS
+
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_COLOR_PICKER = 'color-picker';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_DROPDOWN = 'dropdown';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT = 'input';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT_NUMBER = 'input-number';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER = 'slider';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWITCH = 'switch';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_TAB = 'tab';
+
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE = {
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_COLOR_PICKER]: 'cly-colorpicker',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_DROPDOWN]: 'el-select',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT]: 'el-input',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT_NUMBER]: 'el-input-number',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER]: 'el-slider',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWITCH]: 'el-switch',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_TAB]: 'div'
+ };
+
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_HORIZONTAL = 'horizontal';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_VERTICAL = 'vertical';
+
Vue.component("cly-content-step", countlyVue.components.create({
+ template: CV.T('/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html'),
+
props: {
- value: {
- type: [String, Number, Boolean, Object],
- default: null
- },
- subHeader: {
- type: String,
- required: false,
- default: null
+ disabled: {
+ default: false,
+ type: Boolean
},
+
label: {
- type: String,
- required: false,
- default: null
- },
- inputType: {
- type: String,
- required: false,
- default: 'text'
+ default: null,
+ type: String
},
+
options: {
- type: Array,
- required: false,
- default: () => []
+ default: () => [],
+ type: Array
},
+
+ placement: {
+ default: COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_HORIZONTAL,
+ type: String
+ },
+
position: {
- type: String,
- required: false,
- default: 'horizontal'
+ default: COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_HORIZONTAL,
+ type: String
},
- width: {
- type: String,
- required: false,
- default: null
+
+ subHeader: {
+ default: null,
+ type: String
},
- inputProps: {
- type: Object,
- required: false,
- default: () => ({})
- }
- },
- data() {
- return {
- localValue: this.initializeLocalValue(),
- };
- },
- watch: {
+
+ suffix: {
+ default: null,
+ type: String
+ },
+
+ type: {
+ default: COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT,
+ type: String
+ },
+
value: {
- handler: function(newValue) {
- this.localValue = this.initializeLocalValue(newValue);
- },
- deep: true
+ default: null,
+ type: [String, Number, Boolean, Object]
},
- localValue: {
- handler: function(newValue) {
- this.$emit('input', newValue);
- },
- deep: true
+
+ size: {
+ default: null,
+ type: String
}
},
- methods: {
- initializeLocalValue(val = this.value) {
- if (this.inputType === 'switch') {
- return val === true;
+
+ emits: [
+ 'input'
+ ],
+
+ computed: {
+ componentValue: {
+ get() {
+ if (this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWITCH) {
+ return !!this.value;
+ }
+
+ return this.value || null;
+ },
+ set(newValue) {
+ this.$emit('input', newValue);
}
- return val !== undefined ? val : null;
- },
- updateValue: function(newValue) {
- this.localValue = newValue;
- },
- getComponentType: function(type) {
- const mapping = {
- dropdown: 'el-select',
- input: 'el-input',
- switch: 'el-switch',
- slider: 'el-slider',
- 'color-picker': 'cly-colorpicker',
- 'input-number': 'el-input-number',
- };
- return mapping[type] || 'div';
+ },
+
+ isDropdownInput() {
+ return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_DROPDOWN;
+ },
+
+ isSliderInput() {
+ return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER;
+ },
+
+ isSuffixVisible() {
+ return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT && this.suffix;
+ },
+
+ isVerticalInput() {
+ return this.position === COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_VERTICAL;
+ },
+
+ mainComponent() {
+ return COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE[this.type] || 'div';
}
- },
- created: function() {
- },
- template: `
-
-
-
-
{{ label }}
-
-
- {{inputProps.append}}
-
-
-
-
-
- `,
+ }
}));
Vue.component("cly-option-swapper", countlyVue.components.BaseComponent.extend({
diff --git a/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html b/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
new file mode 100644
index 00000000000..745148f1114
--- /dev/null
+++ b/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
@@ -0,0 +1,48 @@
+
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index d0e8a66a78f..0547de1de3b 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -4246,65 +4246,16 @@
.cly-vue-content-builder {
position: absolute;
z-index: 2001;
- // z-index: 2006;
- // z-index: 9999999;
- background-color: white;
- // width: 100vw;
- width: 100%;
top: 0;
left: 0;
- display: flex;
- flex-direction: column;
+ width: 100%;
min-height: 100vh;
- &__layout-step {
- position: relative;
- .picker-body--right {
- position: absolute !important;
- right: 0 !important;
- left: auto !important
- }
- &__component {
- .el-input-group__append {
- padding: 0 8px !important;
- }
- /* .el-slider__bar {
- background-color: #0166D6;
- }
+ display: flex;
+ flex-direction: column;
- .el-slider__button {
- border-color: #0166D6;
- } */
+ background-color: white;
- .el-slider__runway {
- background-color: #E2E4E8;
- }
- }
- &__header {
- font-family: Inter;
- font-size: 12px;
- font-weight: 500;
- line-height: 14px;
- letter-spacing: 0.5px;
- text-align: left;
- color: #424243;
- margin-bottom: 24px;
- }
- &__label {
- font-family: Inter;
- font-size: 13px;
- font-weight: 500;
- line-height: 16px;
- text-align: left;
- color: #333C48;
- }
- &__element {
- margin-bottom: 24px;
- }
- &__sub-header {
- font-weight: 500;
- }
- }
&__layout-steps {
padding: 0 16px;
.el-collapse-item__wrap {
@@ -4315,6 +4266,7 @@
}
background-color: #FFF
}
+
&__layout-header {
display: flex;
height: 80px;
@@ -4479,6 +4431,106 @@
}
}
+.cly-vue-content-builder-sidebar-input {
+ // .cly-vue-content-builder-sidebar-input__component
+ &__component {
+ max-width: 50%;
+ width: auto;
+ box-shadow: none;
+
+ // .cly-vue-content-builder-sidebar-input__component .el-input__inner
+ & .el-input__inner {
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+ color: #383A3F;
+
+ background-color: #FFFFFF;
+ border: 1px solid #E2E4E8;
+ border-radius: 6px;
+ padding: 6px 10px;
+
+ // .cly-vue-content-builder-sidebar-input__component .el-input__inner:hover
+ &:hover {
+ border-color: #0166D6;
+ }
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component .el-input__suffix
+ & .el-input__suffix {
+ right: 0;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component .el-input__suffix-inner
+ & .el-input__suffix-inner {
+ padding: 6px 10px;
+ padding-left: 0;
+ color: #81868D;
+ width: 16px;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component.el-input--suffix
+ &.el-input--suffix {
+
+ // .cly-vue-content-builder-sidebar-input__component.el-input--suffix .el-input__inner
+ & .el-input__inner {
+ padding-right: 34px;
+ }
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component--slider
+ &--slider {
+ width: 100%;
+ }
+ }
+
+ // .cly-vue-content-builder-sidebar-input__input-container
+ &__input-container {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 8px;
+
+ // .cly-vue-content-builder-sidebar-input__input-container--small .cly-vue-content-builder-sidebar-input__component
+ &--small .cly-vue-content-builder-sidebar-input__component {
+ max-width: 64px;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__input-container--large .cly-vue-content-builder-sidebar-input__component
+ &--large .cly-vue-content-builder-sidebar-input__component {
+ max-width: 100%;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__input-container--vertical
+ &--vertical {
+ flex-direction: column;
+ align-items: flex-start;
+
+ // .cly-vue-content-builder-sidebar-input__input-container--vertical .cly-vue-content-builder-sidebar-input__component
+ & .cly-vue-content-builder-sidebar-input__component {
+ width: 100%;
+ max-width: 100%;
+ }
+ }
+ }
+
+ // .cly-vue-content-builder-sidebar-input__label
+ &__label {
+ flex-shrink: 0;
+ margin-right: auto;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__sub-header
+ &__sub-header {
+ color: #81868D;
+ font-size: 13px;
+ font-weight: 500;
+ line-height: 16px;
+ margin-bottom: 16px;
+ }
+}
+
.cly-option-swapper {
display: flex;
justify-content: space-around;
From 31ffe17c3e3bda329cb15d632fe5f149fa8ca47e Mon Sep 17 00:00:00 2001
From: GC <87137526+LaNinja06@users.noreply.github.com>
Date: Tue, 3 Dec 2024 17:39:27 -0600
Subject: [PATCH 018/186] Update delete_old_members.js to be exluded from
deletion
---
bin/scripts/member-managament/delete_old_members.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bin/scripts/member-managament/delete_old_members.js b/bin/scripts/member-managament/delete_old_members.js
index a52639e79f9..5775f8097b7 100644
--- a/bin/scripts/member-managament/delete_old_members.js
+++ b/bin/scripts/member-managament/delete_old_members.js
@@ -17,7 +17,9 @@ var days = 30;
//query states not logged in in last N days , but logged in at least once
var ts = Math.round(Date.now() / 1000) - days * 24 * 60 * 60;
-var query = {"$and": [{"last_login": {"$lt": ts}}, {"last_login": {"$exists": true}}]};
+var query = {"$and": [{"last_login": {"$lt": ts}}, {"last_login": {"$exists": true}}, {"global_admin": {"$ne": true}}]};
+// {"global_admin": {"$ne": true}} ensures that global admins are excluded from deletion.
+// If it is set to {"$ne": false}, global admins will not be excluded and will be deleted as well.
//although mogodb does not return null on $lt, keep like above for safety
@@ -120,4 +122,4 @@ function sendRequest(params, callback) {
console.log(e);
callback({"err": 'Failed to send'});
}
-}
\ No newline at end of file
+}
From e30f82e08c61ac4d6be3c9dff7a6f752ec9f5b30 Mon Sep 17 00:00:00 2001
From: GC <87137526+LaNinja06@users.noreply.github.com>
Date: Tue, 3 Dec 2024 20:38:25 -0600
Subject: [PATCH 019/186] Update delete_old_members.js
---
bin/scripts/member-managament/delete_old_members.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/bin/scripts/member-managament/delete_old_members.js b/bin/scripts/member-managament/delete_old_members.js
index 5775f8097b7..b6805563289 100644
--- a/bin/scripts/member-managament/delete_old_members.js
+++ b/bin/scripts/member-managament/delete_old_members.js
@@ -18,8 +18,7 @@ var days = 30;
var ts = Math.round(Date.now() / 1000) - days * 24 * 60 * 60;
var query = {"$and": [{"last_login": {"$lt": ts}}, {"last_login": {"$exists": true}}, {"global_admin": {"$ne": true}}]};
-// {"global_admin": {"$ne": true}} ensures that global admins are excluded from deletion.
-// If it is set to {"$ne": false}, global admins will not be excluded and will be deleted as well.
+// {"global_admin": {"$ne": true}} ensures that global admins are excluded from deletion. If set to {"$ne": false}, global admins will not be excluded and will be deleted as well.
//although mogodb does not return null on $lt, keep like above for safety
From 15f08e69ec690b375b477518489e70ff5f9ec1e2 Mon Sep 17 00:00:00 2001
From: GC <87137526+LaNinja06@users.noreply.github.com>
Date: Tue, 3 Dec 2024 20:38:44 -0600
Subject: [PATCH 020/186] Update delete_old_members.js
From 3696eb83b10bdf36c6a065d676b23260ba1d74f1 Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Wed, 4 Dec 2024 12:54:44 +0000
Subject: [PATCH 021/186] feat: add option swapper and content sidebar input
type
---
.../countly/vue/components/content.js | 117 +++++++-----------
.../vue/templates/UI/option-swapper.html | 23 ++++
.../content/UI/content-sidebar-input.html | 11 +-
.../public/stylesheets/vue/clyvue.scss | 72 +++++++----
4 files changed, 121 insertions(+), 102 deletions(-)
create mode 100644 frontend/express/public/javascripts/countly/vue/templates/UI/option-swapper.html
diff --git a/frontend/express/public/javascripts/countly/vue/components/content.js b/frontend/express/public/javascripts/countly/vue/components/content.js
index af45f801d43..6f49de323a4 100644
--- a/frontend/express/public/javascripts/countly/vue/components/content.js
+++ b/frontend/express/public/javascripts/countly/vue/components/content.js
@@ -339,6 +339,7 @@
const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT = 'input';
const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT_NUMBER = 'input-number';
const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER = 'slider';
+ const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWAPPER = 'swapper';
const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWITCH = 'switch';
const COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_TAB = 'tab';
@@ -348,6 +349,7 @@
[COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT]: 'el-input',
[COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT_NUMBER]: 'el-input-number',
[COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER]: 'el-slider',
+ [COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWAPPER]: 'cly-option-swapper',
[COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWITCH]: 'el-switch',
[COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_TAB]: 'div'
};
@@ -432,6 +434,10 @@
return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_DROPDOWN;
},
+ isComponentWithOptions() {
+ return this.isDropdownInput && Array.isArray(this.options) && this.options.length;
+ },
+
isSliderInput() {
return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SLIDER;
},
@@ -440,6 +446,10 @@
return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT && this.suffix;
},
+ isSwapperInput() {
+ return this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_SWAPPER;
+ },
+
isVerticalInput() {
return this.position === COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_VERTICAL;
},
@@ -450,89 +460,50 @@
}
}));
- Vue.component("cly-option-swapper", countlyVue.components.BaseComponent.extend({
- mixins: [countlyVue.mixins.i18n],
+ Vue.component("cly-option-swapper", countlyVue.components.create({
+ template: CV.T('/javascripts/countly/vue/templates/UI/option-swapper.html'),
+
props: {
- value: {
- type: [String, Number],
- default: null
- },
- items: {
- type: Array,
- default: function() {
- return [];
- }
+ highlightOnSelect: {
+ default: true,
+ type: Boolean
},
- activeColorCode: {
- type: String,
- default: '#0166D6'
+
+ options: {
+ default: () => [],
+ type: Array
},
- width: {
- type: String,
- default: '100'
+
+ value: {
+ default: null,
+ type: [String, Number]
}
},
- data: function() {
- return {
- selectedValue: this.items[0].value || 0
- };
- },
- watch: {
- value: function(value) {
- this.selectedValue = value;
+
+ emits: [
+ 'input'
+ ],
+
+ mixins: [countlyVue.mixins.i18n],
+
+ computed: {
+ selectedOption: {
+ get() {
+ return this.value || this.options[0].value;
+ },
+ set(value) {
+ this.$emit('input', value);
+ }
}
},
+
methods: {
- numberChange: function(item) {
- if (!item.disabled) {
- this.selectedValue = item.value;
- this.$emit('input', this.selectedValue);
+ onOptionClick: function(option) {
+ if (!option.disabled) {
+ this.selectedOption = option.value;
}
}
- },
- created: function() {
- this.selectedValue = this.value || this.items[0].value || 0;
- },
- template: `
-
-
-
-
-
-
-
- {{ item.text }}
-
-
-
-
-
- `
+ }
}));
Vue.component("cly-device-selector", countlyVue.components.BaseComponent.extend({
diff --git a/frontend/express/public/javascripts/countly/vue/templates/UI/option-swapper.html b/frontend/express/public/javascripts/countly/vue/templates/UI/option-swapper.html
new file mode 100644
index 00000000000..e8824430245
--- /dev/null
+++ b/frontend/express/public/javascripts/countly/vue/templates/UI/option-swapper.html
@@ -0,0 +1,23 @@
+
+
+
+
+ {{ option.text }}
+
+
diff --git a/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html b/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
index 745148f1114..062c9a44c42 100644
--- a/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
+++ b/frontend/express/public/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html
@@ -12,12 +12,12 @@
[`cly-vue-content-builder-sidebar-input__input-container--${size}`]: !!size
}"
>
-
+
'
+ ' '
}));
Vue.component("cly-dropzone", window.vue2Dropzone);
From 882331276347d1e3028b5b443eae4cf225755c2f Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Wed, 4 Dec 2024 19:11:57 +0000
Subject: [PATCH 026/186] feat: set more meaningful name to component
---
.../public/javascripts/countly/vue/components/content.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/express/public/javascripts/countly/vue/components/content.js b/frontend/express/public/javascripts/countly/vue/components/content.js
index 0a0ac9caece..649ab4ff2b2 100644
--- a/frontend/express/public/javascripts/countly/vue/components/content.js
+++ b/frontend/express/public/javascripts/countly/vue/components/content.js
@@ -357,7 +357,7 @@
const COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_HORIZONTAL = 'horizontal';
const COUNTLY_CONTENT_SIDEBAR_INPUT_PLACEMENT_VERTICAL = 'vertical';
- Vue.component("cly-content-step", countlyVue.components.create({
+ Vue.component("cly-content-builder-sidebar-input", countlyVue.components.create({
template: CV.T('/javascripts/countly/vue/templates/content/UI/content-sidebar-input.html'),
props: {
From ab2aceacd9980b69e8c0205a4b0a45bc3ace4930 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 6 Dec 2024 01:38:18 +0000
Subject: [PATCH 027/186] Bump express from 4.21.1 to 4.21.2
Bumps [express](https://github.com/expressjs/express) from 4.21.1 to 4.21.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)
---
updated-dependencies:
- dependency-name: express
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
package-lock.json | 22 ++++++++++++++--------
package.json | 2 +-
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index e0439a49c14..5c1db54f601 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26,7 +26,7 @@
"csvtojson": "2.0.10",
"ejs": "3.1.10",
"errorhandler": "1.5.1",
- "express": "4.21.1",
+ "express": "4.21.2",
"express-rate-limit": "7.4.1",
"express-session": "1.18.1",
"form-data": "^4.0.0",
@@ -5281,9 +5281,10 @@
}
},
"node_modules/express": {
- "version": "4.21.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
- "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
+ "version": "4.21.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
+ "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
@@ -5304,7 +5305,7 @@
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
+ "path-to-regexp": "0.1.12",
"proxy-addr": "~2.0.7",
"qs": "6.13.0",
"range-parser": "~1.2.1",
@@ -5319,6 +5320,10 @@
},
"engines": {
"node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/express-rate-limit": {
@@ -10538,9 +10543,10 @@
}
},
"node_modules/path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
+ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
+ "license": "MIT"
},
"node_modules/pbf": {
"version": "3.3.0",
diff --git a/package.json b/package.json
index cf3fb0c3422..6fae227fb9d 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
"csvtojson": "2.0.10",
"ejs": "3.1.10",
"errorhandler": "1.5.1",
- "express": "4.21.1",
+ "express": "4.21.2",
"express-rate-limit": "7.4.1",
"express-session": "1.18.1",
"form-data": "^4.0.0",
From 7f59c82738f12f04fb9d10aade9e0e4f2b787d7a Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Fri, 6 Dec 2024 10:24:34 +0000
Subject: [PATCH 028/186] wip: refactor color picler
---
.../countly/vue/components/input.js | 143 ++++++-----
.../vue/templates/UI/color-picker.html | 66 +++++
.../public/stylesheets/vue/clyvue.scss | 229 +++++++++++++++---
3 files changed, 338 insertions(+), 100 deletions(-)
create mode 100644 frontend/express/public/javascripts/countly/vue/templates/UI/color-picker.html
diff --git a/frontend/express/public/javascripts/countly/vue/components/input.js b/frontend/express/public/javascripts/countly/vue/components/input.js
index c4ca147c404..97dd5bf5157 100644
--- a/frontend/express/public/javascripts/countly/vue/components/input.js
+++ b/frontend/express/public/javascripts/countly/vue/components/input.js
@@ -3,18 +3,46 @@
(function(countlyVue) {
var _mixins = countlyVue.mixins;
- var HEX_COLOR_REGEX = new RegExp('^#([0-9a-f]{3}|[0-9a-f]{6})$', 'i');
+ var HEX_COLOR_REGEX = new RegExp('^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$', 'i');
+
+ Vue.component("cly-colorpicker", countlyVue.components.create({
+ template: CV.T('/javascripts/countly/vue/templates/UI/color-picker.html'),
+
+ components: {
+ picker: window.VueColor.Sketch
+ },
+
+ props: {
+ placement: {
+ default: 'left',
+ type: String
+ },
+
+ resetValue: {
+ default: '#FFFFFF',
+ type: [String, Object]
+ },
+
+ testId: {
+ default: 'cly-colorpicker-test-id',
+ type: String
+ },
+
+ value: {
+ default: '#FFFFFF',
+ type: [String, Object],
+ }
+ },
+
+ emits: [
+ 'change',
+ 'input'
+ ],
- Vue.component("cly-colorpicker", countlyVue.components.BaseComponent.extend({
mixins: [
_mixins.i18n
],
- props: {
- value: {type: [String, Object], default: "#FFFFFF"},
- resetValue: { type: [String, Object], default: "#FFFFFF"},
- placement: {type: String, default: "left"},
- testId: {type: String, default: "cly-colorpicker-test-id"}
- },
+
data: function() {
return {
isOpened: false,
@@ -22,89 +50,70 @@
previousColor: null
};
},
+
computed: {
- previewStyle: function() {
- return {
- "background-color": this.value
- };
+ bodyClasses() {
+ return ['cly-vue-color-picker__body--' + this.placement];
+ },
+
+ dropStyles() {
+ return { color: this.localValue };
},
- localValue: {
- get: function() {
- var rawValue = this.value || this.resetValue;
- return rawValue.replace("#", "");
+ localValue: {
+ get() {
+ return (this.value || this.resetValue);
},
- set: function(value) {
- var colorValue = "#" + value.replace("#", "");
+ set(value) {
+ let finalValue = value;
+
+ if (!finalValue.startsWith('#')) {
+ finalValue = `#${finalValue}`;
+ }
- if (colorValue.match(HEX_COLOR_REGEX)) {
- this.setColor({hex: colorValue});
+ if (finalValue.match(HEX_COLOR_REGEX)) {
+ this.$emit('input', finalValue);
}
}
- },
- alignment: function() {
- return "picker-body--" + this.placement;
- },
+ }
},
watch: {
- isOpened: {
- handler(value) {
- if (value) {
- this.previousColor = JSON.parse(JSON.stringify(this.value));
- }
+ isOpened(value) {
+ if (value) {
+ this.previousColor = JSON.parse(JSON.stringify(this.value));
}
}
},
methods: {
- setColor: function(color) {
- var finalColor = color.hex8 || color.hex;
- this.previousColor = JSON.parse(JSON.stringify(this.localValue));
- this.$emit("input", finalColor);
- },
- reset: function() {
- this.setColor({hex: this.resetValue});
- this.close();
- },
- open: function() {
+ onInputContainerClick() {
this.isOpened = true;
},
- close: function() {
- this.isOpened = false;
- },
- confirm: function(color) {
- this.$emit('change', color);
+
+ close() {
this.isOpened = false;
},
onCancelClick() {
this.localValue = this.previousColor;
this.close();
+ },
+
+ onConfirmClick() {
+ this.$emit('change', this.localValue);
+ this.close();
+ },
+
+ onPickerInput(color) {
+ this.localValue = color.hex8 || color.hex;
+ },
+
+ onResetClick() {
+ this.localValue = this.resetValue;
+ this.close();
}
- },
- components: {
- picker: window.VueColor.Sketch
- },
- template: '\n' +
- '
\n' +
- '
\n' +
- '
\n' +
- '

\n' +
- '
\n' +
- '
\n' +
- '

\n' +
- '

\n' +
- '
\n' +
- '
\n' +
- '
\n' +
- '
\n' +
- '\n' +
- '\n' +
- '\n' +
- '
\n' +
- '
\n' +
- '
'
+ }
}));
Vue.component("cly-dropzone", window.vue2Dropzone);
diff --git a/frontend/express/public/javascripts/countly/vue/templates/UI/color-picker.html b/frontend/express/public/javascripts/countly/vue/templates/UI/color-picker.html
new file mode 100644
index 00000000000..06a5bece2ff
--- /dev/null
+++ b/frontend/express/public/javascripts/countly/vue/templates/UI/color-picker.html
@@ -0,0 +1,66 @@
+
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index 5dcd751a9bd..c654b2ef74b 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -1189,15 +1189,179 @@
}
}
- // colorpicker
- .cly-vue-colorpicker {
+ // color-picker
+ .cly-vue-color-picker {
+ position: relative;
+ display: block;
+
+ // .cly-vue-color-picker__body
+ &__body {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ z-index: 9999;
+ transform: translateY(calc(100% + 8px));
+
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.08);
+ border: 1px solid #d0d0d0;
+ border-radius: 2px;
+
+ width: 275px;
+ height: 415px;
+
+ background-color: #ffffff;
+
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+
+ // .cly-vue-color-picker__body .vc-sketch
+ & .vc-sketch {
+ background-color: transparent;
+ padding: 12px;
+ box-shadow: none;
+ border: none;
+ border-radius: 0;
+ width: 251px;
+
+ // .cly-vue-color-picker__body .vc-sketch .vc-sketch-saturation-wrap
+ & .vc-sketch-saturation-wrap {
+ height: calc(251px - 180px);
+ bottom: 12px;
+
+ // .cly-vue-color-picker__body .vc-sketch .vc-sketch-saturation-wrap .vc-saturation
+ & .vc-saturation {
+ height: 251px;
+ }
+ }
+
+ // .cly-vue-color-picker__body .vc-sketch .vc-sketch-presets
+ & .vc-sketch-presets {
+ display: none;
+ }
+ }
+
+ // .cly-vue-color-picker__body--left
+ &--left {
+ right: 0;
+ }
+
+ // .cly-vue-color-picker__body--right
+ &--right {
+ right: 0;
+ transform: translate(-50%, 100%);
+ }
+ }
+
+ // .cly-vue-color-picker__input
+ &__input {
+ box-sizing: border-box;
+ width: 100%;
+ height: 100%;
+
+ padding: 6px 32px;
+
+ border: none;
+ outline: none;
+
+ color: #000;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+
+ border: 1px solid #CFD6E4;
+ border-radius: 4px;
+ text-transform: uppercase;
+ }
+
+ // .cly-vue-color-picker__input-arrow
+ &__input-arrow {
+ position: absolute;
+ top: 50%;
+ right: 8px;
+ transform: translateY(-50%);
+
+ height: 16px;
+ width: 16px;
+
+ // .cly-vue-color-picker__input-arrow i
+ i {
+ font-size: 16px;
+ line-height: 16px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ // .cly-vue-color-picker__input-arrow .cly-vue-color-picker__input-arrow-icon-open
+ & .cly-vue-color-picker__input-arrow-icon-open {
+ display: none;
+ }
+
+ // .cly-vue-color-picker__input-arrow .cly-vue-color-picker__input-arrow-icon-closed
+ & .cly-vue-color-picker__input-arrow-icon-closed {
+ display: block;
+ }
+
+ // .cly-vue-color-picker__input-arrow--open
+ &--open {
+ // .cly-vue-color-picker__input-arrow--open .cly-vue-color-picker__input-arrow-icon-open
+ & .cly-vue-color-picker__input-arrow-icon-open {
+ display: block;
+ }
+
+ // .cly-vue-color-picker__input-arrow--open .cly-vue-color-picker__input-arrow-icon-closed
+ & .cly-vue-color-picker__input-arrow-icon-closed {
+ display: none;
+ }
+ }
+ }
+
+ // .cly-vue-color-picker__input-container
+ &__input-container {
+ position: relative;
+ cursor: pointer;
+
+ box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
+
+ max-width: 138px;
+ /* height: 32px; */
+ }
+
+ // .cly-vue-color-picker__input-drop
+ &__input-drop {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ }
+
+ // .cly-vue-color-picker__input-drop-container
+ &__input-drop-container {
+ position: absolute;
+ top: 50%;
+ /* left: 6px; */
+ left: 8px;
+ transform: translateY(-50%);
+
+ width: 16px;
+ height: 16px;
+ }
+
+
+
+ /* OLD Code */
$cp-preview-height: 32px;
$cp-preview-width: 138px;
$cp-preview-border-size: 1px;
$cp-picker-body-size: 251px;
$cp-picker-body-padding: 12px;
- display: flex;
- height: #{$cp-preview-height};
+ /* display: flex; */
+ /* height: #{$cp-preview-height}; */
+
+
.picker-body {
&--left{
left:0
@@ -1205,16 +1369,16 @@
&--right{
left: #{-$cp-preview-width};
}
- position: relative;
- box-shadow: 0 3px 7px rgba(0, 0, 0, 0.08);
- border: 1px solid #d0d0d0;
- border-radius: 2px;
- width: 275px;
- height: 415px;
- background-color: #ffffff;
- top: #{$cp-preview-height};
- z-index: 9999;
- > .vc-sketch {
+ /* position: relative; */
+ /* box-shadow: 0 3px 7px rgba(0, 0, 0, 0.08); */
+ /* border: 1px solid #d0d0d0; */
+ /* border-radius: 2px; */
+ /* width: 275px;
+ height: 415px; */
+ /* background-color: #ffffff; */
+ /* top: #{$cp-preview-height}; */
+ /* z-index: 9999; */
+ /* > .vc-sketch {
background-color: transparent;
padding: #{$cp-picker-body-padding};
box-shadow: none;
@@ -1231,47 +1395,46 @@
.vc-sketch-presets {
display: none;
}
- }
+ } */
.button-controls {
float: right;
padding-right: #{$cp-picker-body-padding};
}
}
- .preview {
- float: right;
+ /* .preview { */
+ /* float: right;
outline: none;
- border: #{$cp-preview-border-size} solid #CFD6E4;
color: #000;
font-size: 12px;
padding-left: 8px;
- border-radius: 4px;
- display: flex;
- box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
- box-sizing: border-box;
+
+ display: flex; */
+
+ /* box-sizing: border-box;
width: 138px;
height: 32px;
- cursor: pointer;
- div {
+ cursor: pointer; */
+ /* div {
margin-top: 5px;
position: relative;
img {
position: absolute;
}
- }
- .drop {
+ } */
+ /* .drop {
width:16px;
height:16px;
margin-right:10px;
position:absolute;
- }
- .color-input {
+ } */
+ /* .color-input {
border-style:none;
width:57px;
margin-left:24px;
margin-right:24px;
font-size: 14px;
- }
- }
+ } */
+ /* } */
}
// check
@@ -4440,9 +4603,9 @@
width: auto;
box-shadow: none;
- // .cly-vue-content-builder-sidebar-input__component.cly-vue-colorpicker
- &.cly-vue-colorpicker {
- // .cly-vue-content-builder-sidebar-input__component.cly-vue-colorpicker .picker-body
+ // .cly-vue-content-builder-sidebar-input__component.cly-vue-color-picker
+ &.cly-vue-color-picker {
+ // .cly-vue-content-builder-sidebar-input__component.cly-vue-color-picker .picker-body
& .picker-body {
position: absolute;
right: 0;
From 7fc22b91941ae75f260cc8e723e287c4190cd96e Mon Sep 17 00:00:00 2001
From: Cihad Tekin
Date: Fri, 6 Dec 2024 14:19:57 +0300
Subject: [PATCH 029/186] [push] bug: ObjectId and string match condition in
connection pool grow
---
plugins/push/api/send/pool.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/push/api/send/pool.js b/plugins/push/api/send/pool.js
index a9179d15d03..42ef7de5e9e 100644
--- a/plugins/push/api/send/pool.js
+++ b/plugins/push/api/send/pool.js
@@ -290,7 +290,7 @@ class Pool extends Duplex {
let unsent = this.state.messages().filter(m => mids.indexOf(m._id.toString()) === -1);
if (unsent.length) {
this.log.i('Sending unsent messages to %s: %j', connection.worker.threadId, unsent);
- connection.write(encode(FRAME.CONNECT, unsent.map(id => this.state.messages().filter(m => m._id.toString() === id)[0])));
+ connection.write(encode(FRAME.CONNECT, unsent.map(_m => this.state.messages().filter(m => m._id.toString() === _m._id.toString())[0])));
}
return connection;
}
From ed5737f1aadd6624e1221682c77451506e86c063 Mon Sep 17 00:00:00 2001
From: Cihad Tekin
Date: Fri, 6 Dec 2024 14:23:41 +0300
Subject: [PATCH 030/186] [push] a combination of bundle, keyid and team is
added into hash to prevent collisions for apns credentials
---
plugins/push/api/send/platforms/i.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plugins/push/api/send/platforms/i.js b/plugins/push/api/send/platforms/i.js
index b441e3a239f..93a22f2b6cf 100644
--- a/plugins/push/api/send/platforms/i.js
+++ b/plugins/push/api/send/platforms/i.js
@@ -298,7 +298,8 @@ const CREDS = {
return ['Not a private key in P8 format in base64-encoded string'];
}
- this._data.hash = FORGE.md.sha256.create().update(this._data.key).digest().toHex();
+ const message = this._data.key + this._data.bundle + this._data.keyid + this._data.team;
+ this._data.hash = FORGE.md.sha256.create().update(message).digest().toHex();
}
/**
From edf33f2cc0735432b2e229886052810d92d2e7ee Mon Sep 17 00:00:00 2001
From: Cihad Tekin
Date: Fri, 6 Dec 2024 15:33:52 +0300
Subject: [PATCH 031/186] Update CHANGELOG.md
---
CHANGELOG.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cd0d171b7b7..2e68bcab970 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,7 @@
## Version 24.05.XX
+Fixes:
+- [push] Fixed bug where IOS credentials get mixed up while sending messages from different apps at the same time
+- [push] Fixed bug where it crashes in connection pool growth because of a type mismatch in an if condition
Dependencies:
- Bump puppeteer from 23.8.0 to 23.9.0
From bb129c846fec8c7ec195493ef4d6dee2cf470c14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Art=C5=ABrs=20Kadi=C4=B7is?=
Date: Fri, 6 Dec 2024 14:44:14 +0200
Subject: [PATCH 032/186] Update CHANGELOG.md
---
CHANGELOG.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2e68bcab970..5cf84fae3ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,14 +4,14 @@ Fixes:
- [push] Fixed bug where it crashes in connection pool growth because of a type mismatch in an if condition
Dependencies:
-- Bump puppeteer from 23.8.0 to 23.9.0
-- Bump nodemailer from 6.9.15 to 6.9.16
+- Bump countly-sdk-nodejs from 22.6.0 to 24.10.0
- Bump countly-sdk-web from 24.4.1 to 24.11.0
-- Bump tslib from 2.7.0 to 2.8.1
- Bump form-data from 4.0.0 to 4.0.1
- Bump jimp from 0.22.12 to 1.6.0
- Bump jsdoc from 4.0.3 to 4.0.4
-- Bump countly-sdk-nodejs from 22.6.0 to 24.10.0
+- Bump nodemailer from 6.9.15 to 6.9.16
+- Bump puppeteer from 23.8.0 to 23.9.0
+- Bump tslib from 2.7.0 to 2.8.1
## Version 24.05.19
Fixes:
From a05fb36e2163006d7a8720c75df211e95efcf375 Mon Sep 17 00:00:00 2001
From: Cookiezaurs <>
Date: Fri, 6 Dec 2024 16:13:28 +0200
Subject: [PATCH 033/186] [core] Do not fetch event model data if event is not
selected
---
.../javascripts/countly/countly.event.js | 47 ++++++++++---------
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/frontend/express/public/javascripts/countly/countly.event.js b/frontend/express/public/javascripts/countly/countly.event.js
index 8307a12fe09..2cf06dbe2aa 100644
--- a/frontend/express/public/javascripts/countly/countly.event.js
+++ b/frontend/express/public/javascripts/countly/countly.event.js
@@ -89,29 +89,34 @@
}))
.then(
function() {
- return $.when($.ajax({
- type: "GET",
- url: countlyCommon.API_PARTS.data.r,
- data: {
- "app_id": countlyCommon.ACTIVE_APP_ID,
- "method": "events",
- "event": _activeEvent,
- "segmentation": currentActiveSegmentation,
- "period": _period,
- "preventRequestAbort": true
- },
- dataType: "json",
- success: function(json) {
- if (currentActiveEvent === _activeEvent && currentActiveSegmentation === _activeSegmentation) {
- _activeLoadedEvent = _activeEvent;
- _activeLoadedSegmentation = _activeSegmentation;
- _activeEventDb = json;
- setMeta();
+ if (_activeEvent) {
+ return $.when($.ajax({
+ type: "GET",
+ url: countlyCommon.API_PARTS.data.r,
+ data: {
+ "app_id": countlyCommon.ACTIVE_APP_ID,
+ "method": "events",
+ "event": _activeEvent,
+ "segmentation": currentActiveSegmentation,
+ "period": _period,
+ "preventRequestAbort": true
+ },
+ dataType: "json",
+ success: function(json) {
+ if (currentActiveEvent === _activeEvent && currentActiveSegmentation === _activeSegmentation) {
+ _activeLoadedEvent = _activeEvent;
+ _activeLoadedSegmentation = _activeSegmentation;
+ _activeEventDb = json;
+ setMeta();
+ }
}
- }
- })).then(function() {
+ })).then(function() {
+ return true;
+ });
+ }
+ else {
return true;
- });
+ }
}
);
}
From c5b8d664d1b1c177585e18ded9139e141722898f Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Fri, 6 Dec 2024 17:10:53 +0000
Subject: [PATCH 034/186] fix: refactor color picker
---
.../app-management/stylesheets/_main.scss | 4 +-
.../public/stylesheets/vue/clyvue.scss | 108 ++----------------
2 files changed, 12 insertions(+), 100 deletions(-)
diff --git a/frontend/express/public/core/app-management/stylesheets/_main.scss b/frontend/express/public/core/app-management/stylesheets/_main.scss
index b3261f3bd02..21c4ae006b5 100644
--- a/frontend/express/public/core/app-management/stylesheets/_main.scss
+++ b/frontend/express/public/core/app-management/stylesheets/_main.scss
@@ -85,7 +85,7 @@
}
}
&__colorpicker{
- .picker-body {overflow: auto;}
+ .cly-vue-color-picker__picker {overflow: auto;}
}
&__button{
&:active, &:focus, &:hover {background-color: unset !important;border-color: unset !important;}
@@ -193,4 +193,4 @@
width: 177%;
}
}
-}
\ No newline at end of file
+}
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index c654b2ef74b..b01c025cbac 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -1211,10 +1211,10 @@
background-color: #ffffff;
- display: flex;
+ /* display: flex;
flex-direction: column;
align-items: flex-start;
- justify-content: center;
+ justify-content: center; */
// .cly-vue-color-picker__body .vc-sketch
& .vc-sketch {
@@ -1254,6 +1254,14 @@
}
}
+ // .cly-vue-color-picker__buttons-container
+ &__buttons-container {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ padding-right: 12px;
+ }
+
// .cly-vue-color-picker__input
&__input {
box-sizing: border-box;
@@ -1349,92 +1357,6 @@
width: 16px;
height: 16px;
}
-
-
-
- /* OLD Code */
- $cp-preview-height: 32px;
- $cp-preview-width: 138px;
- $cp-preview-border-size: 1px;
- $cp-picker-body-size: 251px;
- $cp-picker-body-padding: 12px;
- /* display: flex; */
- /* height: #{$cp-preview-height}; */
-
-
- .picker-body {
- &--left{
- left:0
- }
- &--right{
- left: #{-$cp-preview-width};
- }
- /* position: relative; */
- /* box-shadow: 0 3px 7px rgba(0, 0, 0, 0.08); */
- /* border: 1px solid #d0d0d0; */
- /* border-radius: 2px; */
- /* width: 275px;
- height: 415px; */
- /* background-color: #ffffff; */
- /* top: #{$cp-preview-height}; */
- /* z-index: 9999; */
- /* > .vc-sketch {
- background-color: transparent;
- padding: #{$cp-picker-body-padding};
- box-shadow: none;
- border: none;
- border-radius: 0;
- width: #{$cp-picker-body-size};
- .vc-sketch-saturation-wrap {
- height: #{$cp-picker-body-size - 180px};
- bottom: #{$cp-picker-body-padding};
- .vc-saturation {
- height: #{$cp-picker-body-size};
- }
- }
- .vc-sketch-presets {
- display: none;
- }
- } */
- .button-controls {
- float: right;
- padding-right: #{$cp-picker-body-padding};
- }
- }
- /* .preview { */
- /* float: right;
- outline: none;
- color: #000;
- font-size: 12px;
- padding-left: 8px;
-
- display: flex; */
-
- /* box-sizing: border-box;
- width: 138px;
- height: 32px;
- cursor: pointer; */
- /* div {
- margin-top: 5px;
- position: relative;
- img {
- position: absolute;
- }
- } */
- /* .drop {
- width:16px;
- height:16px;
- margin-right:10px;
- position:absolute;
- } */
- /* .color-input {
- border-style:none;
- width:57px;
- margin-left:24px;
- margin-right:24px;
- font-size: 14px;
- } */
- /* } */
}
// check
@@ -4603,16 +4525,6 @@
width: auto;
box-shadow: none;
- // .cly-vue-content-builder-sidebar-input__component.cly-vue-color-picker
- &.cly-vue-color-picker {
- // .cly-vue-content-builder-sidebar-input__component.cly-vue-color-picker .picker-body
- & .picker-body {
- position: absolute;
- right: 0;
- left: auto;
- }
- }
-
// .cly-vue-content-builder-sidebar-input__component .el-input__inner
& .el-input__inner {
font-size: 14px;
From 252e512d4eb23375c54eeb9c2ee3912326486808 Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Fri, 6 Dec 2024 18:07:44 +0000
Subject: [PATCH 035/186] feat: remove unused code
---
frontend/express/public/stylesheets/vue/clyvue.scss | 7 -------
1 file changed, 7 deletions(-)
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index b01c025cbac..ccc4b36f293 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -1211,11 +1211,6 @@
background-color: #ffffff;
- /* display: flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: center; */
-
// .cly-vue-color-picker__body .vc-sketch
& .vc-sketch {
background-color: transparent;
@@ -1334,7 +1329,6 @@
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
max-width: 138px;
- /* height: 32px; */
}
// .cly-vue-color-picker__input-drop
@@ -1350,7 +1344,6 @@
&__input-drop-container {
position: absolute;
top: 50%;
- /* left: 6px; */
left: 8px;
transform: translateY(-50%);
From 62fac67e4dc8c57f354e570437d6e4cae42007eb Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Mon, 9 Dec 2024 14:16:35 +0000
Subject: [PATCH 036/186] fix: prevent slider button from going on top of
sidebar navigation
---
frontend/express/public/stylesheets/vue/clyvue.scss | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index 42d00bdb798..09a8374957c 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -4279,6 +4279,10 @@
.el-slider__runway {
background-color: #E2E4E8;
}
+
+ .el-slider__button-wrapper {
+ z-index: 0;
+ }
}
&__header {
font-family: Inter;
From 9c2349ac39ab5b1b9527175db23e1093c14d1f9c Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Mon, 9 Dec 2024 18:19:13 +0000
Subject: [PATCH 037/186] fix: correctly position input counter
---
.../public/stylesheets/vue/clyvue.scss | 38 ++++++++++++++++++-
1 file changed, 36 insertions(+), 2 deletions(-)
diff --git a/frontend/express/public/stylesheets/vue/clyvue.scss b/frontend/express/public/stylesheets/vue/clyvue.scss
index cd08daf11c6..15ba7892a5d 100644
--- a/frontend/express/public/stylesheets/vue/clyvue.scss
+++ b/frontend/express/public/stylesheets/vue/clyvue.scss
@@ -4519,6 +4519,24 @@
width: auto;
box-shadow: none;
+ // .cly-vue-content-builder-sidebar-input__component .el-input__count
+ & .el-input__count {
+ position: absolute;
+ top: 0;
+ right: 0;
+ transform: translateY(-100%);
+ background: transparent;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 16px;
+
+ // .cly-vue-content-builder-sidebar-input__component .el-input__count .el-input__count-inner
+ & .el-input__count-inner {
+ padding: 0;
+ background: transparent;
+ }
+ }
+
// .cly-vue-content-builder-sidebar-input__component .el-input__inner
& .el-input__inner {
font-size: 14px;
@@ -4552,7 +4570,6 @@
// .cly-vue-content-builder-sidebar-input__component.el-input--suffix
&.el-input--suffix {
-
// .cly-vue-content-builder-sidebar-input__component.el-input--suffix .el-input__inner
& .el-input__inner {
padding-right: 34px;
@@ -4563,9 +4580,26 @@
&--slider {
width: 100%;
- .el-slider__button-wrapper {
+ // .cly-vue-content-builder-sidebar-input__component--slider .el-slider__bar
+ & .el-slider__bar {
+ background-color: #0166D6;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component--slider .el-slider__button
+ & .el-slider__button {
+ border: 1px solid #0166D6;
+ }
+
+ // .cly-vue-content-builder-sidebar-input__component--slider .el-slider__button-wrapper
+ & .el-slider__button-wrapper {
z-index: 0;
}
+
+ // .cly-vue-content-builder-sidebar-input__component--slider .el-slider__runway
+ & .el-slider__runway {
+ margin: 0;
+ background-color: #E2E4E8;
+ }
}
}
From d82a0ed585cf567241359a33f442a56645174dcb Mon Sep 17 00:00:00 2001
From: John-Weak
Date: Tue, 10 Dec 2024 12:46:45 +0530
Subject: [PATCH 038/186] script to remove 2FA
---
bin/scripts/member-managament/disable_2fa.js | 61 ++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 bin/scripts/member-managament/disable_2fa.js
diff --git a/bin/scripts/member-managament/disable_2fa.js b/bin/scripts/member-managament/disable_2fa.js
new file mode 100644
index 00000000000..dde9cdb7ac5
--- /dev/null
+++ b/bin/scripts/member-managament/disable_2fa.js
@@ -0,0 +1,61 @@
+/*
+Script should be placed in ./bin/scripts/member-managament/disable_2fa.js
+
+Script is used to disable user(s) 2FA by email.
+*/
+
+var pluginManager = require('../../../plugins/pluginManager.js');
+
+const dry_run = false; //if set true, there will be only information outputted about users in the email list, but 2FA disable operation will not be triggered.
+//const EMAILS = ["test@mail.com", "test2@mail.com"];
+const EMAILS = [''];
+
+if (dry_run) {
+ console.log("This is a dry run");
+ console.log("Members will only be listed, 2FA will not be disabled");
+}
+
+pluginManager.dbConnection().then(async(countlyDb) => {
+ try {
+ // Find the users by email
+ let users = [];
+ users = await getUsers(countlyDb, EMAILS);
+
+ console.log(`The following ${users.length} user(s) 2FA will be disabled: `);
+ console.log(JSON.stringify(users));
+ if (!dry_run) {
+ await Promise.all(users.map(async(user) => {
+ let userId = user._id;
+ await countlyDb.collection("members").findAndModify(
+ {_id: userId},
+ {},
+ {
+ $set: {"two_factor_auth.enabled": false},
+ $unset: {"two_factor_auth.secret_token": ""}
+ }
+ );
+ console.log("2FA removed: ", JSON.stringify(user));
+ }));
+ console.log("All done");
+ }
+ }
+ catch (error) {
+ console.log("ERROR: ");
+ console.log(error);
+ }
+ finally {
+ countlyDb.close();
+ }
+});
+
+function getUsers(db, emails) {
+ const query = {};
+ if (emails?.length) {
+ query.email = {
+ $in: emails
+ };
+ }
+ return db.collection('members').find(query, {
+ projection: { _id: 1, email: 1 }
+ }).toArray();
+}
\ No newline at end of file
From e1a065b715489c1c5a3bed2a77024f07bab3a0c3 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 13:35:30 +0200
Subject: [PATCH 039/186] Update changelog
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5cf84fae3ac..16de0ba1c0e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ Dependencies:
- Bump nodemailer from 6.9.15 to 6.9.16
- Bump puppeteer from 23.8.0 to 23.9.0
- Bump tslib from 2.7.0 to 2.8.1
+- Bump express from 4.21.1 to 4.21.2
## Version 24.05.19
Fixes:
From 68fa0a23994ec36410bd508d2173f3c1a39eb79c Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 14:07:47 +0200
Subject: [PATCH 040/186] Update package lock
---
package-lock.json | 2712 +++++++++++++++++----------------------------
1 file changed, 1001 insertions(+), 1711 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5c1db54f601..3045220af12 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -111,12 +111,13 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
},
"engines": {
@@ -124,9 +125,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz",
- "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz",
+ "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -134,22 +135,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
- "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-module-transforms": "^7.25.2",
- "@babel/helpers": "^7.25.0",
- "@babel/parser": "^7.25.0",
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.2",
- "@babel/types": "^7.25.2",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -172,13 +173,13 @@
"license": "MIT"
},
"node_modules/@babel/core/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -190,9 +191,9 @@
}
},
"node_modules/@babel/core/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -207,31 +208,32 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
- "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz",
+ "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.0",
+ "@babel/parser": "^7.26.3",
+ "@babel/types": "^7.26.3",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
- "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
+ "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
+ "@babel/compat-data": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -267,30 +269,29 @@
"license": "ISC"
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
- "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.2"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -299,24 +300,10 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
- "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -324,18 +311,18 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
- "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -343,111 +330,28 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
- "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
- "engines": {
- "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==",
- "license": "MIT",
- "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",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "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==",
- "license": "MIT",
- "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "license": "MIT"
- },
- "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",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "license": "MIT",
- "engines": {
- "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": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "license": "MIT",
- "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==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/parser": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz",
- "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz",
+ "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.26.3"
+ },
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -456,32 +360,32 @@
}
},
"node_modules/@babel/template": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
- "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.2.tgz",
- "integrity": "sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==",
+ "version": "7.26.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
+ "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/parser": "^7.25.0",
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.2",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.3",
+ "@babel/parser": "^7.26.3",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.3",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -490,13 +394,13 @@
}
},
"node_modules/@babel/traverse/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -518,22 +422,21 @@
}
},
"node_modules/@babel/traverse/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
"node_modules/@babel/types": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
- "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
+ "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -564,407 +467,53 @@
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
- "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
- "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
- "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
- "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
- "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
- "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
- "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
- "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
- "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
- "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
- "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
- "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
- "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
- "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
- "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
- "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
- "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
- "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
- "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
- "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
- "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=10.0.0"
}
},
- "node_modules/@esbuild/win32-x64": {
+ "node_modules/@esbuild/darwin-arm64": {
"version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
- "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
+ "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
"cpu": [
- "x64"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
+ "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1003,13 +552,13 @@
"license": "Python-2.0"
},
"node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -1034,16 +583,16 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1058,14 +607,14 @@
"optional": true
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
"deprecated": "Use @eslint/config-array instead",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
+ "@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
"minimatch": "^3.0.5"
},
@@ -1074,13 +623,13 @@
}
},
"node_modules/@humanwhocodes/config-array/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -1092,9 +641,9 @@
}
},
"node_modules/@humanwhocodes/config-array/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -1231,18 +780,6 @@
"node": ">=18"
}
},
- "node_modules/@jimp/core/node_modules/mime": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
- "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/@jimp/diff": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@jimp/diff/-/diff-1.6.0.tgz",
@@ -1710,391 +1247,151 @@
"dependencies": {
"lodash": "^4.17.21"
},
- "engines": {
- "node": ">=v12.0.0"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
- "license": "ISC",
- "optional": true,
- "dependencies": {
- "@gar/promisify": "^1.0.1",
- "semver": "^7.3.5"
- }
- },
- "node_modules/@npmcli/move-file": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "deprecated": "This functionality has been moved to @npmcli/fs",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@npmcli/move-file/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "license": "MIT",
- "optional": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@npmcli/move-file/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "license": "ISC",
- "optional": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@parcel/watcher": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
- "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "detect-libc": "^1.0.3",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.5",
- "node-addon-api": "^7.0.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.5.0",
- "@parcel/watcher-darwin-arm64": "2.5.0",
- "@parcel/watcher-darwin-x64": "2.5.0",
- "@parcel/watcher-freebsd-x64": "2.5.0",
- "@parcel/watcher-linux-arm-glibc": "2.5.0",
- "@parcel/watcher-linux-arm-musl": "2.5.0",
- "@parcel/watcher-linux-arm64-glibc": "2.5.0",
- "@parcel/watcher-linux-arm64-musl": "2.5.0",
- "@parcel/watcher-linux-x64-glibc": "2.5.0",
- "@parcel/watcher-linux-x64-musl": "2.5.0",
- "@parcel/watcher-win32-arm64": "2.5.0",
- "@parcel/watcher-win32-ia32": "2.5.0",
- "@parcel/watcher-win32-x64": "2.5.0"
- }
- },
- "node_modules/@parcel/watcher-android-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
- "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
- "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
- "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
- "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
- "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=v12.0.0"
}
},
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
- "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">= 8"
}
},
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
- "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
"engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": ">= 8"
}
},
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
- "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">= 8"
}
},
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
- "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "license": "ISC",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "dependencies": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
}
},
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
- "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
"license": "MIT",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
- "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"license": "MIT",
"optional": true,
- "os": [
- "win32"
- ],
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@parcel/watcher-win32-ia32": {
+ "node_modules/@parcel/watcher": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
- "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
- "cpu": [
- "ia32"
- ],
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
+ "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
+ "hasInstallScript": true,
"license": "MIT",
"optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.0",
+ "@parcel/watcher-darwin-arm64": "2.5.0",
+ "@parcel/watcher-darwin-x64": "2.5.0",
+ "@parcel/watcher-freebsd-x64": "2.5.0",
+ "@parcel/watcher-linux-arm-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm-musl": "2.5.0",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm64-musl": "2.5.0",
+ "@parcel/watcher-linux-x64-glibc": "2.5.0",
+ "@parcel/watcher-linux-x64-musl": "2.5.0",
+ "@parcel/watcher-win32-arm64": "2.5.0",
+ "@parcel/watcher-win32-ia32": "2.5.0",
+ "@parcel/watcher-win32-x64": "2.5.0"
}
},
- "node_modules/@parcel/watcher-win32-x64": {
+ "node_modules/@parcel/watcher-darwin-arm64": {
"version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
- "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
+ "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
"cpu": [
- "x64"
+ "arm64"
],
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "darwin"
],
"engines": {
"node": ">= 10.0.0"
@@ -2104,19 +1401,6 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/@parcel/watcher/node_modules/detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
- "license": "Apache-2.0",
- "optional": true,
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/@parcel/watcher/node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
@@ -2134,15 +1418,15 @@
}
},
"node_modules/@puppeteer/browsers": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.1.tgz",
- "integrity": "sha512-0kdAbmic3J09I6dT8e9vE2JOCSt13wHCW5x/ly8TSt2bDtuIWe2TgLZZDHdcziw9AVCzflMAXCrVyRIhIs44Ng==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.0.tgz",
+ "integrity": "sha512-jESwj3APl78YUWHf28s2EjL0OIxcvl1uLU6Ge68KQ9ZXNsekUcbdr9dCi6vEO8naXS18lWXCV56shVkPStzXSQ==",
"license": "Apache-2.0",
"dependencies": {
- "debug": "^4.3.7",
+ "debug": "^4.4.0",
"extract-zip": "^2.0.1",
"progress": "^2.0.3",
- "proxy-agent": "^6.4.0",
+ "proxy-agent": "^6.5.0",
"semver": "^7.6.3",
"tar-fs": "^3.0.6",
"unbzip2-stream": "^1.4.3",
@@ -2170,9 +1454,9 @@
}
},
"node_modules/@puppeteer/browsers/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -2192,31 +1476,6 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
- "node_modules/@puppeteer/browsers/node_modules/tar-fs": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz",
- "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==",
- "license": "MIT",
- "dependencies": {
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- },
- "optionalDependencies": {
- "bare-fs": "^2.1.1",
- "bare-path": "^2.1.0"
- }
- },
- "node_modules/@puppeteer/browsers/node_modules/tar-stream": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
- "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
- "license": "MIT",
- "dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
- }
- },
"node_modules/@puppeteer/browsers/node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -2302,11 +1561,34 @@
"@types/responselike": "^1.0.0"
}
},
+ "node_modules/@types/eslint": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
+ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
"node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/http-cache-semantics": {
"version": "4.0.4",
@@ -2404,80 +1686,80 @@
}
},
"node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
+ "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
"dev": true,
"license": "ISC"
},
"node_modules/@webassemblyjs/ast": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
- "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+ "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ "@webassemblyjs/helper-numbers": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
- "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+ "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
- "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
- "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+ "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
- "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+ "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.6",
- "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+ "@webassemblyjs/helper-api-error": "1.13.2",
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
- "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+ "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
- "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+ "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/wasm-gen": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/wasm-gen": "1.14.1"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
- "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+ "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2485,9 +1767,9 @@
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
- "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+ "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -2495,79 +1777,79 @@
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
- "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+ "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
- "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+ "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/helper-wasm-section": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-opt": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1",
- "@webassemblyjs/wast-printer": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/helper-wasm-section": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-opt": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1",
+ "@webassemblyjs/wast-printer": "1.14.1"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
- "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+ "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
"node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
- "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+ "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
- "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+ "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
"node_modules/@webassemblyjs/wast-printer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
- "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+ "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/ast": "1.14.1",
"@xtuc/long": "4.2.2"
}
},
@@ -2644,9 +1926,9 @@
}
},
"node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
"license": "MIT",
"bin": {
@@ -2656,16 +1938,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-import-attributes": {
- "version": "1.9.5",
- "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
- "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^8"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -2676,44 +1948,15 @@
"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==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/agent-base/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "node_modules/agent-base": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
+ "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"license": "MIT",
- "optional": true,
- "dependencies": {
- "ms": "2.1.2"
- },
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 14"
}
},
- "node_modules/agent-base/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT",
- "optional": true
- },
"node_modules/agentkeepalive": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
@@ -2966,6 +2209,22 @@
"safe-buffer": "~5.1.0"
}
},
+ "node_modules/archiver/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==",
+ "license": "MIT",
+ "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/archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
@@ -2993,6 +2252,7 @@
"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.41.1.tgz",
"integrity": "sha512-dqCW8kJXke8Ik+McUcMDltrbuAWETPyU6iq+4AhxqKphWi7pChB/Zgd/Tp/o8xRLbg8ksMj46F/vph9wnxpTzQ==",
"hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
"@phc/format": "^1.0.0",
"node-addon-api": "^8.1.0",
@@ -3062,7 +2322,8 @@
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "license": "MIT"
},
"node_modules/asynckit": {
"version": "0.4.0",
@@ -3249,6 +2510,7 @@
"version": "1.20.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"content-type": "~1.0.5",
@@ -3347,9 +2609,9 @@
"license": "ISC"
},
"node_modules/browserslist": {
- "version": "4.23.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
- "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
+ "version": "4.24.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
+ "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
"dev": true,
"funding": [
{
@@ -3367,10 +2629,10 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001640",
- "electron-to-chromium": "^1.4.820",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.1.0"
+ "caniuse-lite": "^1.0.30001669",
+ "electron-to-chromium": "^1.5.41",
+ "node-releases": "^2.0.18",
+ "update-browserslist-db": "^1.1.1"
},
"bin": {
"browserslist": "cli.js"
@@ -3597,16 +2859,15 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
"license": "MIT",
"dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
"es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
+ "set-function-length": "^1.2.2"
},
"engines": {
"node": ">= 0.4"
@@ -3615,6 +2876,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
+ "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -3635,9 +2909,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001644",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001644.tgz",
- "integrity": "sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==",
+ "version": "1.0.30001687",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz",
+ "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==",
"dev": true,
"funding": [
{
@@ -3758,6 +3032,15 @@
"devtools-protocol": "*"
}
},
+ "node_modules/chromium-bidi/node_modules/zod": {
+ "version": "3.23.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
"node_modules/clean-css": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
@@ -4064,6 +3347,7 @@
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -4072,6 +3356,7 @@
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz",
"integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==",
+ "license": "MIT",
"dependencies": {
"cookie": "0.7.2",
"cookie-signature": "1.0.6"
@@ -4158,9 +3443,9 @@
"license": "MIT"
},
"node_modules/countly-sdk-web": {
- "version": "24.11.0",
- "resolved": "https://registry.npmjs.org/countly-sdk-web/-/countly-sdk-web-24.11.0.tgz",
- "integrity": "sha512-q068gBAAvwDvuDLTwy8xEyjyIbbSg4EHcI0PdlyCbTqL8y7oD3b2ze0m1OOGCPBhnwVssNHoX6CiNhXRhihD1w==",
+ "version": "24.11.2",
+ "resolved": "https://registry.npmjs.org/countly-sdk-web/-/countly-sdk-web-24.11.2.tgz",
+ "integrity": "sha512-72Q5c3AM3kHzRZm7ujfge0jetaUta7cYq6eSheZU5NCvdKstA8aUi6q40hcY2mFvucXvbxoX2xt7IK98cpycBQ==",
"license": "MIT"
},
"node_modules/crc-32": {
@@ -4189,9 +3474,9 @@
}
},
"node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
+ "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
"license": "MIT",
"dependencies": {
"nice-try": "^1.0.4",
@@ -4515,12 +3800,16 @@
}
},
"node_modules/detect-libc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
- "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"license": "Apache-2.0",
+ "optional": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.10"
}
},
"node_modules/devtools-protocol": {
@@ -4598,6 +3887,20 @@
"node": ">=0.10"
}
},
+ "node_modules/dunder-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz",
+ "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -4635,9 +3938,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.3.tgz",
- "integrity": "sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==",
+ "version": "1.5.72",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz",
+ "integrity": "sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw==",
"dev": true,
"license": "ISC"
},
@@ -4665,9 +3968,9 @@
"license": "MIT"
},
"node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -4726,9 +4029,9 @@
}
},
"node_modules/envinfo": {
- "version": "7.13.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz",
- "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==",
+ "version": "7.14.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
+ "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -4763,12 +4066,6 @@
"is-arrayish": "^0.2.1"
}
},
- "node_modules/error-ex/node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "license": "MIT"
- },
"node_modules/errorhandler": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz",
@@ -4783,13 +4080,10 @@
}
},
"node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
"engines": {
"node": ">= 0.4"
}
@@ -4877,9 +4171,9 @@
}
},
"node_modules/escalade": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -4936,17 +4230,18 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -5029,9 +4324,9 @@
"license": "Python-2.0"
},
"node_modules/eslint/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5044,13 +4339,13 @@
}
},
"node_modules/eslint/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -5075,9 +4370,9 @@
}
},
"node_modules/eslint/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -5209,6 +4504,7 @@
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -5330,6 +4626,7 @@
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.4.1.tgz",
"integrity": "sha512-KS3efpnpIDVIXopMc65EMbWbUht7qvTCdtCR2dD/IZmi9MIkopYESwyRqLgv8Pfu589+KqDqOdzJWW7AHoACeg==",
+ "license": "MIT",
"engines": {
"node": ">= 16"
},
@@ -5344,6 +4641,7 @@
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz",
"integrity": "sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==",
+ "license": "MIT",
"dependencies": {
"cookie": "0.7.2",
"cookie-signature": "1.0.7",
@@ -5388,18 +4686,11 @@
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
"integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/express/node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/express/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -5447,9 +4738,9 @@
}
},
"node_modules/extract-zip/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -5664,6 +4955,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "license": "MIT",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~2.0.0",
@@ -5677,14 +4969,6 @@
"node": ">= 0.8"
}
},
- "node_modules/finalhandler/node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
@@ -5803,9 +5087,9 @@
}
},
"node_modules/flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
+ "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
"dev": true,
"license": "ISC"
},
@@ -5838,23 +5122,26 @@
}
},
"node_modules/foreground-child": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
- "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
"license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
- "signal-exit": "^3.0.2"
+ "signal-exit": "^4.0.1"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/foreground-child/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5899,6 +5186,19 @@
"node": ">=8"
}
},
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/foreground-child/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -5919,6 +5219,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
"integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -5956,6 +5257,7 @@
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -6019,21 +5321,6 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"license": "ISC"
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -6124,16 +5411,19 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.5.tgz",
+ "integrity": "sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==",
"license": "MIT",
"dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "dunder-proto": "^1.0.0",
+ "es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -6180,24 +5470,23 @@
}
},
"node_modules/get-uri": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
- "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz",
+ "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==",
"license": "MIT",
"dependencies": {
"basic-ftp": "^5.0.2",
"data-uri-to-buffer": "^6.0.2",
- "debug": "^4.3.4",
- "fs-extra": "^11.2.0"
+ "debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/get-uri/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -6389,12 +5678,12 @@
}
},
"node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7033,22 +6322,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-proto": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -7188,28 +6465,25 @@
"license": "MIT"
},
"node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 14"
}
},
"node_modules/http-proxy-agent/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -7221,11 +6495,10 @@
}
},
"node_modules/http-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT",
- "optional": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/http2-wrapper": {
"version": "1.0.3",
@@ -7241,27 +6514,25 @@
}
},
"node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "agent-base": "6",
+ "agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 14"
}
},
"node_modules/https-proxy-agent/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -7273,11 +6544,10 @@
}
},
"node_modules/https-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT",
- "optional": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/humanize-ms": {
"version": "1.2.1",
@@ -7331,9 +6601,9 @@
"license": "BSD-3-Clause"
},
"node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7491,10 +6761,9 @@
}
},
"node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "dev": true,
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"license": "MIT"
},
"node_modules/is-binary-path": {
@@ -7511,9 +6780,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
- "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
@@ -7755,9 +7024,9 @@
}
},
"node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7882,13 +7151,13 @@
}
},
"node_modules/istanbul-lib-source-maps/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -7900,9 +7169,9 @@
}
},
"node_modules/istanbul-lib-source-maps/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -8191,16 +7460,16 @@
"license": "MIT"
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true,
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json-browse": {
@@ -8666,9 +7935,9 @@
}
},
"node_modules/logform": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz",
- "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz",
+ "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8762,6 +8031,66 @@
"node": ">= 10"
}
},
+ "node_modules/make-fetch-happen/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==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/make-fetch-happen/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -8775,6 +8104,28 @@
"node": ">=10"
}
},
+ "node_modules/make-fetch-happen/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -8895,6 +8246,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
@@ -8943,6 +8295,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -8952,15 +8305,15 @@
}
},
"node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
"license": "MIT",
"bin": {
"mime": "cli.js"
},
"engines": {
- "node": ">=4"
+ "node": ">=10.0.0"
}
},
"node_modules/mime-db": {
@@ -9325,6 +8678,7 @@
"version": "0.5.46",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz",
"integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==",
+ "license": "MIT",
"dependencies": {
"moment": "^2.29.4"
},
@@ -9414,9 +8768,9 @@
}
},
"node_modules/nan": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
- "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
+ "version": "2.22.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz",
+ "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==",
"license": "MIT",
"optional": true
},
@@ -9494,9 +8848,9 @@
"license": "MIT"
},
"node_modules/node-abi": {
- "version": "3.65.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz",
- "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==",
+ "version": "3.71.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz",
+ "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==",
"license": "MIT",
"dependencies": {
"semver": "^7.3.5"
@@ -9506,9 +8860,9 @@
}
},
"node_modules/node-addon-api": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.1.0.tgz",
- "integrity": "sha512-yBY+qqWSv3dWKGODD6OGE6GnTX7Q2r+4+DfpqxHSHh8x0B4EKP9+wVGLS6U/AM1vxSNNmUEuIV5EGhYwPpfOwQ==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz",
+ "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==",
"license": "MIT",
"engines": {
"node": "^18 || ^20 || >= 21"
@@ -9540,9 +8894,9 @@
}
},
"node_modules/node-gyp-build": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
- "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
+ "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
"license": "MIT",
"bin": {
"node-gyp-build": "bin.js",
@@ -9613,9 +8967,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
- "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"dev": true,
"license": "MIT"
},
@@ -9629,9 +8983,9 @@
}
},
"node_modules/nodemon": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz",
- "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz",
+ "integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9658,13 +9012,13 @@
}
},
"node_modules/nodemon/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -9686,9 +9040,9 @@
}
},
"node_modules/nodemon/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -9760,6 +9114,7 @@
"resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz",
"integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/load-nyc-config": "^1.0.0",
"@istanbuljs/schema": "^0.1.2",
@@ -9808,20 +9163,6 @@
"wrap-ansi": "^6.2.0"
}
},
- "node_modules/nyc/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/nyc/node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -9836,34 +9177,6 @@
"node": ">=8"
}
},
- "node_modules/nyc/node_modules/foreground-child": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
- "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/nyc/node_modules/foreground-child/node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/nyc/node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -9906,15 +9219,6 @@
"node": ">=8"
}
},
- "node_modules/nyc/node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/nyc/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -9942,42 +9246,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/nyc/node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nyc/node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nyc/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/nyc/node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -10057,9 +9325,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
- "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
+ "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -10275,40 +9543,28 @@
}
},
"node_modules/pac-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.1.0.tgz",
+ "integrity": "sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==",
"license": "MIT",
"dependencies": {
"@tootallnate/quickjs-emscripten": "^0.23.0",
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.2",
"debug": "^4.3.4",
"get-uri": "^6.0.1",
"http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.5",
+ "https-proxy-agent": "^7.0.6",
"pac-resolver": "^7.0.1",
- "socks-proxy-agent": "^8.0.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/pac-proxy-agent/node_modules/agent-base": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
- "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
+ "socks-proxy-agent": "^8.0.5"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/pac-proxy-agent/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -10322,52 +9578,12 @@
}
}
},
- "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
- "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/pac-proxy-agent/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
- "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz",
- "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.1",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/pac-resolver": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
@@ -10581,9 +9797,9 @@
"license": "MIT"
},
"node_modules/picocolors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
- "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/picomatch": {
@@ -10729,7 +9945,50 @@
"prebuild-install": "bin.js"
},
"engines": {
- "node": ">=10"
+ "node": ">=10"
+ }
+ },
+ "node_modules/prebuild-install/node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "license": "ISC"
+ },
+ "node_modules/prebuild-install/node_modules/detect-libc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
+ "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/prebuild-install/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==",
+ "license": "MIT",
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
+ }
+ },
+ "node_modules/prebuild-install/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==",
+ "license": "MIT",
+ "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/prelude-ls": {
@@ -10780,9 +10039,9 @@
"license": "MIT"
},
"node_modules/process-on-spawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
- "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz",
+ "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10851,40 +10110,28 @@
}
},
"node_modules/proxy-agent": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
- "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
+ "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
"license": "MIT",
"dependencies": {
- "agent-base": "^7.0.2",
+ "agent-base": "^7.1.2",
"debug": "^4.3.4",
"http-proxy-agent": "^7.0.1",
- "https-proxy-agent": "^7.0.3",
+ "https-proxy-agent": "^7.0.6",
"lru-cache": "^7.14.1",
- "pac-proxy-agent": "^7.0.1",
+ "pac-proxy-agent": "^7.1.0",
"proxy-from-env": "^1.1.0",
- "socks-proxy-agent": "^8.0.2"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/proxy-agent/node_modules/agent-base": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
- "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
+ "socks-proxy-agent": "^8.0.5"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/proxy-agent/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -10898,52 +10145,12 @@
}
}
},
- "node_modules/proxy-agent/node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/proxy-agent/node_modules/https-proxy-agent": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
- "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/proxy-agent/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
- "node_modules/proxy-agent/node_modules/socks-proxy-agent": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz",
- "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==",
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.1",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -10958,9 +10165,9 @@
"license": "MIT"
},
"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==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
+ "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
"license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
@@ -10987,17 +10194,17 @@
}
},
"node_modules/puppeteer": {
- "version": "23.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.9.0.tgz",
- "integrity": "sha512-WfB8jGwFV+qrD9dcJJVvWPFJBU6kxeu2wxJz9WooDGfM3vIiKLgzImEDBxUQnCBK/2cXB3d4dV6gs/LLpgfLDg==",
+ "version": "23.10.2",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.10.2.tgz",
+ "integrity": "sha512-Iii2ZwdukXzEGeCxs2/GG8G+dbVCylnlBrTxZnMxLW/7w/ftoGq4VB2Bt1vwrbMIn1XwFqxYEWNEkZpIkcVfwg==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "@puppeteer/browsers": "2.4.1",
+ "@puppeteer/browsers": "2.6.0",
"chromium-bidi": "0.8.0",
"cosmiconfig": "^9.0.0",
"devtools-protocol": "0.0.1367902",
- "puppeteer-core": "23.9.0",
+ "puppeteer-core": "23.10.2",
"typed-query-selector": "^2.12.0"
},
"bin": {
@@ -11008,14 +10215,14 @@
}
},
"node_modules/puppeteer-core": {
- "version": "23.9.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.9.0.tgz",
- "integrity": "sha512-hLVrav2HYMVdK0YILtfJwtnkBAwNOztUdR4aJ5YKDvgsbtagNr6urUJk9HyjRA9e+PaLI3jzJ0wM7A4jSZ7Qxw==",
+ "version": "23.10.2",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.10.2.tgz",
+ "integrity": "sha512-SEPjEbhPxRlzjGRCs8skwfnzFQj6XrZZmoMz0JIQbanj0fBpQ5HOGgyQTyh4YOW33q+461plJc5GfsQ+ErVBgQ==",
"license": "Apache-2.0",
"dependencies": {
- "@puppeteer/browsers": "2.4.1",
+ "@puppeteer/browsers": "2.6.0",
"chromium-bidi": "0.8.0",
- "debug": "^4.3.7",
+ "debug": "^4.4.0",
"devtools-protocol": "0.0.1367902",
"typed-query-selector": "^2.12.0",
"ws": "^8.18.0"
@@ -11025,9 +10232,9 @@
}
},
"node_modules/puppeteer-core/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -11051,6 +10258,7 @@
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.6"
},
@@ -11123,6 +10331,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -11475,9 +10684,9 @@
"optional": true
},
"node_modules/safe-stable-stringify": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
- "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
+ "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11527,6 +10736,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
"integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
+ "license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
@@ -11538,9 +10748,10 @@
}
},
"node_modules/sass/node_modules/readdirp": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz",
- "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
+ "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
+ "license": "MIT",
"engines": {
"node": ">= 14.16.0"
},
@@ -11590,6 +10801,7 @@
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "license": "MIT",
"dependencies": {
"debug": "2.6.9",
"depd": "2.0.0",
@@ -11609,10 +10821,32 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/send/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/serialize-javascript": {
"version": "6.0.0",
@@ -11628,6 +10862,7 @@
"version": "1.16.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "license": "MIT",
"dependencies": {
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
@@ -11638,14 +10873,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/serve-static/node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -11850,6 +11077,13 @@
"is-arrayish": "^0.3.1"
}
},
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/simple-update-notifier": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
@@ -11897,28 +11131,26 @@
}
},
"node_modules/socks-proxy-agent": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
- "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+ "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 14"
}
},
"node_modules/socks-proxy-agent/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
- "optional": true,
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -11930,11 +11162,10 @@
}
},
"node_modules/socks-proxy-agent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "license": "MIT",
- "optional": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/socks/node_modules/ip-address": {
"version": "9.0.5",
@@ -11972,9 +11203,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -12029,6 +11260,45 @@
"node": ">=8"
}
},
+ "node_modules/spawn-wrap/node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/spawn-wrap/node_modules/foreground-child": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
+ "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/spawn-wrap/node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/spawn-wrap/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -12046,6 +11316,29 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/spawn-wrap/node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/spawn-wrap/node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/spawn-wrap/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -12131,9 +11424,9 @@
}
},
"node_modules/streamx": {
- "version": "2.20.2",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz",
- "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==",
+ "version": "2.21.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.21.0.tgz",
+ "integrity": "sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==",
"license": "MIT",
"dependencies": {
"fast-fifo": "^1.3.2",
@@ -12286,13 +11579,13 @@
}
},
"node_modules/superagent/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -12304,20 +11597,30 @@
}
},
"node_modules/superagent/node_modules/formidable": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz",
- "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==",
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz",
+ "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==",
"dev": true,
"license": "MIT",
"dependencies": {
"dezalgo": "^1.0.4",
- "hexoid": "^1.0.0",
+ "hexoid": "^2.0.0",
"once": "^1.4.0"
},
"funding": {
"url": "https://ko-fi.com/tunnckoCore/commissions"
}
},
+ "node_modules/superagent/node_modules/hexoid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz",
+ "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/superagent/node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -12332,9 +11635,9 @@
}
},
"node_modules/superagent/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -12404,37 +11707,28 @@
}
},
"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==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz",
+ "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==",
"license": "MIT",
"dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
- "tar-stream": "^2.1.4"
+ "tar-stream": "^3.1.5"
+ },
+ "optionalDependencies": {
+ "bare-fs": "^2.1.1",
+ "bare-path": "^2.1.0"
}
},
- "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==",
- "license": "ISC"
- },
"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==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+ "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
"license": "MIT",
"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"
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
}
},
"node_modules/tar/node_modules/minipass": {
@@ -12459,9 +11753,9 @@
}
},
"node_modules/terser": {
- "version": "5.31.3",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz",
- "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==",
+ "version": "5.37.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz",
+ "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -12545,10 +11839,13 @@
}
},
"node_modules/text-decoder": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz",
- "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==",
- "license": "Apache-2.0"
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.2.tgz",
+ "integrity": "sha512-/MDslo7ZyWTA2vnk1j7XoDVfXsGk3tp+zFEJHJGm0UjIlQifonVFwlVbQDFh8KJzTBnT8ie115TYqir6bclddA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "b4a": "^1.6.4"
+ }
},
"node_modules/text-hex": {
"version": "1.0.0",
@@ -12608,16 +11905,6 @@
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
"license": "MIT"
},
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -12781,6 +12068,7 @@
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
+ "license": "BSD-2-Clause",
"bin": {
"uglifyjs": "bin/uglifyjs"
},
@@ -12884,9 +12172,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
- "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
"dev": true,
"funding": [
{
@@ -12904,8 +12192,8 @@
],
"license": "MIT",
"dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -12992,9 +12280,9 @@
}
},
"node_modules/watchpack": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
- "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
+ "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13015,18 +12303,19 @@
}
},
"node_modules/webpack": {
- "version": "5.94.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
- "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
- "dev": true,
- "dependencies": {
- "@types/estree": "^1.0.5",
- "@webassemblyjs/ast": "^1.12.1",
- "@webassemblyjs/wasm-edit": "^1.12.1",
- "@webassemblyjs/wasm-parser": "^1.12.1",
- "acorn": "^8.7.1",
- "acorn-import-attributes": "^1.9.5",
- "browserslist": "^4.21.10",
+ "version": "5.97.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz",
+ "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.7",
+ "@types/estree": "^1.0.6",
+ "@webassemblyjs/ast": "^1.14.1",
+ "@webassemblyjs/wasm-edit": "^1.14.1",
+ "@webassemblyjs/wasm-parser": "^1.14.1",
+ "acorn": "^8.14.0",
+ "browserslist": "^4.24.0",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.17.1",
"es-module-lexer": "^1.2.1",
@@ -13119,9 +12408,9 @@
}
},
"node_modules/webpack-cli/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13337,9 +12626,9 @@
"license": "MIT"
},
"node_modules/winston": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.1.tgz",
- "integrity": "sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==",
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz",
+ "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13347,26 +12636,26 @@
"@dabh/diagnostics": "^2.0.2",
"async": "^3.2.3",
"is-stream": "^2.0.0",
- "logform": "^2.6.0",
+ "logform": "^2.7.0",
"one-time": "^1.0.0",
"readable-stream": "^3.4.0",
"safe-stable-stringify": "^2.3.1",
"stack-trace": "0.0.x",
"triple-beam": "^1.3.0",
- "winston-transport": "^4.7.0"
+ "winston-transport": "^4.9.0"
},
"engines": {
"node": ">= 12.0.0"
}
},
"node_modules/winston-transport": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz",
- "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz",
+ "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "logform": "^2.6.1",
+ "logform": "^2.7.0",
"readable-stream": "^3.6.2",
"triple-beam": "^1.3.0"
},
@@ -13459,6 +12748,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/xlsx-write-stream/-/xlsx-write-stream-1.0.3.tgz",
"integrity": "sha512-HyAJ0oXfyBt/DZ+CJfSZvkxQNgqaSOFv9UPR5wosz1G9LW450KTPrj9lc1WKrwzVM2ItrdhhsSN88ARwYggAhQ==",
+ "license": "Apache-2.0",
"dependencies": {
"archiver": "^5.3.0",
"tslib": "^2.6.3"
@@ -13644,9 +12934,9 @@
}
},
"node_modules/zod": {
- "version": "3.23.8",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
- "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "version": "3.24.0",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.0.tgz",
+ "integrity": "sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
From dead86d28f393021ab63999b1fe4747bb2476e77 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 14:25:24 +0200
Subject: [PATCH 041/186] Update package-lock
---
package-lock.json | 612 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 612 insertions(+)
diff --git a/package-lock.json b/package-lock.json
index 3045220af12..80162da893d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -474,6 +474,57 @@
"node": ">=10.0.0"
}
},
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
+ "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
+ "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
+ "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@esbuild/darwin-arm64": {
"version": "0.16.17",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
@@ -491,6 +542,312 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
+ "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
+ "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
+ "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
+ "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
+ "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
+ "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
+ "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
+ "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
+ "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
+ "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
+ "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
+ "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
+ "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
+ "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
+ "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
+ "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
+ "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
+ "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
@@ -1381,6 +1738,26 @@
"@parcel/watcher-win32-x64": "2.5.0"
}
},
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
+ "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/@parcel/watcher-darwin-arm64": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
@@ -1401,6 +1778,226 @@
"url": "https://opencollective.com/parcel"
}
},
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
+ "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
+ "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
+ "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
+ "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
+ "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
+ "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
+ "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
+ "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
+ "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
+ "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
+ "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/@parcel/watcher/node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
@@ -5321,6 +5918,21 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"license": "ISC"
},
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
From 683d50b56cea807d347600e08b9cf2bc3262eaff Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 14:49:03 +0200
Subject: [PATCH 042/186] Fix cookie in csurf
---
package-lock.json | 9 ---------
package.json | 3 +++
2 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 80162da893d..1120157fbcf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4125,15 +4125,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/csurf/node_modules/cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/csurf/node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
diff --git a/package.json b/package.json
index 6fae227fb9d..9547a044323 100644
--- a/package.json
+++ b/package.json
@@ -92,6 +92,9 @@
"overrides": {
"jimp": {
"xml2js": "^0.5.0"
+ },
+ "csurf": {
+ "cookie": "^0.7.1"
}
},
"jshintConfig": {
From 316ab812d3f6b466cbd0112fa3c3709d39d0bc76 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 15:09:07 +0200
Subject: [PATCH 043/186] Update Mocha test runner
---
package-lock.json | 194 +++++++++++++++++-----------------------------
package.json | 2 +-
2 files changed, 72 insertions(+), 124 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 1120157fbcf..1489f39a584 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -75,7 +75,7 @@
"grunt-mocha-nyc": "1.0.3",
"grunt-mocha-test": "0.13.3",
"jsdoc": "^4.0.0",
- "mocha": "10.2.0",
+ "mocha": "10.8.2",
"nyc": "17.1.0",
"should": "13.2.3",
"supertest": "7.0.0"
@@ -2618,9 +2618,9 @@
}
},
"node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3556,16 +3556,10 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
@@ -3579,6 +3573,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -4417,9 +4414,9 @@
}
},
"node_modules/diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -9102,33 +9099,32 @@
"license": "MIT"
},
"node_modules/mocha": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
- "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-colors": "4.1.1",
- "browser-stdout": "1.3.1",
- "chokidar": "3.5.3",
- "debug": "4.3.4",
- "diff": "5.0.0",
- "escape-string-regexp": "4.0.0",
- "find-up": "5.0.0",
- "glob": "7.2.0",
- "he": "1.2.0",
- "js-yaml": "4.1.0",
- "log-symbols": "4.1.0",
- "minimatch": "5.0.1",
- "ms": "2.1.3",
- "nanoid": "3.3.3",
- "serialize-javascript": "6.0.0",
- "strip-json-comments": "3.1.1",
- "supports-color": "8.1.1",
- "workerpool": "6.2.1",
- "yargs": "16.2.0",
- "yargs-parser": "20.2.4",
- "yargs-unparser": "2.0.0"
+ "version": "10.8.2",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz",
+ "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.3",
+ "browser-stdout": "^1.3.1",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.5",
+ "diff": "^5.2.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-up": "^5.0.0",
+ "glob": "^8.1.0",
+ "he": "^1.2.0",
+ "js-yaml": "^4.1.0",
+ "log-symbols": "^4.1.0",
+ "minimatch": "^5.1.6",
+ "ms": "^2.1.3",
+ "serialize-javascript": "^6.0.2",
+ "strip-json-comments": "^3.1.1",
+ "supports-color": "^8.1.1",
+ "workerpool": "^6.5.1",
+ "yargs": "^16.2.0",
+ "yargs-parser": "^20.2.9",
+ "yargs-unparser": "^2.0.0"
},
"bin": {
"_mocha": "bin/_mocha",
@@ -9136,10 +9132,6 @@
},
"engines": {
"node": ">= 14.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mochajs"
}
},
"node_modules/mocha/node_modules/argparse": {
@@ -9149,14 +9141,24 @@
"dev": true,
"license": "Python-2.0"
},
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"node_modules/mocha/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -9167,17 +9169,10 @@
}
}
},
- "node_modules/mocha/node_modules/debug/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/mocha/node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"license": "ISC",
@@ -9185,30 +9180,16 @@
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/mocha/node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -9223,9 +9204,9 @@
}
},
"node_modules/mocha/node_modules/minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -9235,16 +9216,6 @@
"node": ">=10"
}
},
- "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"node_modules/mocha/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -9377,19 +9348,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "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",
@@ -11452,9 +11410,9 @@
"license": "MIT"
},
"node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -12409,16 +12367,6 @@
}
}
},
- "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -13284,9 +13232,9 @@
"license": "MIT"
},
"node_modules/workerpool": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz",
+ "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==",
"dev": true,
"license": "Apache-2.0"
},
@@ -13427,9 +13375,9 @@
}
},
"node_modules/yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
"license": "ISC",
"engines": {
diff --git a/package.json b/package.json
index 9547a044323..17d799a32b9 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"grunt-mocha-nyc": "1.0.3",
"grunt-mocha-test": "0.13.3",
"jsdoc": "^4.0.0",
- "mocha": "10.2.0",
+ "mocha": "10.8.2",
"nyc": "17.1.0",
"should": "13.2.3",
"supertest": "7.0.0"
From 74624267eb5b82add9bbdfec16be2469740c4838 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 15:17:40 +0200
Subject: [PATCH 044/186] Update mongodb driver
---
package-lock.json | 4329 +++++++++++++++++++++++++++++----------------
package.json | 2 +-
2 files changed, 2854 insertions(+), 1477 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 1489f39a584..21cca2e5e53 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53,7 +53,7 @@
"method-override": "3.0.0",
"moment": "2.30.1",
"moment-timezone": "0.5.46",
- "mongodb": "4.9.1",
+ "mongodb": "4.17.2",
"nginx-conf": "2.1.0",
"nodemailer": "6.9.16",
"object-hash": "3.0.0",
@@ -110,876 +110,1036 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/code-frame": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
- "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
- "license": "MIT",
+ "node_modules/@aws-crypto/sha256-browser": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
+ "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.25.9",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@aws-crypto/sha256-js": "^5.2.0",
+ "@aws-crypto/supports-web-crypto": "^5.2.0",
+ "@aws-crypto/util": "^5.2.0",
+ "@aws-sdk/types": "^3.222.0",
+ "@aws-sdk/util-locate-window": "^3.0.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
+ }
+ },
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/compat-data": {
- "version": "7.26.3",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz",
- "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/core": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
- "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.26.0",
- "@babel/generator": "^7.26.0",
- "@babel/helper-compilation-targets": "^7.25.9",
- "@babel/helper-module-transforms": "^7.26.0",
- "@babel/helpers": "^7.26.0",
- "@babel/parser": "^7.26.0",
- "@babel/template": "^7.25.9",
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.26.0",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/core/node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/core/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-crypto/sha256-js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
+ "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "ms": "^2.1.3"
+ "@aws-crypto/util": "^5.2.0",
+ "@aws-sdk/types": "^3.222.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/core/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
+ "node_modules/@aws-crypto/supports-web-crypto": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
+ "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ }
},
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node_modules/@aws-crypto/util": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
+ "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/types": "^3.222.0",
+ "@smithy/util-utf8": "^2.0.0",
+ "tslib": "^2.6.2"
}
},
- "node_modules/@babel/generator": {
- "version": "7.26.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz",
- "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/parser": "^7.26.3",
- "@babel/types": "^7.26.3",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^3.0.2"
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
- "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/compat-data": "^7.25.9",
- "@babel/helper-validator-option": "^7.25.9",
- "browserslist": "^4.24.0",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
+ "@smithy/is-array-buffer": "^2.2.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "yallist": "^3.0.2"
+ "@smithy/util-buffer-from": "^2.2.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node_modules/@aws-sdk/client-cognito-identity": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.699.0.tgz",
+ "integrity": "sha512-9tFt+we6AIvj/f1+nrLHuCWcQmyfux5gcBSOy9d9+zIG56YxGEX7S9TaZnybogpVV8A0BYWml36WvIHS9QjIpA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/client-sso-oidc": "3.699.0",
+ "@aws-sdk/client-sts": "3.699.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/credential-provider-node": "3.699.0",
+ "@aws-sdk/middleware-host-header": "3.696.0",
+ "@aws-sdk/middleware-logger": "3.696.0",
+ "@aws-sdk/middleware-recursion-detection": "3.696.0",
+ "@aws-sdk/middleware-user-agent": "3.696.0",
+ "@aws-sdk/region-config-resolver": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@aws-sdk/util-endpoints": "3.696.0",
+ "@aws-sdk/util-user-agent-browser": "3.696.0",
+ "@aws-sdk/util-user-agent-node": "3.696.0",
+ "@smithy/config-resolver": "^3.0.12",
+ "@smithy/core": "^2.5.3",
+ "@smithy/fetch-http-handler": "^4.1.1",
+ "@smithy/hash-node": "^3.0.10",
+ "@smithy/invalid-dependency": "^3.0.10",
+ "@smithy/middleware-content-length": "^3.0.12",
+ "@smithy/middleware-endpoint": "^3.2.3",
+ "@smithy/middleware-retry": "^3.0.27",
+ "@smithy/middleware-serde": "^3.0.10",
+ "@smithy/middleware-stack": "^3.0.10",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/node-http-handler": "^3.3.1",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/url-parser": "^3.0.10",
+ "@smithy/util-base64": "^3.0.0",
+ "@smithy/util-body-length-browser": "^3.0.0",
+ "@smithy/util-body-length-node": "^3.0.0",
+ "@smithy/util-defaults-mode-browser": "^3.0.27",
+ "@smithy/util-defaults-mode-node": "^3.0.27",
+ "@smithy/util-endpoints": "^2.1.6",
+ "@smithy/util-middleware": "^3.0.10",
+ "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
- "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/client-sso": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.696.0.tgz",
+ "integrity": "sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.25.9"
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/middleware-host-header": "3.696.0",
+ "@aws-sdk/middleware-logger": "3.696.0",
+ "@aws-sdk/middleware-recursion-detection": "3.696.0",
+ "@aws-sdk/middleware-user-agent": "3.696.0",
+ "@aws-sdk/region-config-resolver": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@aws-sdk/util-endpoints": "3.696.0",
+ "@aws-sdk/util-user-agent-browser": "3.696.0",
+ "@aws-sdk/util-user-agent-node": "3.696.0",
+ "@smithy/config-resolver": "^3.0.12",
+ "@smithy/core": "^2.5.3",
+ "@smithy/fetch-http-handler": "^4.1.1",
+ "@smithy/hash-node": "^3.0.10",
+ "@smithy/invalid-dependency": "^3.0.10",
+ "@smithy/middleware-content-length": "^3.0.12",
+ "@smithy/middleware-endpoint": "^3.2.3",
+ "@smithy/middleware-retry": "^3.0.27",
+ "@smithy/middleware-serde": "^3.0.10",
+ "@smithy/middleware-stack": "^3.0.10",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/node-http-handler": "^3.3.1",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/url-parser": "^3.0.10",
+ "@smithy/util-base64": "^3.0.0",
+ "@smithy/util-body-length-browser": "^3.0.0",
+ "@smithy/util-body-length-node": "^3.0.0",
+ "@smithy/util-defaults-mode-browser": "^3.0.27",
+ "@smithy/util-defaults-mode-node": "^3.0.27",
+ "@smithy/util-endpoints": "^2.1.6",
+ "@smithy/util-middleware": "^3.0.10",
+ "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
- "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/client-sso-oidc": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.699.0.tgz",
+ "integrity": "sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9",
- "@babel/traverse": "^7.25.9"
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/credential-provider-node": "3.699.0",
+ "@aws-sdk/middleware-host-header": "3.696.0",
+ "@aws-sdk/middleware-logger": "3.696.0",
+ "@aws-sdk/middleware-recursion-detection": "3.696.0",
+ "@aws-sdk/middleware-user-agent": "3.696.0",
+ "@aws-sdk/region-config-resolver": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@aws-sdk/util-endpoints": "3.696.0",
+ "@aws-sdk/util-user-agent-browser": "3.696.0",
+ "@aws-sdk/util-user-agent-node": "3.696.0",
+ "@smithy/config-resolver": "^3.0.12",
+ "@smithy/core": "^2.5.3",
+ "@smithy/fetch-http-handler": "^4.1.1",
+ "@smithy/hash-node": "^3.0.10",
+ "@smithy/invalid-dependency": "^3.0.10",
+ "@smithy/middleware-content-length": "^3.0.12",
+ "@smithy/middleware-endpoint": "^3.2.3",
+ "@smithy/middleware-retry": "^3.0.27",
+ "@smithy/middleware-serde": "^3.0.10",
+ "@smithy/middleware-stack": "^3.0.10",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/node-http-handler": "^3.3.1",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/url-parser": "^3.0.10",
+ "@smithy/util-base64": "^3.0.0",
+ "@smithy/util-body-length-browser": "^3.0.0",
+ "@smithy/util-body-length-node": "^3.0.0",
+ "@smithy/util-defaults-mode-browser": "^3.0.27",
+ "@smithy/util-defaults-mode-node": "^3.0.27",
+ "@smithy/util-endpoints": "^2.1.6",
+ "@smithy/util-middleware": "^3.0.10",
+ "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0"
+ "@aws-sdk/client-sts": "^3.699.0"
}
},
- "node_modules/@babel/helper-string-parser": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
- "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/client-sts": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.699.0.tgz",
+ "integrity": "sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "5.2.0",
+ "@aws-crypto/sha256-js": "5.2.0",
+ "@aws-sdk/client-sso-oidc": "3.699.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/credential-provider-node": "3.699.0",
+ "@aws-sdk/middleware-host-header": "3.696.0",
+ "@aws-sdk/middleware-logger": "3.696.0",
+ "@aws-sdk/middleware-recursion-detection": "3.696.0",
+ "@aws-sdk/middleware-user-agent": "3.696.0",
+ "@aws-sdk/region-config-resolver": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@aws-sdk/util-endpoints": "3.696.0",
+ "@aws-sdk/util-user-agent-browser": "3.696.0",
+ "@aws-sdk/util-user-agent-node": "3.696.0",
+ "@smithy/config-resolver": "^3.0.12",
+ "@smithy/core": "^2.5.3",
+ "@smithy/fetch-http-handler": "^4.1.1",
+ "@smithy/hash-node": "^3.0.10",
+ "@smithy/invalid-dependency": "^3.0.10",
+ "@smithy/middleware-content-length": "^3.0.12",
+ "@smithy/middleware-endpoint": "^3.2.3",
+ "@smithy/middleware-retry": "^3.0.27",
+ "@smithy/middleware-serde": "^3.0.10",
+ "@smithy/middleware-stack": "^3.0.10",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/node-http-handler": "^3.3.1",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/url-parser": "^3.0.10",
+ "@smithy/util-base64": "^3.0.0",
+ "@smithy/util-body-length-browser": "^3.0.0",
+ "@smithy/util-body-length-node": "^3.0.0",
+ "@smithy/util-defaults-mode-browser": "^3.0.27",
+ "@smithy/util-defaults-mode-node": "^3.0.27",
+ "@smithy/util-endpoints": "^2.1.6",
+ "@smithy/util-middleware": "^3.0.10",
+ "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
- "license": "MIT",
+ "node_modules/@aws-sdk/core": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.696.0.tgz",
+ "integrity": "sha512-3c9III1k03DgvRZWg8vhVmfIXPG6hAciN9MzQTzqGngzWAELZF/WONRTRQuDFixVtarQatmLHYVw/atGeA2Byw==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/core": "^2.5.3",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/signature-v4": "^4.2.2",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/util-middleware": "^3.0.10",
+ "fast-xml-parser": "4.4.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/helper-validator-option": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
- "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-cognito-identity": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.699.0.tgz",
+ "integrity": "sha512-iuaTnudaBfEET+o444sDwf71Awe6UiZfH+ipUPmswAi2jZDwdFF1nxMKDEKL8/LV5WpXsdKSfwgS0RQeupURew==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/client-cognito-identity": "3.699.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/helpers": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
- "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-env": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.696.0.tgz",
+ "integrity": "sha512-T9iMFnJL7YTlESLpVFT3fg1Lkb1lD+oiaIC8KMpepb01gDUBIpj9+Y+pA/cgRWW0yRxmkDXNazAE2qQTVFGJzA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/template": "^7.25.9",
- "@babel/types": "^7.26.0"
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/parser": {
- "version": "7.26.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz",
- "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-http": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.696.0.tgz",
+ "integrity": "sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/types": "^7.26.3"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/fetch-http-handler": "^4.1.1",
+ "@smithy/node-http-handler": "^3.3.1",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/smithy-client": "^3.4.4",
+ "@smithy/types": "^3.7.1",
+ "@smithy/util-stream": "^3.3.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/template": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
- "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-ini": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.699.0.tgz",
+ "integrity": "sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/code-frame": "^7.25.9",
- "@babel/parser": "^7.25.9",
- "@babel/types": "^7.25.9"
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/credential-provider-env": "3.696.0",
+ "@aws-sdk/credential-provider-http": "3.696.0",
+ "@aws-sdk/credential-provider-process": "3.696.0",
+ "@aws-sdk/credential-provider-sso": "3.699.0",
+ "@aws-sdk/credential-provider-web-identity": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/credential-provider-imds": "^3.2.6",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/shared-ini-file-loader": "^3.1.10",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "^3.699.0"
}
},
- "node_modules/@babel/traverse": {
- "version": "7.26.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
- "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-node": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.699.0.tgz",
+ "integrity": "sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.26.3",
- "@babel/parser": "^7.26.3",
- "@babel/template": "^7.25.9",
- "@babel/types": "^7.26.3",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
+ "@aws-sdk/credential-provider-env": "3.696.0",
+ "@aws-sdk/credential-provider-http": "3.696.0",
+ "@aws-sdk/credential-provider-ini": "3.699.0",
+ "@aws-sdk/credential-provider-process": "3.696.0",
+ "@aws-sdk/credential-provider-sso": "3.699.0",
+ "@aws-sdk/credential-provider-web-identity": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/credential-provider-imds": "^3.2.6",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/shared-ini-file-loader": "^3.1.10",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/traverse/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-process": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.696.0.tgz",
+ "integrity": "sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "ms": "^2.1.3"
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/shared-ini-file-loader": "^3.1.10",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-sso": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.699.0.tgz",
+ "integrity": "sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/client-sso": "3.696.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/token-providers": "3.699.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/shared-ini-file-loader": "^3.1.10",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=16.0.0"
}
},
- "node_modules/@babel/traverse/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/types": {
- "version": "7.26.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
- "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.696.0.tgz",
+ "integrity": "sha512-XJ/CVlWChM0VCoc259vWguFUjJDn/QwDqHwbx+K9cg3v6yrqXfK5ai+p/6lx0nQpnk4JzPVeYYxWRpaTsGC9rg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@babel/helper-string-parser": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9"
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sts": "^3.696.0"
}
},
- "node_modules/@colors/colors": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz",
- "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/credential-providers": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.699.0.tgz",
+ "integrity": "sha512-jBjOntl9zN9Nvb0jmbMGRbiTzemDz64ij7W6BDavxBJRZpRoNeN0QCz6RolkCyXnyUJjo5mF2unY2wnv00A+LQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/client-cognito-identity": "3.699.0",
+ "@aws-sdk/client-sso": "3.696.0",
+ "@aws-sdk/client-sts": "3.699.0",
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/credential-provider-cognito-identity": "3.699.0",
+ "@aws-sdk/credential-provider-env": "3.696.0",
+ "@aws-sdk/credential-provider-http": "3.696.0",
+ "@aws-sdk/credential-provider-ini": "3.699.0",
+ "@aws-sdk/credential-provider-node": "3.699.0",
+ "@aws-sdk/credential-provider-process": "3.696.0",
+ "@aws-sdk/credential-provider-sso": "3.699.0",
+ "@aws-sdk/credential-provider-web-identity": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/credential-provider-imds": "^3.2.6",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=0.1.90"
+ "node": ">=16.0.0"
}
},
- "node_modules/@dabh/diagnostics": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
- "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/middleware-host-header": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.696.0.tgz",
+ "integrity": "sha512-zELJp9Ta2zkX7ELggMN9qMCgekqZhFC5V2rOr4hJDEb/Tte7gpfKSObAnw/3AYiVqt36sjHKfdkoTsuwGdEoDg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/middleware-logger": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.696.0.tgz",
+ "integrity": "sha512-KhkHt+8AjCxcR/5Zp3++YPJPpFQzxpr+jmONiT/Jw2yqnSngZ0Yspm5wGoRx2hS1HJbyZNuaOWEGuJoxLeBKfA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=10.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/android-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
- "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.696.0.tgz",
+ "integrity": "sha512-si/maV3Z0hH7qa99f9ru2xpS5HlfSVcasRlNUXKSDm611i7jFMWwGNLUOXFAOLhXotPX5G3Z6BLwL34oDeBMug==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "android"
- ],
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/android-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
- "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/middleware-user-agent": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.696.0.tgz",
+ "integrity": "sha512-Lvyj8CTyxrHI6GHd2YVZKIRI5Fmnugt3cpJo0VrKKEgK5zMySwEZ1n4dqPK6czYRWKd5+WnYHYAuU+Wdk6Jsjw==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "android"
- ],
+ "dependencies": {
+ "@aws-sdk/core": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@aws-sdk/util-endpoints": "3.696.0",
+ "@smithy/core": "^2.5.3",
+ "@smithy/protocol-http": "^4.1.7",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/android-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
- "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/region-config-resolver": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.696.0.tgz",
+ "integrity": "sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "android"
- ],
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/types": "^3.7.1",
+ "@smithy/util-config-provider": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.10",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
- "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/token-providers": {
+ "version": "3.699.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.699.0.tgz",
+ "integrity": "sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "darwin"
- ],
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/property-provider": "^3.1.9",
+ "@smithy/shared-ini-file-loader": "^3.1.10",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "@aws-sdk/client-sso-oidc": "^3.699.0"
}
},
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
- "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/types": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.696.0.tgz",
+ "integrity": "sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "darwin"
- ],
+ "dependencies": {
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
- "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/util-endpoints": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.696.0.tgz",
+ "integrity": "sha512-T5s0IlBVX+gkb9g/I6CLt4yAZVzMSiGnbUqWihWsHvQR1WOoIcndQy/Oz/IJXT9T2ipoy7a80gzV6a5mglrioA==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "freebsd"
- ],
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/types": "^3.7.1",
+ "@smithy/util-endpoints": "^2.1.6",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
- "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/util-locate-window": {
+ "version": "3.693.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.693.0.tgz",
+ "integrity": "sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "freebsd"
- ],
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@esbuild/linux-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
- "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/util-user-agent-browser": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.696.0.tgz",
+ "integrity": "sha512-Z5rVNDdmPOe6ELoM5AhF/ja5tSjbe6ctSctDPb0JdDf4dT0v2MfwhJKzXju2RzX8Es/77Glh7MlaXLE0kCB9+Q==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
+ "dependencies": {
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/types": "^3.7.1",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
}
},
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
- "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@aws-sdk/util-user-agent-node": {
+ "version": "3.696.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.696.0.tgz",
+ "integrity": "sha512-KhKqcfyXIB0SCCt+qsu4eJjsfiOrNzK5dCV7RAW2YIpp+msxGUUX0NdRE9rkzjiv+3EMktgJm3eEIS+yxtlVdQ==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "@aws-sdk/middleware-user-agent": "3.696.0",
+ "@aws-sdk/types": "3.696.0",
+ "@smithy/node-config-provider": "^3.1.11",
+ "@smithy/types": "^3.7.1",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "aws-crt": ">=1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "aws-crt": {
+ "optional": true
+ }
}
},
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
- "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
+ "node_modules/@babel/code-frame": {
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
- "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
- "cpu": [
- "loong64"
- ],
+ "node_modules/@babel/compat-data": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz",
+ "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
- "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
- "cpu": [
- "mips64el"
- ],
+ "node_modules/@babel/core": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
}
},
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
- "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
- "cpu": [
- "ppc64"
- ],
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
+ "license": "MIT"
},
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
- "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
- "cpu": [
- "riscv64"
- ],
+ "node_modules/@babel/core/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
- "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
- "cpu": [
- "s390x"
- ],
+ "node_modules/@babel/core/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
+ "license": "MIT"
},
- "node_modules/@esbuild/linux-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
- "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
- "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/generator": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz",
+ "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
+ "dependencies": {
+ "@babel/parser": "^7.26.3",
+ "@babel/types": "^7.26.3",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
- "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
+ "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
+ "dependencies": {
+ "@babel/compat-data": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
- "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
}
},
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
- "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
- "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
- "cpu": [
- "ia32"
- ],
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
+ "license": "ISC"
},
- "node_modules/@esbuild/win32-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
- "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
- "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.4.3"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=6.9.0"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "dev": true,
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=6.9.0"
}
},
- "node_modules/@eslint/eslintrc/node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true,
- "license": "Python-2.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "node_modules/@babel/helpers": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=6.9.0"
}
},
- "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "node_modules/@babel/parser": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz",
+ "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "argparse": "^2.0.1"
+ "@babel/types": "^7.26.3"
},
"bin": {
- "js-yaml": "bin/js-yaml.js"
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@eslint/js": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
- "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
+ "node_modules/@babel/template": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
+ },
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/@gar/promisify": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
- "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
- "license": "MIT",
- "optional": true
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
- "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
- "deprecated": "Use @eslint/config-array instead",
+ "node_modules/@babel/traverse": {
+ "version": "7.26.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
+ "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.3",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.3",
+ "@babel/parser": "^7.26.3",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.3",
"debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "globals": "^11.1.0"
},
"engines": {
- "node": ">=10.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/debug": {
+ "node_modules/@babel/traverse/node_modules/debug": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
@@ -997,1119 +1157,2307 @@
}
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/ms": {
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "node_modules/@babel/types": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
+ "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "deprecated": "Use @eslint/object-schema instead",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "node_modules/@colors/colors": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz",
+ "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.1.90"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "node_modules/@dabh/diagnostics": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
+ "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
+ "colorspace": "1.1.x",
+ "enabled": "2.0.x",
+ "kuler": "^2.0.0"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=10.0.0"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
+ "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=12"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
+ "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=12"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
+ "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=12"
}
},
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
+ "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=12"
}
},
- "node_modules/@jimp/core": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/core/-/core-1.6.0.tgz",
- "integrity": "sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
+ "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/file-ops": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "await-to-js": "^3.0.0",
- "exif-parser": "^0.1.12",
- "file-type": "^16.0.0",
- "mime": "3"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/diff": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/diff/-/diff-1.6.0.tgz",
- "integrity": "sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
+ "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/plugin-resize": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "pixelmatch": "^5.3.0"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/file-ops": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/file-ops/-/file-ops-1.6.0.tgz",
- "integrity": "sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==",
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
+ "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/js-bmp": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/js-bmp/-/js-bmp-1.6.0.tgz",
- "integrity": "sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
+ "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "bmp-ts": "^1.0.9"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/js-gif": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/js-gif/-/js-gif-1.6.0.tgz",
- "integrity": "sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
+ "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "gifwrap": "^0.10.1",
- "omggif": "^1.0.10"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/js-jpeg": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/js-jpeg/-/js-jpeg-1.6.0.tgz",
- "integrity": "sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==",
- "license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "jpeg-js": "^0.4.4"
- },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
+ "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/js-png": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/js-png/-/js-png-1.6.0.tgz",
- "integrity": "sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
+ "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "pngjs": "^7.0.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/js-tiff": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/js-tiff/-/js-tiff-1.6.0.tgz",
- "integrity": "sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
+ "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "utif2": "^4.1.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-blit": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-1.6.0.tgz",
- "integrity": "sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==",
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
+ "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-blur": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-1.6.0.tgz",
- "integrity": "sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
+ "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/utils": "1.6.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-circle": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-1.6.0.tgz",
- "integrity": "sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
+ "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/types": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-color": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-1.6.0.tgz",
- "integrity": "sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
+ "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "tinycolor2": "^1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-contain": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-1.6.0.tgz",
- "integrity": "sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
+ "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/plugin-blit": "1.6.0",
- "@jimp/plugin-resize": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-cover": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-1.6.0.tgz",
- "integrity": "sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
+ "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/plugin-crop": "1.6.0",
- "@jimp/plugin-resize": "1.6.0",
- "@jimp/types": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-crop": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-1.6.0.tgz",
- "integrity": "sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
+ "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-displace": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-1.6.0.tgz",
- "integrity": "sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
+ "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-dither": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-1.6.0.tgz",
- "integrity": "sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==",
- "license": "MIT",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
+ "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.16.17",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
+ "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
+ "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "@jimp/types": "1.6.0"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": ">=18"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/@jimp/plugin-fisheye": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-1.6.0.tgz",
- "integrity": "sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==",
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
},
"engines": {
- "node": ">=18"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@jimp/plugin-flip": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-1.6.0.tgz",
- "integrity": "sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==",
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/@eslint/eslintrc/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jimp/types": "1.6.0",
- "zod": "^3.23.8"
+ "ms": "^2.1.3"
},
"engines": {
- "node": ">=18"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@jimp/plugin-hash": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-hash/-/plugin-hash-1.6.0.tgz",
- "integrity": "sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==",
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/js-bmp": "1.6.0",
- "@jimp/js-jpeg": "1.6.0",
- "@jimp/js-png": "1.6.0",
- "@jimp/js-tiff": "1.6.0",
- "@jimp/plugin-color": "1.6.0",
- "@jimp/plugin-resize": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "any-base": "^1.1.0"
+ "argparse": "^2.0.1"
},
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=18"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/@jimp/plugin-mask": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-1.6.0.tgz",
- "integrity": "sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==",
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+ "deprecated": "Use @eslint/config-array instead",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "deprecated": "Use @eslint/object-schema instead",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jimp/types": "1.6.0",
- "zod": "^3.23.8"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jimp/core": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/core/-/core-1.6.0.tgz",
+ "integrity": "sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/file-ops": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "await-to-js": "^3.0.0",
+ "exif-parser": "^0.1.12",
+ "file-type": "^16.0.0",
+ "mime": "3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/diff": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/diff/-/diff-1.6.0.tgz",
+ "integrity": "sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/plugin-resize": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "pixelmatch": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/file-ops": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/file-ops/-/file-ops-1.6.0.tgz",
+ "integrity": "sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/js-bmp": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/js-bmp/-/js-bmp-1.6.0.tgz",
+ "integrity": "sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "bmp-ts": "^1.0.9"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/js-gif": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/js-gif/-/js-gif-1.6.0.tgz",
+ "integrity": "sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "gifwrap": "^0.10.1",
+ "omggif": "^1.0.10"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/js-jpeg": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/js-jpeg/-/js-jpeg-1.6.0.tgz",
+ "integrity": "sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "jpeg-js": "^0.4.4"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/js-png": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/js-png/-/js-png-1.6.0.tgz",
+ "integrity": "sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "pngjs": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/js-tiff": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/js-tiff/-/js-tiff-1.6.0.tgz",
+ "integrity": "sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "utif2": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-blit": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-1.6.0.tgz",
+ "integrity": "sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-blur": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-1.6.0.tgz",
+ "integrity": "sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/utils": "1.6.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-circle": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-1.6.0.tgz",
+ "integrity": "sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-color": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-1.6.0.tgz",
+ "integrity": "sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "tinycolor2": "^1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-contain": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-1.6.0.tgz",
+ "integrity": "sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/plugin-blit": "1.6.0",
+ "@jimp/plugin-resize": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-cover": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-1.6.0.tgz",
+ "integrity": "sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/plugin-crop": "1.6.0",
+ "@jimp/plugin-resize": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-crop": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-1.6.0.tgz",
+ "integrity": "sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-displace": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-1.6.0.tgz",
+ "integrity": "sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-dither": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-1.6.0.tgz",
+ "integrity": "sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-fisheye": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-1.6.0.tgz",
+ "integrity": "sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-flip": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-1.6.0.tgz",
+ "integrity": "sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-hash": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-hash/-/plugin-hash-1.6.0.tgz",
+ "integrity": "sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/js-bmp": "1.6.0",
+ "@jimp/js-jpeg": "1.6.0",
+ "@jimp/js-png": "1.6.0",
+ "@jimp/js-tiff": "1.6.0",
+ "@jimp/plugin-color": "1.6.0",
+ "@jimp/plugin-resize": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "any-base": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-mask": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-1.6.0.tgz",
+ "integrity": "sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-print": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-1.6.0.tgz",
+ "integrity": "sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/js-jpeg": "1.6.0",
+ "@jimp/js-png": "1.6.0",
+ "@jimp/plugin-blit": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "parse-bmfont-ascii": "^1.0.6",
+ "parse-bmfont-binary": "^1.0.6",
+ "parse-bmfont-xml": "^1.1.6",
+ "simple-xml-to-json": "^1.2.2",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-quantize": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-quantize/-/plugin-quantize-1.6.0.tgz",
+ "integrity": "sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==",
+ "license": "MIT",
+ "dependencies": {
+ "image-q": "^4.0.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-resize": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-1.6.0.tgz",
+ "integrity": "sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-rotate": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-1.6.0.tgz",
+ "integrity": "sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/plugin-crop": "1.6.0",
+ "@jimp/plugin-resize": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/plugin-threshold": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-1.6.0.tgz",
+ "integrity": "sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/core": "1.6.0",
+ "@jimp/plugin-color": "1.6.0",
+ "@jimp/plugin-hash": "1.6.0",
+ "@jimp/types": "1.6.0",
+ "@jimp/utils": "1.6.0",
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/types": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/types/-/types-1.6.0.tgz",
+ "integrity": "sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==",
+ "license": "MIT",
+ "dependencies": {
+ "zod": "^3.23.8"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jimp/utils": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-1.6.0.tgz",
+ "integrity": "sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jimp/types": "1.6.0",
+ "tinycolor2": "^1.6.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@jsdoc/salty": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+ "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": ">=v12.0.0"
+ }
+ },
+ "node_modules/@mongodb-js/saslprep": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz",
+ "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
+ "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.0",
+ "@parcel/watcher-darwin-arm64": "2.5.0",
+ "@parcel/watcher-darwin-x64": "2.5.0",
+ "@parcel/watcher-freebsd-x64": "2.5.0",
+ "@parcel/watcher-linux-arm-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm-musl": "2.5.0",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm64-musl": "2.5.0",
+ "@parcel/watcher-linux-x64-glibc": "2.5.0",
+ "@parcel/watcher-linux-x64-musl": "2.5.0",
+ "@parcel/watcher-win32-arm64": "2.5.0",
+ "@parcel/watcher-win32-ia32": "2.5.0",
+ "@parcel/watcher-win32-x64": "2.5.0"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
+ "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
+ "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
+ "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
+ "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
+ "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
+ "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
+ "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
+ "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
+ "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
+ "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
+ "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
+ "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
+ "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher/node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@phc/format": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz",
+ "integrity": "sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@puppeteer/browsers": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.0.tgz",
+ "integrity": "sha512-jESwj3APl78YUWHf28s2EjL0OIxcvl1uLU6Ge68KQ9ZXNsekUcbdr9dCi6vEO8naXS18lWXCV56shVkPStzXSQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "extract-zip": "^2.0.1",
+ "progress": "^2.0.3",
+ "proxy-agent": "^6.5.0",
+ "semver": "^7.6.3",
+ "tar-fs": "^3.0.6",
+ "unbzip2-stream": "^1.4.3",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "browsers": "lib/cjs/main-cli.js"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@puppeteer/browsers/node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-print": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-1.6.0.tgz",
- "integrity": "sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==",
+ "node_modules/@puppeteer/browsers/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/js-jpeg": "1.6.0",
- "@jimp/js-png": "1.6.0",
- "@jimp/plugin-blit": "1.6.0",
- "@jimp/types": "1.6.0",
- "parse-bmfont-ascii": "^1.0.6",
- "parse-bmfont-binary": "^1.0.6",
- "parse-bmfont-xml": "^1.1.6",
- "simple-xml-to-json": "^1.2.2",
- "zod": "^3.23.8"
+ "ms": "^2.1.3"
},
"engines": {
- "node": ">=18"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@jimp/plugin-quantize": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-quantize/-/plugin-quantize-1.6.0.tgz",
- "integrity": "sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==",
+ "node_modules/@puppeteer/browsers/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/@puppeteer/browsers/node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"license": "MIT",
"dependencies": {
- "image-q": "^4.0.0",
- "zod": "^3.23.8"
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-resize": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-1.6.0.tgz",
- "integrity": "sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==",
- "license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/types": "1.6.0",
- "zod": "^3.23.8"
- },
+ "node_modules/@puppeteer/browsers/node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
"engines": {
- "node": ">=18"
+ "node": ">=12"
}
},
- "node_modules/@jimp/plugin-rotate": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-1.6.0.tgz",
- "integrity": "sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==",
+ "node_modules/@sindresorhus/is": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"license": "MIT",
- "dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/plugin-crop": "1.6.0",
- "@jimp/plugin-resize": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
- },
"engines": {
- "node": ">=18"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
- "node_modules/@jimp/plugin-threshold": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-1.6.0.tgz",
- "integrity": "sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==",
- "license": "MIT",
+ "node_modules/@smithy/abort-controller": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.9.tgz",
+ "integrity": "sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@jimp/core": "1.6.0",
- "@jimp/plugin-color": "1.6.0",
- "@jimp/plugin-hash": "1.6.0",
- "@jimp/types": "1.6.0",
- "@jimp/utils": "1.6.0",
- "zod": "^3.23.8"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=18"
+ "node": ">=16.0.0"
}
},
- "node_modules/@jimp/types": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/types/-/types-1.6.0.tgz",
- "integrity": "sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==",
- "license": "MIT",
+ "node_modules/@smithy/config-resolver": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.13.tgz",
+ "integrity": "sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "zod": "^3.23.8"
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-config-provider": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.11",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=18"
+ "node": ">=16.0.0"
}
},
- "node_modules/@jimp/utils": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-1.6.0.tgz",
- "integrity": "sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==",
- "license": "MIT",
+ "node_modules/@smithy/core": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.5.tgz",
+ "integrity": "sha512-G8G/sDDhXA7o0bOvkc7bgai6POuSld/+XhNnWAbpQTpLv2OZPvyqQ58tLPPlz0bSNsXktldDDREIv1LczFeNEw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@jimp/types": "1.6.0",
- "tinycolor2": "^1.6.0"
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-body-length-browser": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-stream": "^3.3.2",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=18"
+ "node": ">=16.0.0"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/credential-provider-imds": {
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.8.tgz",
+ "integrity": "sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
+ "node_modules/@smithy/fetch-http-handler": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.2.tgz",
+ "integrity": "sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/querystring-builder": "^3.0.11",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-base64": "^3.0.0",
+ "tslib": "^2.6.2"
}
},
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/hash-node": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.11.tgz",
+ "integrity": "sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-buffer-from": "^3.0.0",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/invalid-dependency": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.11.tgz",
+ "integrity": "sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/is-array-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz",
+ "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@jsdoc/salty": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
- "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
- "dev": true,
+ "node_modules/@smithy/middleware-content-length": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.13.tgz",
+ "integrity": "sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==",
"license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "lodash": "^4.17.21"
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=v12.0.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/middleware-endpoint": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.5.tgz",
+ "integrity": "sha512-VhJNs/s/lyx4weiZdXSloBgoLoS8osV0dKIain8nGmx7of3QFKu5BSdEuk1z/U8x9iwes1i+XCiNusEvuK1ijg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
+ "@smithy/core": "^2.5.5",
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
+ "@smithy/util-middleware": "^3.0.11",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">= 8"
+ "node": ">=16.0.0"
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/middleware-retry": {
+ "version": "3.0.30",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.30.tgz",
+ "integrity": "sha512-6323RL2BvAR3VQpTjHpa52kH/iSHyxd/G9ohb2MkBk2Ucu+oMtRXT8yi7KTSIS9nb58aupG6nO0OlXnQOAcvmQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/service-error-classification": "^3.0.11",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-retry": "^3.0.11",
+ "tslib": "^2.6.2",
+ "uuid": "^9.0.1"
+ },
"engines": {
- "node": ">= 8"
+ "node": ">=16.0.0"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@smithy/middleware-serde": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.11.tgz",
+ "integrity": "sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">= 8"
+ "node": ">=16.0.0"
}
},
- "node_modules/@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
- "license": "ISC",
+ "node_modules/@smithy/middleware-stack": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.11.tgz",
+ "integrity": "sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==",
+ "license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@gar/promisify": "^1.0.1",
- "semver": "^7.3.5"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@npmcli/move-file": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "deprecated": "This functionality has been moved to @npmcli/fs",
- "license": "MIT",
+ "node_modules/@smithy/node-config-provider": {
+ "version": "3.1.12",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.12.tgz",
+ "integrity": "sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==",
+ "license": "Apache-2.0",
"optional": true,
"dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=16.0.0"
}
},
- "node_modules/@npmcli/move-file/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "license": "MIT",
+ "node_modules/@smithy/node-http-handler": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.2.tgz",
+ "integrity": "sha512-t4ng1DAd527vlxvOfKFYEe6/QFBcsj7WpNlWTyjorwXXcKw3XlltBGbyHfSJ24QT84nF+agDha9tNYpzmSRZPA==",
+ "license": "Apache-2.0",
"optional": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "dependencies": {
+ "@smithy/abort-controller": "^3.1.9",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/querystring-builder": "^3.0.11",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=16.0.0"
}
},
- "node_modules/@npmcli/move-file/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "license": "ISC",
+ "node_modules/@smithy/property-provider": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.11.tgz",
+ "integrity": "sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==",
+ "license": "Apache-2.0",
"optional": true,
"dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
- "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
- "hasInstallScript": true,
- "license": "MIT",
+ "node_modules/@smithy/protocol-http": {
+ "version": "4.1.8",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.8.tgz",
+ "integrity": "sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==",
+ "license": "Apache-2.0",
"optional": true,
"dependencies": {
- "detect-libc": "^1.0.3",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.5",
- "node-addon-api": "^7.0.0"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.5.0",
- "@parcel/watcher-darwin-arm64": "2.5.0",
- "@parcel/watcher-darwin-x64": "2.5.0",
- "@parcel/watcher-freebsd-x64": "2.5.0",
- "@parcel/watcher-linux-arm-glibc": "2.5.0",
- "@parcel/watcher-linux-arm-musl": "2.5.0",
- "@parcel/watcher-linux-arm64-glibc": "2.5.0",
- "@parcel/watcher-linux-arm64-musl": "2.5.0",
- "@parcel/watcher-linux-x64-glibc": "2.5.0",
- "@parcel/watcher-linux-x64-musl": "2.5.0",
- "@parcel/watcher-win32-arm64": "2.5.0",
- "@parcel/watcher-win32-ia32": "2.5.0",
- "@parcel/watcher-win32-x64": "2.5.0"
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-android-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
- "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/querystring-builder": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.11.tgz",
+ "integrity": "sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-uri-escape": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
- "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/querystring-parser": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.11.tgz",
+ "integrity": "sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
- "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/service-error-classification": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.11.tgz",
+ "integrity": "sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/types": "^3.7.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
- "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/shared-ini-file-loader": {
+ "version": "3.1.12",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.12.tgz",
+ "integrity": "sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
- "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
+ "node_modules/@smithy/signature-v4": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.4.tgz",
+ "integrity": "sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/is-array-buffer": "^3.0.0",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-hex-encoding": "^3.0.0",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-uri-escape": "^3.0.0",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
- "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
+ "node_modules/@smithy/smithy-client": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.5.0.tgz",
+ "integrity": "sha512-Y8FeOa7gbDfCWf7njrkoRATPa5eNLUEjlJS5z5rXatYuGkCb80LbHcu8AQR8qgAZZaNHCLyo2N+pxPsV7l+ivg==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/core": "^2.5.5",
+ "@smithy/middleware-endpoint": "^3.2.5",
+ "@smithy/middleware-stack": "^3.0.11",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-stream": "^3.3.2",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
- "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/types": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.2.tgz",
+ "integrity": "sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
- "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/url-parser": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.11.tgz",
+ "integrity": "sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "dependencies": {
+ "@smithy/querystring-parser": "^3.0.11",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
}
},
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
- "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/util-base64": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz",
+ "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "@smithy/util-buffer-from": "^3.0.0",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@smithy/util-body-length-browser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz",
+ "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
}
},
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
- "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/util-body-length-node": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz",
+ "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10.0.0"
+ "dependencies": {
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
- "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/util-buffer-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
+ "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "@smithy/is-array-buffer": "^3.0.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/@smithy/util-config-provider": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz",
+ "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=16.0.0"
}
},
- "node_modules/@parcel/watcher-win32-ia32": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
- "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
- "cpu": [
- "ia32"
- ],
- "license": "MIT",
+ "node_modules/@smithy/util-defaults-mode-browser": {
+ "version": "3.0.30",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.30.tgz",
+ "integrity": "sha512-nLuGmgfcr0gzm64pqF2UT4SGWVG8UGviAdayDlVzJPNa6Z4lqvpDzdRXmLxtOdEjVlTOEdpZ9dd3ZMMu488mzg==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "bowser": "^2.11.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
"node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@parcel/watcher-win32-x64": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
- "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
+ "node_modules/@smithy/util-defaults-mode-node": {
+ "version": "3.0.30",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.30.tgz",
+ "integrity": "sha512-OD63eWoH68vp75mYcfYyuVH+p7Li/mY4sYOROnauDrtObo1cS4uWfsy/zhOTW8F8ZPxQC1ZXZKVxoxvMGUv2Ow==",
+ "license": "Apache-2.0",
"optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "@smithy/config-resolver": "^3.0.13",
+ "@smithy/credential-provider-imds": "^3.2.8",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
+ },
"engines": {
"node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@parcel/watcher/node_modules/node-addon-api": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
- "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
- "license": "MIT",
- "optional": true
- },
- "node_modules/@phc/format": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz",
- "integrity": "sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==",
- "license": "MIT",
+ "node_modules/@smithy/util-endpoints": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.7.tgz",
+ "integrity": "sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=10"
+ "node": ">=16.0.0"
}
},
- "node_modules/@puppeteer/browsers": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.0.tgz",
- "integrity": "sha512-jESwj3APl78YUWHf28s2EjL0OIxcvl1uLU6Ge68KQ9ZXNsekUcbdr9dCi6vEO8naXS18lWXCV56shVkPStzXSQ==",
+ "node_modules/@smithy/util-hex-encoding": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz",
+ "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==",
"license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "debug": "^4.4.0",
- "extract-zip": "^2.0.1",
- "progress": "^2.0.3",
- "proxy-agent": "^6.5.0",
- "semver": "^7.6.3",
- "tar-fs": "^3.0.6",
- "unbzip2-stream": "^1.4.3",
- "yargs": "^17.7.2"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=18"
+ "node": ">=16.0.0"
}
},
- "node_modules/@puppeteer/browsers/node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "license": "ISC",
+ "node_modules/@smithy/util-middleware": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.11.tgz",
+ "integrity": "sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@puppeteer/browsers/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "license": "MIT",
+ "node_modules/@smithy/util-retry": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.11.tgz",
+ "integrity": "sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "ms": "^2.1.3"
+ "@smithy/service-error-classification": "^3.0.11",
+ "@smithy/types": "^3.7.2",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=16.0.0"
}
},
- "node_modules/@puppeteer/browsers/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/@puppeteer/browsers/node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "license": "MIT",
+ "node_modules/@smithy/util-stream": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.2.tgz",
+ "integrity": "sha512-sInAqdiVeisUGYAv/FrXpmJ0b4WTFmciTRqzhb7wVuem9BHvhIG7tpiYHLDWrl2stOokNZpTTGqz3mzB2qFwXg==",
+ "license": "Apache-2.0",
+ "optional": true,
"dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-base64": "^3.0.0",
+ "@smithy/util-buffer-from": "^3.0.0",
+ "@smithy/util-hex-encoding": "^3.0.0",
+ "@smithy/util-utf8": "^3.0.0",
+ "tslib": "^2.6.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@puppeteer/browsers/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "license": "ISC",
+ "node_modules/@smithy/util-uri-escape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz",
+ "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=16.0.0"
}
},
- "node_modules/@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
+ "node_modules/@smithy/util-utf8": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz",
+ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@smithy/util-buffer-from": "^3.0.0",
+ "tslib": "^2.6.2"
},
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
+ "engines": {
+ "node": ">=16.0.0"
}
},
"node_modules/@szmarczak/http-timer": {
@@ -3176,6 +4524,13 @@
"node": ">=6"
}
},
+ "node_modules/bowser": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -4347,15 +5702,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/denque": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
- "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -5379,6 +6725,29 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/fast-xml-parser": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
+ }
+ ],
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "strnum": "^1.0.5"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
@@ -7688,6 +9057,16 @@
"node": ">=8"
}
},
+ "node_modules/istanbul-lib-processinfo/node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
"node_modules/istanbul-lib-processinfo/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -9261,21 +10640,21 @@
}
},
"node_modules/mongodb": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
- "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz",
+ "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==",
"license": "Apache-2.0",
"dependencies": {
- "bson": "^4.7.0",
- "denque": "^2.1.0",
- "mongodb-connection-string-url": "^2.5.3",
- "socks": "^2.7.0"
+ "bson": "^4.7.2",
+ "mongodb-connection-string-url": "^2.6.0",
+ "socks": "^2.7.1"
},
"engines": {
"node": ">=12.9.0"
},
"optionalDependencies": {
- "saslprep": "^1.0.3"
+ "@aws-sdk/credential-providers": "^3.186.0",
+ "@mongodb-js/saslprep": "^1.1.0"
}
},
"node_modules/mongodb-connection-string-url": {
@@ -11260,19 +12639,6 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT"
},
- "node_modules/saslprep": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
- "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "sparse-bitfield": "^3.0.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/sass": {
"version": "1.81.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.81.0.tgz",
@@ -12084,6 +13450,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strnum": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/strtok3": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
@@ -12803,11 +14176,15 @@
}
},
"node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"license": "MIT",
+ "optional": true,
"bin": {
"uuid": "dist/bin/uuid"
}
diff --git a/package.json b/package.json
index 17d799a32b9..fe4b06cfb72 100644
--- a/package.json
+++ b/package.json
@@ -76,7 +76,7 @@
"method-override": "3.0.0",
"moment": "2.30.1",
"moment-timezone": "0.5.46",
- "mongodb": "4.9.1",
+ "mongodb": "4.17.2",
"nginx-conf": "2.1.0",
"nodemailer": "6.9.16",
"object-hash": "3.0.0",
From 34f9bce45db2f504ca690faa3d41378eb126d89d Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 10 Dec 2024 15:27:31 +0200
Subject: [PATCH 045/186] Update changelog
---
CHANGELOG.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 16de0ba1c0e..21049583727 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,8 @@ Dependencies:
- Bump puppeteer from 23.8.0 to 23.9.0
- Bump tslib from 2.7.0 to 2.8.1
- Bump express from 4.21.1 to 4.21.2
+- Bump mocha from 10.2.0 to 10.8.2
+- Bump mongodb from 4.9.1 to 4.17.2
## Version 24.05.19
Fixes:
From 71dff0141a19909aad5e4e5d9565a4931c33f3d9 Mon Sep 17 00:00:00 2001
From: John-Weak
Date: Wed, 11 Dec 2024 15:55:57 +0530
Subject: [PATCH 046/186] updateMany instead of one by one
---
bin/scripts/member-managament/disable_2fa.js | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/bin/scripts/member-managament/disable_2fa.js b/bin/scripts/member-managament/disable_2fa.js
index dde9cdb7ac5..61eb794816b 100644
--- a/bin/scripts/member-managament/disable_2fa.js
+++ b/bin/scripts/member-managament/disable_2fa.js
@@ -24,18 +24,11 @@ pluginManager.dbConnection().then(async(countlyDb) => {
console.log(`The following ${users.length} user(s) 2FA will be disabled: `);
console.log(JSON.stringify(users));
if (!dry_run) {
- await Promise.all(users.map(async(user) => {
- let userId = user._id;
- await countlyDb.collection("members").findAndModify(
- {_id: userId},
- {},
- {
- $set: {"two_factor_auth.enabled": false},
- $unset: {"two_factor_auth.secret_token": ""}
- }
- );
- console.log("2FA removed: ", JSON.stringify(user));
- }));
+ await countlyDb.collection('members').updateMany({_id: {$in: users.map(user=>user._id)}},
+ {
+ $set: {"two_factor_auth.enabled": false},
+ $unset: {"two_factor_auth.secret_token": ""}
+ });
console.log("All done");
}
}
From b7d9fc704bd79813145c2705876a3161f5756903 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Thu, 12 Dec 2024 11:48:28 +0200
Subject: [PATCH 047/186] component updates and include security.txt
---
api/api.js | 4 +-
frontend/express/app.js | 4 +-
.../express/public/.well-known/security.txt | 7 +
.../public/javascripts/dom/jquery/jquery.js | 2121 ++++++++---------
.../javascripts/utils/additional-methods.js | 4 +-
.../javascripts/utils/jquery.validate.js | 29 +-
.../public/javascripts/countly.views.js | 9 +-
.../frontend/public/templates/logs.html | 5 +-
8 files changed, 1018 insertions(+), 1165 deletions(-)
mode change 100755 => 100644 api/api.js
create mode 100644 frontend/express/public/.well-known/security.txt
diff --git a/api/api.js b/api/api.js
old mode 100755
new mode 100644
index 4a0b51eeffc..0f7133cdc55
--- a/api/api.js
+++ b/api/api.js
@@ -109,8 +109,8 @@ plugins.connectToAllDatabases().then(function() {
password_rotation: 3,
password_autocomplete: true,
robotstxt: "User-agent: *\nDisallow: /",
- dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000 ; includeSubDomains\nX-Content-Type-Options: nosniff",
- api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nAccess-Control-Allow-Origin:*",
+ dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nX-Content-Type-Options: nosniff",
+ api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nAccess-Control-Allow-Origin:*",
dashboard_rate_limit_window: 60,
dashboard_rate_limit_requests: 500,
proxy_hostname: "",
diff --git a/frontend/express/app.js b/frontend/express/app.js
index e706eb21fe5..912a532cf51 100644
--- a/frontend/express/app.js
+++ b/frontend/express/app.js
@@ -151,8 +151,8 @@ plugins.setConfigs("security", {
password_rotation: 3,
password_autocomplete: true,
robotstxt: "User-agent: *\nDisallow: /",
- dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000 ; includeSubDomains\nX-Content-Type-Options: nosniff",
- api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nAccess-Control-Allow-Origin:*",
+ dashboard_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nX-Content-Type-Options: nosniff",
+ api_additional_headers: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nAccess-Control-Allow-Origin:*",
dashboard_rate_limit_window: 60,
dashboard_rate_limit_requests: 500
});
diff --git a/frontend/express/public/.well-known/security.txt b/frontend/express/public/.well-known/security.txt
new file mode 100644
index 00000000000..1db00744410
--- /dev/null
+++ b/frontend/express/public/.well-known/security.txt
@@ -0,0 +1,7 @@
+# If you would like to report a security issue with Countly Server, Countly SDKs
+# please get in touch via the below method
+Contact: mailto:security@count.ly
+Expires: 2025-03-14T00:00:00.000Z
+Preferred-Languages: en
+Canonical: https://securitytxt.org/.well-known/security.txt
+Policy: https://countly.com/legal/privacy-policy
\ No newline at end of file
diff --git a/frontend/express/public/javascripts/dom/jquery/jquery.js b/frontend/express/public/javascripts/dom/jquery/jquery.js
index be4f9d96b11..21896359f9e 100644
--- a/frontend/express/public/javascripts/dom/jquery/jquery.js
+++ b/frontend/express/public/javascripts/dom/jquery/jquery.js
@@ -1,15 +1,12 @@
/*!
- * jQuery JavaScript Library v3.6.0
+ * jQuery JavaScript Library v3.7.1
* https://jquery.com/
*
- * Includes Sizzle.js
- * https://sizzlejs.com/
- *
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2021-03-02T17:08Z
+ * Date: 2023-08-28T13:37Z
*/
( function( global, factory ) {
@@ -23,7 +20,7 @@
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
- // See ticket #14549 for more info.
+ // See ticket trac-14549 for more info.
module.exports = global.document ?
factory( global, true ) :
function( w ) {
@@ -150,8 +147,9 @@ function toType( obj ) {
-var
- version = "3.6.0",
+var version = "3.7.1",
+
+ rhtmlSuffix = /HTML$/i,
// Define a local copy of jQuery
jQuery = function( selector, context ) {
@@ -397,6 +395,38 @@ jQuery.extend( {
return obj;
},
+
+ // Retrieve the text value of an array of DOM nodes
+ text: function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+
+ // If no nodeType, this is expected to be an array
+ while ( ( node = elem[ i++ ] ) ) {
+
+ // Do not traverse comment nodes
+ ret += jQuery.text( node );
+ }
+ }
+ if ( nodeType === 1 || nodeType === 11 ) {
+ return elem.textContent;
+ }
+ if ( nodeType === 9 ) {
+ return elem.documentElement.textContent;
+ }
+ if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+ },
+
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
@@ -419,6 +449,15 @@ jQuery.extend( {
return arr == null ? -1 : indexOf.call( arr, elem, i );
},
+ isXMLDoc: function( elem ) {
+ var namespace = elem && elem.namespaceURI,
+ docElem = elem && ( elem.ownerDocument || elem ).documentElement;
+
+ // Assume HTML when documentElement doesn't yet exist, such as inside
+ // document fragments.
+ return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
+ },
+
// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function( first, second ) {
@@ -520,43 +559,98 @@ function isArrayLike( obj ) {
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}
-var Sizzle =
-/*!
- * Sizzle CSS Selector Engine v2.3.6
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://js.foundation/
- *
- * Date: 2021-02-16
- */
-( function( window ) {
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+}
+var pop = arr.pop;
+
+
+var sort = arr.sort;
+
+
+var splice = arr.splice;
+
+
+var whitespace = "[\\x20\\t\\r\\n\\f]";
+
+
+var rtrimCSS = new RegExp(
+ "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
+ "g"
+);
+
+
+
+
+// Note: an element does not contain itself
+jQuery.contains = function( a, b ) {
+ var bup = b && b.parentNode;
+
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+
+ // Support: IE 9 - 11+
+ // IE doesn't have `contains` on SVG.
+ a.contains ?
+ a.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ) );
+};
+
+
+
+
+// CSS string/identifier serialization
+// https://drafts.csswg.org/cssom/#common-serializing-idioms
+var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
+
+function fcssescape( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+}
+
+jQuery.escapeSelector = function( sel ) {
+ return ( sel + "" ).replace( rcssescape, fcssescape );
+};
+
+
+
+
+var preferredDoc = document,
+ pushNative = push;
+
+( function() {
+
var i,
- support,
Expr,
- getText,
- isXML,
- tokenize,
- compile,
- select,
outermostContext,
sortInput,
hasDuplicate,
+ push = pushNative,
// Local document vars
- setDocument,
document,
- docElem,
+ documentElement,
documentIsHTML,
rbuggyQSA,
- rbuggyMatches,
matches,
- contains,
// Instance-specific data
- expando = "sizzle" + 1 * new Date(),
- preferredDoc = window.document,
+ expando = jQuery.expando,
dirruns = 0,
done = 0,
classCache = createCache(),
@@ -570,47 +664,22 @@ var i,
return 0;
},
- // Instance methods
- hasOwn = ( {} ).hasOwnProperty,
- arr = [],
- pop = arr.pop,
- pushNative = arr.push,
- push = arr.push,
- slice = arr.slice,
-
- // Use a stripped-down indexOf as it's faster than native
- // https://jsperf.com/thor-indexof-vs-for/5
- indexOf = function( list, elem ) {
- var i = 0,
- len = list.length;
- for ( ; i < len; i++ ) {
- if ( list[ i ] === elem ) {
- return i;
- }
- }
- return -1;
- },
-
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
- "ismap|loop|multiple|open|readonly|required|scoped",
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
+ "loop|multiple|open|readonly|required|scoped",
// Regular expressions
- // http://www.w3.org/TR/css3-selectors/#whitespace
- whitespace = "[\\x20\\t\\r\\n\\f]",
-
// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
- // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
- // "Attribute values must be CSS identifiers [capture 5]
- // or strings [capture 3 or capture 4]"
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
whitespace + "*\\]",
@@ -629,101 +698,88 @@ var i,
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rwhitespace = new RegExp( whitespace + "+", "g" ),
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
- whitespace + "+$", "g" ),
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
- "*" ),
+ rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
+ whitespace + "*" ),
rdescend = new RegExp( whitespace + "|>" ),
rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ),
matchExpr = {
- "ID": new RegExp( "^#(" + identifier + ")" ),
- "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
- "TAG": new RegExp( "^(" + identifier + "|[*])" ),
- "ATTR": new RegExp( "^" + attributes ),
- "PSEUDO": new RegExp( "^" + pseudos ),
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
- whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
- whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
- "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ ID: new RegExp( "^#(" + identifier + ")" ),
+ CLASS: new RegExp( "^\\.(" + identifier + ")" ),
+ TAG: new RegExp( "^(" + identifier + "|[*])" ),
+ ATTR: new RegExp( "^" + attributes ),
+ PSEUDO: new RegExp( "^" + pseudos ),
+ CHILD: new RegExp(
+ "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
+ whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
+ whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ bool: new RegExp( "^(?:" + booleans + ")$", "i" ),
// For use in libraries implementing .is()
// We use this for POS matching in `select`
- "needsContext": new RegExp( "^" + whitespace +
+ needsContext: new RegExp( "^" + whitespace +
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
- rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
- rnative = /^[^{]+\{\s*\[native \w/,
-
// Easily-parseable/retrievable ID or TAG or CLASS selectors
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling = /[+~]/,
// CSS escapes
- // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
- runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
+ // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
+ "?|\\\\([^\\r\\n\\f])", "g" ),
funescape = function( escape, nonHex ) {
var high = "0x" + escape.slice( 1 ) - 0x10000;
- return nonHex ?
+ if ( nonHex ) {
// Strip the backslash prefix from a non-hex escape sequence
- nonHex :
-
- // Replace a hexadecimal escape sequence with the encoded Unicode code point
- // Support: IE <=11+
- // For values outside the Basic Multilingual Plane (BMP), manually construct a
- // surrogate pair
- high < 0 ?
- String.fromCharCode( high + 0x10000 ) :
- String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
- },
-
- // CSS string/identifier serialization
- // https://drafts.csswg.org/cssom/#common-serializing-idioms
- rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
- fcssescape = function( ch, asCodePoint ) {
- if ( asCodePoint ) {
-
- // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
- if ( ch === "\0" ) {
- return "\uFFFD";
- }
-
- // Control characters and (dependent upon position) numbers get escaped as code points
- return ch.slice( 0, -1 ) + "\\" +
- ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ return nonHex;
}
- // Other potentially-special ASCII characters get backslash-escaped
- return "\\" + ch;
+ // Replace a hexadecimal escape sequence with the encoded Unicode code point
+ // Support: IE <=11+
+ // For values outside the Basic Multilingual Plane (BMP), manually construct a
+ // surrogate pair
+ return high < 0 ?
+ String.fromCharCode( high + 0x10000 ) :
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
},
- // Used for iframes
- // See setDocument()
+ // Used for iframes; see `setDocument`.
+ // Support: IE 9 - 11+, Edge 12 - 18+
// Removing the function wrapper causes a "Permission Denied"
- // error in IE
+ // error in IE/Edge.
unloadHandler = function() {
setDocument();
},
inDisabledFieldset = addCombinator(
function( elem ) {
- return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
+ return elem.disabled === true && nodeName( elem, "fieldset" );
},
{ dir: "parentNode", next: "legend" }
);
+// Support: IE <=9 only
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
// Optimize for push.apply( _, NodeList )
try {
push.apply(
@@ -731,32 +787,22 @@ try {
preferredDoc.childNodes
);
- // Support: Android<4.0
+ // Support: Android <=4.0
// Detect silently failing push.apply
// eslint-disable-next-line no-unused-expressions
arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
- push = { apply: arr.length ?
-
- // Leverage slice if possible
- function( target, els ) {
+ push = {
+ apply: function( target, els ) {
pushNative.apply( target, slice.call( els ) );
- } :
-
- // Support: IE<9
- // Otherwise append directly
- function( target, els ) {
- var j = target.length,
- i = 0;
-
- // Can't trust NodeList.length
- while ( ( target[ j++ ] = els[ i++ ] ) ) {}
- target.length = j - 1;
+ },
+ call: function( target ) {
+ pushNative.apply( target, slice.call( arguments, 1 ) );
}
};
}
-function Sizzle( selector, context, results, seed ) {
+function find( selector, context, results, seed ) {
var m, i, elem, nid, match, groups, newSelector,
newContext = context && context.ownerDocument,
@@ -790,11 +836,10 @@ function Sizzle( selector, context, results, seed ) {
if ( nodeType === 9 ) {
if ( ( elem = context.getElementById( m ) ) ) {
- // Support: IE, Opera, Webkit
- // TODO: identify versions
+ // Support: IE 9 only
// getElementById can match elements by name instead of ID
if ( elem.id === m ) {
- results.push( elem );
+ push.call( results, elem );
return results;
}
} else {
@@ -804,14 +849,13 @@ function Sizzle( selector, context, results, seed ) {
// Element context
} else {
- // Support: IE, Opera, Webkit
- // TODO: identify versions
+ // Support: IE 9 only
// getElementById can match elements by name instead of ID
if ( newContext && ( elem = newContext.getElementById( m ) ) &&
- contains( context, elem ) &&
+ find.contains( context, elem ) &&
elem.id === m ) {
- results.push( elem );
+ push.call( results, elem );
return results;
}
}
@@ -822,22 +866,15 @@ function Sizzle( selector, context, results, seed ) {
return results;
// Class selector
- } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
- context.getElementsByClassName ) {
-
+ } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
push.apply( results, context.getElementsByClassName( m ) );
return results;
}
}
// Take advantage of querySelectorAll
- if ( support.qsa &&
- !nonnativeSelectorCache[ selector + " " ] &&
- ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
-
- // Support: IE 8 only
- // Exclude object elements
- ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
+ if ( !nonnativeSelectorCache[ selector + " " ] &&
+ ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {
newSelector = selector;
newContext = context;
@@ -850,7 +887,7 @@ function Sizzle( selector, context, results, seed ) {
// as such selectors are not recognized by querySelectorAll.
// Thanks to Andrew Dupont for this technique.
if ( nodeType === 1 &&
- ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
+ ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {
// Expand context for sibling selectors
newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
@@ -858,11 +895,15 @@ function Sizzle( selector, context, results, seed ) {
// We can use :scope instead of the ID hack if the browser
// supports it & if we're not changing the context.
- if ( newContext !== context || !support.scope ) {
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when
+ // strict-comparing two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( newContext != context || !support.scope ) {
// Capture the context ID, setting it first if necessary
if ( ( nid = context.getAttribute( "id" ) ) ) {
- nid = nid.replace( rcssescape, fcssescape );
+ nid = jQuery.escapeSelector( nid );
} else {
context.setAttribute( "id", ( nid = expando ) );
}
@@ -895,7 +936,7 @@ function Sizzle( selector, context, results, seed ) {
}
// All others
- return select( selector.replace( rtrim, "$1" ), context, results, seed );
+ return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
}
/**
@@ -909,7 +950,8 @@ function createCache() {
function cache( key, value ) {
- // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ // Use (key + " ") to avoid collision with native prototype properties
+ // (see https://github.com/jquery/sizzle/issues/157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
// Only keep the most recent entries
@@ -921,7 +963,7 @@ function createCache() {
}
/**
- * Mark a function for special use by Sizzle
+ * Mark a function for special use by jQuery selector module
* @param {Function} fn The function to mark
*/
function markFunction( fn ) {
@@ -952,56 +994,13 @@ function assert( fn ) {
}
}
-/**
- * Adds the same handler for all of the specified attrs
- * @param {String} attrs Pipe-separated list of attributes
- * @param {Function} handler The method that will be applied
- */
-function addHandle( attrs, handler ) {
- var arr = attrs.split( "|" ),
- i = arr.length;
-
- while ( i-- ) {
- Expr.attrHandle[ arr[ i ] ] = handler;
- }
-}
-
-/**
- * Checks document order of two siblings
- * @param {Element} a
- * @param {Element} b
- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
- */
-function siblingCheck( a, b ) {
- var cur = b && a,
- diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
- a.sourceIndex - b.sourceIndex;
-
- // Use IE sourceIndex if available on both nodes
- if ( diff ) {
- return diff;
- }
-
- // Check if b follows a
- if ( cur ) {
- while ( ( cur = cur.nextSibling ) ) {
- if ( cur === b ) {
- return -1;
- }
- }
- }
-
- return a ? 1 : -1;
-}
-
/**
* Returns a function to use in pseudos for input types
* @param {String} type
*/
function createInputPseudo( type ) {
return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === type;
+ return nodeName( elem, "input" ) && elem.type === type;
};
}
@@ -1011,8 +1010,8 @@ function createInputPseudo( type ) {
*/
function createButtonPseudo( type ) {
return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return ( name === "input" || name === "button" ) && elem.type === type;
+ return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
+ elem.type === type;
};
}
@@ -1048,14 +1047,13 @@ function createDisabledPseudo( disabled ) {
}
}
- // Support: IE 6 - 11
+ // Support: IE 6 - 11+
// Use the isDisabled shortcut property to check for disabled fieldset ancestors
return elem.isDisabled === disabled ||
// Where there is no isDisabled, check manually
- /* jshint -W018 */
elem.isDisabled !== !disabled &&
- inDisabledFieldset( elem ) === disabled;
+ inDisabledFieldset( elem ) === disabled;
}
return elem.disabled === disabled;
@@ -1095,7 +1093,7 @@ function createPositionalPseudo( fn ) {
}
/**
- * Checks a node for validity as a Sizzle context
+ * Checks a node for validity as a jQuery selector context
* @param {Element|Object=} context
* @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
*/
@@ -1103,31 +1101,13 @@ function testContext( context ) {
return context && typeof context.getElementsByTagName !== "undefined" && context;
}
-// Expose support vars for convenience
-support = Sizzle.support = {};
-
-/**
- * Detects XML nodes
- * @param {Element|Object} elem An element or a document
- * @returns {Boolean} True iff elem is a non-HTML XML node
- */
-isXML = Sizzle.isXML = function( elem ) {
- var namespace = elem && elem.namespaceURI,
- docElem = elem && ( elem.ownerDocument || elem ).documentElement;
-
- // Support: IE <=8
- // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
- // https://bugs.jquery.com/ticket/4833
- return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
-};
-
/**
* Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @param {Element|Object} [node] An element or document object to use to set the document
* @returns {Object} Returns the current document
*/
-setDocument = Sizzle.setDocument = function( node ) {
- var hasCompare, subWindow,
+function setDocument( node ) {
+ var subWindow,
doc = node ? node.ownerDocument || node : preferredDoc;
// Return early if doc is invalid or already selected
@@ -1141,87 +1121,90 @@ setDocument = Sizzle.setDocument = function( node ) {
// Update global variables
document = doc;
- docElem = document.documentElement;
- documentIsHTML = !isXML( document );
+ documentElement = document.documentElement;
+ documentIsHTML = !jQuery.isXMLDoc( document );
+
+ // Support: iOS 7 only, IE 9 - 11+
+ // Older browsers didn't support unprefixed `matches`.
+ matches = documentElement.matches ||
+ documentElement.webkitMatchesSelector ||
+ documentElement.msMatchesSelector;
// Support: IE 9 - 11+, Edge 12 - 18+
- // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- if ( preferredDoc != document &&
- ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
+ // Accessing iframe documents after unload throws "permission denied" errors
+ // (see trac-13936).
+ // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,
+ // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.
+ if ( documentElement.msMatchesSelector &&
- // Support: IE 11, Edge
- if ( subWindow.addEventListener ) {
- subWindow.addEventListener( "unload", unloadHandler, false );
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ preferredDoc != document &&
+ ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
- // Support: IE 9 - 10 only
- } else if ( subWindow.attachEvent ) {
- subWindow.attachEvent( "onunload", unloadHandler );
- }
+ // Support: IE 9 - 11+, Edge 12 - 18+
+ subWindow.addEventListener( "unload", unloadHandler );
}
- // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
- // Safari 4 - 5 only, Opera <=11.6 - 12.x only
- // IE/Edge & older browsers don't support the :scope pseudo-class.
- // Support: Safari 6.0 only
- // Safari 6.0 supports :scope but it's an alias of :root there.
- support.scope = assert( function( el ) {
- docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
- return typeof el.querySelectorAll !== "undefined" &&
- !el.querySelectorAll( ":scope fieldset div" ).length;
+ // Support: IE <10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert( function( el ) {
+ documentElement.appendChild( el ).id = jQuery.expando;
+ return !document.getElementsByName ||
+ !document.getElementsByName( jQuery.expando ).length;
} );
- /* Attributes
- ---------------------------------------------------------------------- */
-
- // Support: IE<8
- // Verify that getAttribute really returns attributes and not properties
- // (excepting IE8 booleans)
- support.attributes = assert( function( el ) {
- el.className = "i";
- return !el.getAttribute( "className" );
+ // Support: IE 9 only
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node.
+ support.disconnectedMatch = assert( function( el ) {
+ return matches.call( el, "*" );
} );
- /* getElement(s)By*
- ---------------------------------------------------------------------- */
-
- // Check if getElementsByTagName("*") returns only elements
- support.getElementsByTagName = assert( function( el ) {
- el.appendChild( document.createComment( "" ) );
- return !el.getElementsByTagName( "*" ).length;
+ // Support: IE 9 - 11+, Edge 12 - 18+
+ // IE/Edge don't support the :scope pseudo-class.
+ support.scope = assert( function() {
+ return document.querySelectorAll( ":scope" );
} );
- // Support: IE<9
- support.getElementsByClassName = rnative.test( document.getElementsByClassName );
-
- // Support: IE<10
- // Check if getElementById returns elements by name
- // The broken getElementById methods don't pick up programmatically-set names,
- // so use a roundabout getElementsByName test
- support.getById = assert( function( el ) {
- docElem.appendChild( el ).id = expando;
- return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
+ // Make sure the `:has()` argument is parsed unforgivingly.
+ // We include `*` in the test to detect buggy implementations that are
+ // _selectively_ forgiving (specifically when the list includes at least
+ // one valid selector).
+ // Note that we treat complete lack of support for `:has()` as if it were
+ // spec-compliant support, which is fine because use of `:has()` in such
+ // environments will fail in the qSA path and fall back to jQuery traversal
+ // anyway.
+ support.cssHas = assert( function() {
+ try {
+ document.querySelector( ":has(*,:jqfake)" );
+ return false;
+ } catch ( e ) {
+ return true;
+ }
} );
// ID filter and find
if ( support.getById ) {
- Expr.filter[ "ID" ] = function( id ) {
+ Expr.filter.ID = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
return elem.getAttribute( "id" ) === attrId;
};
};
- Expr.find[ "ID" ] = function( id, context ) {
+ Expr.find.ID = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var elem = context.getElementById( id );
return elem ? [ elem ] : [];
}
};
} else {
- Expr.filter[ "ID" ] = function( id ) {
+ Expr.filter.ID = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
var node = typeof elem.getAttributeNode !== "undefined" &&
@@ -1232,7 +1215,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// Support: IE 6 - 7 only
// getElementById is not reliable as a find shortcut
- Expr.find[ "ID" ] = function( id, context ) {
+ Expr.find.ID = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var node, i, elems,
elem = context.getElementById( id );
@@ -1262,40 +1245,18 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Tag
- Expr.find[ "TAG" ] = support.getElementsByTagName ?
- function( tag, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( tag );
-
- // DocumentFragment nodes don't have gEBTN
- } else if ( support.qsa ) {
- return context.querySelectorAll( tag );
- }
- } :
-
- function( tag, context ) {
- var elem,
- tmp = [],
- i = 0,
-
- // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
- results = context.getElementsByTagName( tag );
-
- // Filter out possible comments
- if ( tag === "*" ) {
- while ( ( elem = results[ i++ ] ) ) {
- if ( elem.nodeType === 1 ) {
- tmp.push( elem );
- }
- }
+ Expr.find.TAG = function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
- return tmp;
- }
- return results;
- };
+ // DocumentFragment nodes don't have gEBTN
+ } else {
+ return context.querySelectorAll( tag );
+ }
+ };
// Class
- Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
+ Expr.find.CLASS = function( className, context ) {
if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
return context.getElementsByClassName( className );
}
@@ -1306,177 +1267,94 @@ setDocument = Sizzle.setDocument = function( node ) {
// QSA and matchesSelector support
- // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
- rbuggyMatches = [];
-
- // qSa(:focus) reports false when true (Chrome 21)
- // We allow this because of a bug in IE8/9 that throws an error
- // whenever `document.activeElement` is accessed on an iframe
- // So, we allow :focus to pass through QSA all the time to avoid the IE error
- // See https://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
- if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert( function( el ) {
- // Build QSA regex
- // Regex strategy adopted from Diego Perini
- assert( function( el ) {
+ var input;
- var input;
+ documentElement.appendChild( el ).innerHTML =
+ "" +
+ "";
- // Select is set to empty string on purpose
- // This is to test IE's treatment of not explicitly
- // setting a boolean content attribute,
- // since its presence should be enough
- // https://bugs.jquery.com/ticket/12359
- docElem.appendChild( el ).innerHTML = "" +
- "";
-
- // Support: IE8, Opera 11-12.16
- // Nothing should be selected when empty strings follow ^= or $= or *=
- // The test attribute must be unknown in Opera but "safe" for WinRT
- // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
- if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
- rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
- }
-
- // Support: IE8
- // Boolean attributes and "value" are not treated correctly
- if ( !el.querySelectorAll( "[selected]" ).length ) {
- rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
- }
-
- // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
- if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
- rbuggyQSA.push( "~=" );
- }
-
- // Support: IE 11+, Edge 15 - 18+
- // IE 11/Edge don't find elements on a `[name='']` query in some cases.
- // Adding a temporary attribute to the document before the selection works
- // around the issue.
- // Interestingly, IE 10 & older don't seem to have the issue.
- input = document.createElement( "input" );
- input.setAttribute( "name", "" );
- el.appendChild( input );
- if ( !el.querySelectorAll( "[name='']" ).length ) {
- rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
- whitespace + "*(?:''|\"\")" );
- }
-
- // Webkit/Opera - :checked should return selected option elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- // IE8 throws error here and will not see later tests
- if ( !el.querySelectorAll( ":checked" ).length ) {
- rbuggyQSA.push( ":checked" );
- }
-
- // Support: Safari 8+, iOS 8+
- // https://bugs.webkit.org/show_bug.cgi?id=136851
- // In-page `selector#id sibling-combinator selector` fails
- if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
- rbuggyQSA.push( ".#.+[+~]" );
- }
-
- // Support: Firefox <=3.6 - 5 only
- // Old Firefox doesn't throw on a badly-escaped identifier.
- el.querySelectorAll( "\\\f" );
- rbuggyQSA.push( "[\\r\\n\\f]" );
- } );
-
- assert( function( el ) {
- el.innerHTML = "" +
- "";
-
- // Support: Windows 8 Native Apps
- // The type and name attributes are restricted during .innerHTML assignment
- var input = document.createElement( "input" );
- input.setAttribute( "type", "hidden" );
- el.appendChild( input ).setAttribute( "name", "D" );
-
- // Support: IE8
- // Enforce case-sensitivity of name attribute
- if ( el.querySelectorAll( "[name=d]" ).length ) {
- rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
- }
-
- // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
- // IE8 throws error here and will not see later tests
- if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
- rbuggyQSA.push( ":enabled", ":disabled" );
- }
+ // Support: iOS <=7 - 8 only
+ // Boolean attributes and "value" are not treated correctly in some XML documents
+ if ( !el.querySelectorAll( "[selected]" ).length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
- // Support: IE9-11+
- // IE's :disabled selector does not pick up the children of disabled fieldsets
- docElem.appendChild( el ).disabled = true;
- if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
- rbuggyQSA.push( ":enabled", ":disabled" );
- }
+ // Support: iOS <=7 - 8 only
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push( "~=" );
+ }
- // Support: Opera 10 - 11 only
- // Opera 10-11 does not throw on post-comma invalid pseudos
- el.querySelectorAll( "*,:x" );
- rbuggyQSA.push( ",.*:" );
- } );
- }
+ // Support: iOS 8 only
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push( ".#.+[+~]" );
+ }
- if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
- docElem.webkitMatchesSelector ||
- docElem.mozMatchesSelector ||
- docElem.oMatchesSelector ||
- docElem.msMatchesSelector ) ) ) ) {
+ // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
+ // In some of the document kinds, these selectors wouldn't work natively.
+ // This is probably OK but for backwards compatibility we want to maintain
+ // handling them through jQuery traversal in jQuery 3.x.
+ if ( !el.querySelectorAll( ":checked" ).length ) {
+ rbuggyQSA.push( ":checked" );
+ }
- assert( function( el ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ input = document.createElement( "input" );
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE 9 - 11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
+ // In some of the document kinds, these selectors wouldn't work natively.
+ // This is probably OK but for backwards compatibility we want to maintain
+ // handling them through jQuery traversal in jQuery 3.x.
+ documentElement.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE 11+, Edge 15 - 18+
+ // IE 11/Edge don't find elements on a `[name='']` query in some cases.
+ // Adding a temporary attribute to the document before the selection works
+ // around the issue.
+ // Interestingly, IE 10 & older don't seem to have the issue.
+ input = document.createElement( "input" );
+ input.setAttribute( "name", "" );
+ el.appendChild( input );
+ if ( !el.querySelectorAll( "[name='']" ).length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
+ whitespace + "*(?:''|\"\")" );
+ }
+ } );
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9)
- support.disconnectedMatch = matches.call( el, "*" );
+ if ( !support.cssHas ) {
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( el, "[s!='']:x" );
- rbuggyMatches.push( "!=", pseudos );
- } );
+ // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
+ // Our regular `try-catch` mechanism fails to detect natively-unsupported
+ // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
+ // in browsers that parse the `:has()` argument as a forgiving selector list.
+ // https://drafts.csswg.org/selectors/#relational now requires the argument
+ // to be parsed unforgivingly, but browsers have not yet fully adjusted.
+ rbuggyQSA.push( ":has" );
}
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
-
- /* Contains
- ---------------------------------------------------------------------- */
- hasCompare = rnative.test( docElem.compareDocumentPosition );
-
- // Element contains another
- // Purposefully self-exclusive
- // As in, an element does not contain itself
- contains = hasCompare || rnative.test( docElem.contains ) ?
- function( a, b ) {
- var adown = a.nodeType === 9 ? a.documentElement : a,
- bup = b && b.parentNode;
- return a === bup || !!( bup && bup.nodeType === 1 && (
- adown.contains ?
- adown.contains( bup ) :
- a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
- ) );
- } :
- function( a, b ) {
- if ( b ) {
- while ( ( b = b.parentNode ) ) {
- if ( b === a ) {
- return true;
- }
- }
- }
- return false;
- };
/* Sorting
---------------------------------------------------------------------- */
// Document order sorting
- sortOrder = hasCompare ?
- function( a, b ) {
+ sortOrder = function( a, b ) {
// Flag for duplicate removal
if ( a === b ) {
@@ -1510,8 +1388,8 @@ setDocument = Sizzle.setDocument = function( node ) {
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
// two documents; shallow comparisons work.
// eslint-disable-next-line eqeqeq
- if ( a == document || a.ownerDocument == preferredDoc &&
- contains( preferredDoc, a ) ) {
+ if ( a === document || a.ownerDocument == preferredDoc &&
+ find.contains( preferredDoc, a ) ) {
return -1;
}
@@ -1519,100 +1397,33 @@ setDocument = Sizzle.setDocument = function( node ) {
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
// two documents; shallow comparisons work.
// eslint-disable-next-line eqeqeq
- if ( b == document || b.ownerDocument == preferredDoc &&
- contains( preferredDoc, b ) ) {
+ if ( b === document || b.ownerDocument == preferredDoc &&
+ find.contains( preferredDoc, b ) ) {
return 1;
}
// Maintain original order
return sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
0;
}
return compare & 4 ? -1 : 1;
- } :
- function( a, b ) {
-
- // Exit early if the nodes are identical
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- var cur,
- i = 0,
- aup = a.parentNode,
- bup = b.parentNode,
- ap = [ a ],
- bp = [ b ];
-
- // Parentless nodes are either documents or disconnected
- if ( !aup || !bup ) {
-
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- /* eslint-disable eqeqeq */
- return a == document ? -1 :
- b == document ? 1 :
- /* eslint-enable eqeqeq */
- aup ? -1 :
- bup ? 1 :
- sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
- 0;
-
- // If the nodes are siblings, we can do a quick check
- } else if ( aup === bup ) {
- return siblingCheck( a, b );
- }
-
- // Otherwise we need full lists of their ancestors for comparison
- cur = a;
- while ( ( cur = cur.parentNode ) ) {
- ap.unshift( cur );
- }
- cur = b;
- while ( ( cur = cur.parentNode ) ) {
- bp.unshift( cur );
- }
-
- // Walk down the tree looking for a discrepancy
- while ( ap[ i ] === bp[ i ] ) {
- i++;
- }
-
- return i ?
-
- // Do a sibling check if the nodes have a common ancestor
- siblingCheck( ap[ i ], bp[ i ] ) :
-
- // Otherwise nodes in our document sort first
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- /* eslint-disable eqeqeq */
- ap[ i ] == preferredDoc ? -1 :
- bp[ i ] == preferredDoc ? 1 :
- /* eslint-enable eqeqeq */
- 0;
};
return document;
-};
+}
-Sizzle.matches = function( expr, elements ) {
- return Sizzle( expr, null, null, elements );
+find.matches = function( expr, elements ) {
+ return find( expr, null, null, elements );
};
-Sizzle.matchesSelector = function( elem, expr ) {
+find.matchesSelector = function( elem, expr ) {
setDocument( elem );
- if ( support.matchesSelector && documentIsHTML &&
+ if ( documentIsHTML &&
!nonnativeSelectorCache[ expr + " " ] &&
- ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
- ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
try {
var ret = matches.call( elem, expr );
@@ -1620,9 +1431,9 @@ Sizzle.matchesSelector = function( elem, expr ) {
// IE 9's matchesSelector returns false on disconnected nodes
if ( ret || support.disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9
- elem.document && elem.document.nodeType !== 11 ) {
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
return ret;
}
} catch ( e ) {
@@ -1630,10 +1441,10 @@ Sizzle.matchesSelector = function( elem, expr ) {
}
}
- return Sizzle( expr, document, null, [ elem ] ).length > 0;
+ return find( expr, document, null, [ elem ] ).length > 0;
};
-Sizzle.contains = function( context, elem ) {
+find.contains = function( context, elem ) {
// Set document vars if needed
// Support: IE 11+, Edge 17 - 18+
@@ -1643,10 +1454,11 @@ Sizzle.contains = function( context, elem ) {
if ( ( context.ownerDocument || context ) != document ) {
setDocument( context );
}
- return contains( context, elem );
+ return jQuery.contains( context, elem );
};
-Sizzle.attr = function( elem, name ) {
+
+find.attr = function( elem, name ) {
// Set document vars if needed
// Support: IE 11+, Edge 17 - 18+
@@ -1659,25 +1471,19 @@ Sizzle.attr = function( elem, name ) {
var fn = Expr.attrHandle[ name.toLowerCase() ],
- // Don't get fooled by Object.prototype properties (jQuery #13807)
+ // Don't get fooled by Object.prototype properties (see trac-13807)
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
fn( elem, name, !documentIsHTML ) :
undefined;
- return val !== undefined ?
- val :
- support.attributes || !documentIsHTML ?
- elem.getAttribute( name ) :
- ( val = elem.getAttributeNode( name ) ) && val.specified ?
- val.value :
- null;
-};
+ if ( val !== undefined ) {
+ return val;
+ }
-Sizzle.escape = function( sel ) {
- return ( sel + "" ).replace( rcssescape, fcssescape );
+ return elem.getAttribute( name );
};
-Sizzle.error = function( msg ) {
+find.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};
@@ -1685,76 +1491,44 @@ Sizzle.error = function( msg ) {
* Document sorting and removing duplicates
* @param {ArrayLike} results
*/
-Sizzle.uniqueSort = function( results ) {
+jQuery.uniqueSort = function( results ) {
var elem,
duplicates = [],
j = 0,
i = 0;
// Unless we *know* we can detect duplicates, assume their presence
- hasDuplicate = !support.detectDuplicates;
- sortInput = !support.sortStable && results.slice( 0 );
- results.sort( sortOrder );
+ //
+ // Support: Android <=4.0+
+ // Testing for detecting duplicates is unpredictable so instead assume we can't
+ // depend on duplicate detection in all browsers without a stable sort.
+ hasDuplicate = !support.sortStable;
+ sortInput = !support.sortStable && slice.call( results, 0 );
+ sort.call( results, sortOrder );
if ( hasDuplicate ) {
- while ( ( elem = results[ i++ ] ) ) {
- if ( elem === results[ i ] ) {
- j = duplicates.push( i );
- }
- }
- while ( j-- ) {
- results.splice( duplicates[ j ], 1 );
- }
- }
-
- // Clear input after sorting to release objects
- // See https://github.com/jquery/sizzle/pull/225
- sortInput = null;
-
- return results;
-};
-
-/**
- * Utility function for retrieving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-getText = Sizzle.getText = function( elem ) {
- var node,
- ret = "",
- i = 0,
- nodeType = elem.nodeType;
-
- if ( !nodeType ) {
-
- // If no nodeType, this is expected to be an array
- while ( ( node = elem[ i++ ] ) ) {
-
- // Do not traverse comment nodes
- ret += getText( node );
- }
- } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
-
- // Use textContent for elements
- // innerText usage removed for consistency of new lines (jQuery #11153)
- if ( typeof elem.textContent === "string" ) {
- return elem.textContent;
- } else {
-
- // Traverse its children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
- ret += getText( elem );
+ while ( ( elem = results[ i++ ] ) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
}
}
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
+ while ( j-- ) {
+ splice.call( results, duplicates[ j ], 1 );
+ }
}
- // Do not include comment or processing instruction nodes
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
- return ret;
+jQuery.fn.uniqueSort = function() {
+ return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
};
-Expr = Sizzle.selectors = {
+Expr = jQuery.expr = {
// Can be adjusted by the user
cacheLength: 50,
@@ -1775,12 +1549,12 @@ Expr = Sizzle.selectors = {
},
preFilter: {
- "ATTR": function( match ) {
+ ATTR: function( match ) {
match[ 1 ] = match[ 1 ].replace( runescape, funescape );
// Move the given value to match[3] whether quoted or unquoted
- match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
- match[ 5 ] || "" ).replace( runescape, funescape );
+ match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
+ .replace( runescape, funescape );
if ( match[ 2 ] === "~=" ) {
match[ 3 ] = " " + match[ 3 ] + " ";
@@ -1789,7 +1563,7 @@ Expr = Sizzle.selectors = {
return match.slice( 0, 4 );
},
- "CHILD": function( match ) {
+ CHILD: function( match ) {
/* matches from matchExpr["CHILD"]
1 type (only|nth|...)
@@ -1807,29 +1581,30 @@ Expr = Sizzle.selectors = {
// nth-* requires argument
if ( !match[ 3 ] ) {
- Sizzle.error( match[ 0 ] );
+ find.error( match[ 0 ] );
}
// numeric x and y parameters for Expr.filter.CHILD
// remember that false/true cast respectively to 0/1
match[ 4 ] = +( match[ 4 ] ?
match[ 5 ] + ( match[ 6 ] || 1 ) :
- 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
+ 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
+ );
match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
- // other types prohibit arguments
+ // other types prohibit arguments
} else if ( match[ 3 ] ) {
- Sizzle.error( match[ 0 ] );
+ find.error( match[ 0 ] );
}
return match;
},
- "PSEUDO": function( match ) {
+ PSEUDO: function( match ) {
var excess,
unquoted = !match[ 6 ] && match[ 2 ];
- if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
+ if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
return null;
}
@@ -1858,36 +1633,36 @@ Expr = Sizzle.selectors = {
filter: {
- "TAG": function( nodeNameSelector ) {
- var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ TAG: function( nodeNameSelector ) {
+ var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
return nodeNameSelector === "*" ?
function() {
return true;
} :
function( elem ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ return nodeName( elem, expectedNodeName );
};
},
- "CLASS": function( className ) {
+ CLASS: function( className ) {
var pattern = classCache[ className + " " ];
return pattern ||
- ( pattern = new RegExp( "(^|" + whitespace +
- ")" + className + "(" + whitespace + "|$)" ) ) && classCache(
- className, function( elem ) {
- return pattern.test(
- typeof elem.className === "string" && elem.className ||
- typeof elem.getAttribute !== "undefined" &&
- elem.getAttribute( "class" ) ||
- ""
- );
+ ( pattern = new RegExp( "(^|" + whitespace + ")" + className +
+ "(" + whitespace + "|$)" ) ) &&
+ classCache( className, function( elem ) {
+ return pattern.test(
+ typeof elem.className === "string" && elem.className ||
+ typeof elem.getAttribute !== "undefined" &&
+ elem.getAttribute( "class" ) ||
+ ""
+ );
} );
},
- "ATTR": function( name, operator, check ) {
+ ATTR: function( name, operator, check ) {
return function( elem ) {
- var result = Sizzle.attr( elem, name );
+ var result = find.attr( elem, name );
if ( result == null ) {
return operator === "!=";
@@ -1898,22 +1673,34 @@ Expr = Sizzle.selectors = {
result += "";
- /* eslint-disable max-len */
-
- return operator === "=" ? result === check :
- operator === "!=" ? result !== check :
- operator === "^=" ? check && result.indexOf( check ) === 0 :
- operator === "*=" ? check && result.indexOf( check ) > -1 :
- operator === "$=" ? check && result.slice( -check.length ) === check :
- operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
- operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
- false;
- /* eslint-enable max-len */
+ if ( operator === "=" ) {
+ return result === check;
+ }
+ if ( operator === "!=" ) {
+ return result !== check;
+ }
+ if ( operator === "^=" ) {
+ return check && result.indexOf( check ) === 0;
+ }
+ if ( operator === "*=" ) {
+ return check && result.indexOf( check ) > -1;
+ }
+ if ( operator === "$=" ) {
+ return check && result.slice( -check.length ) === check;
+ }
+ if ( operator === "~=" ) {
+ return ( " " + result.replace( rwhitespace, " " ) + " " )
+ .indexOf( check ) > -1;
+ }
+ if ( operator === "|=" ) {
+ return result === check || result.slice( 0, check.length + 1 ) === check + "-";
+ }
+ return false;
};
},
- "CHILD": function( type, what, _argument, first, last ) {
+ CHILD: function( type, what, _argument, first, last ) {
var simple = type.slice( 0, 3 ) !== "nth",
forward = type.slice( -4 ) !== "last",
ofType = what === "of-type";
@@ -1926,7 +1713,7 @@ Expr = Sizzle.selectors = {
} :
function( elem, _context, xml ) {
- var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ var cache, outerCache, node, nodeIndex, start,
dir = simple !== forward ? "nextSibling" : "previousSibling",
parent = elem.parentNode,
name = ofType && elem.nodeName.toLowerCase(),
@@ -1941,7 +1728,7 @@ Expr = Sizzle.selectors = {
node = elem;
while ( ( node = node[ dir ] ) ) {
if ( ofType ?
- node.nodeName.toLowerCase() === name :
+ nodeName( node, name ) :
node.nodeType === 1 ) {
return false;
@@ -1960,17 +1747,8 @@ Expr = Sizzle.selectors = {
if ( forward && useCache ) {
// Seek `elem` from a previously-cached index
-
- // ...in a gzip-friendly way
- node = parent;
- outerCache = node[ expando ] || ( node[ expando ] = {} );
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- ( outerCache[ node.uniqueID ] = {} );
-
- cache = uniqueCache[ type ] || [];
+ outerCache = parent[ expando ] || ( parent[ expando ] = {} );
+ cache = outerCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
diff = nodeIndex && cache[ 2 ];
node = nodeIndex && parent.childNodes[ nodeIndex ];
@@ -1982,7 +1760,7 @@ Expr = Sizzle.selectors = {
// When found, cache indexes on `parent` and break
if ( node.nodeType === 1 && ++diff && node === elem ) {
- uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ outerCache[ type ] = [ dirruns, nodeIndex, diff ];
break;
}
}
@@ -1991,17 +1769,8 @@ Expr = Sizzle.selectors = {
// Use previously-cached element index if available
if ( useCache ) {
-
- // ...in a gzip-friendly way
- node = elem;
- outerCache = node[ expando ] || ( node[ expando ] = {} );
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- ( outerCache[ node.uniqueID ] = {} );
-
- cache = uniqueCache[ type ] || [];
+ outerCache = elem[ expando ] || ( elem[ expando ] = {} );
+ cache = outerCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
diff = nodeIndex;
}
@@ -2015,7 +1784,7 @@ Expr = Sizzle.selectors = {
( diff = nodeIndex = 0 ) || start.pop() ) ) {
if ( ( ofType ?
- node.nodeName.toLowerCase() === name :
+ nodeName( node, name ) :
node.nodeType === 1 ) &&
++diff ) {
@@ -2023,13 +1792,7 @@ Expr = Sizzle.selectors = {
if ( useCache ) {
outerCache = node[ expando ] ||
( node[ expando ] = {} );
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- ( outerCache[ node.uniqueID ] = {} );
-
- uniqueCache[ type ] = [ dirruns, diff ];
+ outerCache[ type ] = [ dirruns, diff ];
}
if ( node === elem ) {
@@ -2047,19 +1810,19 @@ Expr = Sizzle.selectors = {
};
},
- "PSEUDO": function( pseudo, argument ) {
+ PSEUDO: function( pseudo, argument ) {
// pseudo-class names are case-insensitive
- // http://www.w3.org/TR/selectors/#pseudo-classes
+ // https://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
- Sizzle.error( "unsupported pseudo: " + pseudo );
+ find.error( "unsupported pseudo: " + pseudo );
// The user may use createPseudo to indicate that
// arguments are needed to create the filter function
- // just as Sizzle does
+ // just as jQuery does
if ( fn[ expando ] ) {
return fn( argument );
}
@@ -2073,7 +1836,7 @@ Expr = Sizzle.selectors = {
matched = fn( seed, argument ),
i = matched.length;
while ( i-- ) {
- idx = indexOf( seed, matched[ i ] );
+ idx = indexOf.call( seed, matched[ i ] );
seed[ idx ] = !( matches[ idx ] = matched[ i ] );
}
} ) :
@@ -2089,14 +1852,14 @@ Expr = Sizzle.selectors = {
pseudos: {
// Potentially complex pseudos
- "not": markFunction( function( selector ) {
+ not: markFunction( function( selector ) {
// Trim the selector passed to compile
// to avoid treating leading and trailing
// spaces as combinators
var input = [],
results = [],
- matcher = compile( selector.replace( rtrim, "$1" ) );
+ matcher = compile( selector.replace( rtrimCSS, "$1" ) );
return matcher[ expando ] ?
markFunction( function( seed, matches, _context, xml ) {
@@ -2115,22 +1878,23 @@ Expr = Sizzle.selectors = {
input[ 0 ] = elem;
matcher( input, null, xml, results );
- // Don't keep the element (issue #299)
+ // Don't keep the element
+ // (see https://github.com/jquery/sizzle/issues/299)
input[ 0 ] = null;
return !results.pop();
};
} ),
- "has": markFunction( function( selector ) {
+ has: markFunction( function( selector ) {
return function( elem ) {
- return Sizzle( selector, elem ).length > 0;
+ return find( selector, elem ).length > 0;
};
} ),
- "contains": markFunction( function( text ) {
+ contains: markFunction( function( text ) {
text = text.replace( runescape, funescape );
return function( elem ) {
- return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
+ return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
};
} ),
@@ -2140,12 +1904,12 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
- // http://www.w3.org/TR/selectors/#lang-pseudo
- "lang": markFunction( function( lang ) {
+ // https://www.w3.org/TR/selectors/#lang-pseudo
+ lang: markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test( lang || "" ) ) {
- Sizzle.error( "unsupported lang: " + lang );
+ find.error( "unsupported lang: " + lang );
}
lang = lang.replace( runescape, funescape ).toLowerCase();
return function( elem ) {
@@ -2164,38 +1928,39 @@ Expr = Sizzle.selectors = {
} ),
// Miscellaneous
- "target": function( elem ) {
+ target: function( elem ) {
var hash = window.location && window.location.hash;
return hash && hash.slice( 1 ) === elem.id;
},
- "root": function( elem ) {
- return elem === docElem;
+ root: function( elem ) {
+ return elem === documentElement;
},
- "focus": function( elem ) {
- return elem === document.activeElement &&
- ( !document.hasFocus || document.hasFocus() ) &&
+ focus: function( elem ) {
+ return elem === safeActiveElement() &&
+ document.hasFocus() &&
!!( elem.type || elem.href || ~elem.tabIndex );
},
// Boolean properties
- "enabled": createDisabledPseudo( false ),
- "disabled": createDisabledPseudo( true ),
+ enabled: createDisabledPseudo( false ),
+ disabled: createDisabledPseudo( true ),
- "checked": function( elem ) {
+ checked: function( elem ) {
// In CSS3, :checked should return both checked and selected elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- var nodeName = elem.nodeName.toLowerCase();
- return ( nodeName === "input" && !!elem.checked ) ||
- ( nodeName === "option" && !!elem.selected );
+ // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ return ( nodeName( elem, "input" ) && !!elem.checked ) ||
+ ( nodeName( elem, "option" ) && !!elem.selected );
},
- "selected": function( elem ) {
+ selected: function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
+ // Support: IE <=11+
+ // Accessing the selectedIndex property
+ // forces the browser to treat the default option as
+ // selected when in an optgroup.
if ( elem.parentNode ) {
// eslint-disable-next-line no-unused-expressions
elem.parentNode.selectedIndex;
@@ -2205,9 +1970,9 @@ Expr = Sizzle.selectors = {
},
// Contents
- "empty": function( elem ) {
+ empty: function( elem ) {
- // http://www.w3.org/TR/selectors/#empty-pseudo
+ // https://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
// but not by others (comment: 8; processing instruction: 7; etc.)
// nodeType < 6 works because attributes (2) do not appear as children
@@ -2219,49 +1984,49 @@ Expr = Sizzle.selectors = {
return true;
},
- "parent": function( elem ) {
- return !Expr.pseudos[ "empty" ]( elem );
+ parent: function( elem ) {
+ return !Expr.pseudos.empty( elem );
},
// Element/input types
- "header": function( elem ) {
+ header: function( elem ) {
return rheader.test( elem.nodeName );
},
- "input": function( elem ) {
+ input: function( elem ) {
return rinputs.test( elem.nodeName );
},
- "button": function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === "button" || name === "button";
+ button: function( elem ) {
+ return nodeName( elem, "input" ) && elem.type === "button" ||
+ nodeName( elem, "button" );
},
- "text": function( elem ) {
+ text: function( elem ) {
var attr;
- return elem.nodeName.toLowerCase() === "input" &&
- elem.type === "text" &&
+ return nodeName( elem, "input" ) && elem.type === "text" &&
- // Support: IE<8
- // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ // Support: IE <10 only
+ // New HTML5 attribute values (e.g., "search") appear
+ // with elem.type === "text"
( ( attr = elem.getAttribute( "type" ) ) == null ||
attr.toLowerCase() === "text" );
},
// Position-in-collection
- "first": createPositionalPseudo( function() {
+ first: createPositionalPseudo( function() {
return [ 0 ];
} ),
- "last": createPositionalPseudo( function( _matchIndexes, length ) {
+ last: createPositionalPseudo( function( _matchIndexes, length ) {
return [ length - 1 ];
} ),
- "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
+ eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
return [ argument < 0 ? argument + length : argument ];
} ),
- "even": createPositionalPseudo( function( matchIndexes, length ) {
+ even: createPositionalPseudo( function( matchIndexes, length ) {
var i = 0;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
@@ -2269,7 +2034,7 @@ Expr = Sizzle.selectors = {
return matchIndexes;
} ),
- "odd": createPositionalPseudo( function( matchIndexes, length ) {
+ odd: createPositionalPseudo( function( matchIndexes, length ) {
var i = 1;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
@@ -2277,19 +2042,24 @@ Expr = Sizzle.selectors = {
return matchIndexes;
} ),
- "lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
- var i = argument < 0 ?
- argument + length :
- argument > length ?
- length :
- argument;
+ lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
+ var i;
+
+ if ( argument < 0 ) {
+ i = argument + length;
+ } else if ( argument > length ) {
+ i = length;
+ } else {
+ i = argument;
+ }
+
for ( ; --i >= 0; ) {
matchIndexes.push( i );
}
return matchIndexes;
} ),
- "gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
+ gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument;
for ( ; ++i < length; ) {
matchIndexes.push( i );
@@ -2299,7 +2069,7 @@ Expr = Sizzle.selectors = {
}
};
-Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
+Expr.pseudos.nth = Expr.pseudos.eq;
// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
@@ -2314,7 +2084,7 @@ function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();
-tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+function tokenize( selector, parseOnly ) {
var matched, match, tokens, type,
soFar, groups, preFilters,
cached = tokenCache[ selector + " " ];
@@ -2342,13 +2112,13 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
matched = false;
// Combinators
- if ( ( match = rcombinators.exec( soFar ) ) ) {
+ if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
matched = match.shift();
tokens.push( {
value: matched,
// Cast descendant combinators to space
- type: match[ 0 ].replace( rtrim, " " )
+ type: match[ 0 ].replace( rtrimCSS, " " )
} );
soFar = soFar.slice( matched.length );
}
@@ -2375,14 +2145,16 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
// Return the length of the invalid excess
// if we're just parsing
// Otherwise, throw an error or return tokens
- return parseOnly ?
- soFar.length :
- soFar ?
- Sizzle.error( selector ) :
+ if ( parseOnly ) {
+ return soFar.length;
+ }
- // Cache the tokens
- tokenCache( selector, groups ).slice( 0 );
-};
+ return soFar ?
+ find.error( selector ) :
+
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+}
function toSelector( tokens ) {
var i = 0,
@@ -2415,7 +2187,7 @@ function addCombinator( matcher, combinator, base ) {
// Check against all ancestor/preceding elements
function( elem, context, xml ) {
- var oldCache, uniqueCache, outerCache,
+ var oldCache, outerCache,
newCache = [ dirruns, doneName ];
// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
@@ -2432,14 +2204,9 @@ function addCombinator( matcher, combinator, base ) {
if ( elem.nodeType === 1 || checkNonElements ) {
outerCache = elem[ expando ] || ( elem[ expando ] = {} );
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ elem.uniqueID ] ||
- ( outerCache[ elem.uniqueID ] = {} );
-
- if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ if ( skip && nodeName( elem, skip ) ) {
elem = elem[ dir ] || elem;
- } else if ( ( oldCache = uniqueCache[ key ] ) &&
+ } else if ( ( oldCache = outerCache[ key ] ) &&
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
// Assign to newCache so results back-propagate to previous elements
@@ -2447,7 +2214,7 @@ function addCombinator( matcher, combinator, base ) {
} else {
// Reuse newcache so results back-propagate to previous elements
- uniqueCache[ key ] = newCache;
+ outerCache[ key ] = newCache;
// A match means we're done; a fail means we have to keep checking
if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
@@ -2479,7 +2246,7 @@ function multipleContexts( selector, contexts, results ) {
var i = 0,
len = contexts.length;
for ( ; i < len; i++ ) {
- Sizzle( selector, contexts[ i ], results );
+ find( selector, contexts[ i ], results );
}
return results;
}
@@ -2513,38 +2280,37 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
postFinder = setMatcher( postFinder, postSelector );
}
return markFunction( function( seed, results, context, xml ) {
- var temp, i, elem,
+ var temp, i, elem, matcherOut,
preMap = [],
postMap = [],
preexisting = results.length,
// Get initial elements from seed or context
- elems = seed || multipleContexts(
- selector || "*",
- context.nodeType ? [ context ] : context,
- []
- ),
+ elems = seed ||
+ multipleContexts( selector || "*",
+ context.nodeType ? [ context ] : context, [] ),
// Prefilter to get matcher input, preserving a map for seed-results synchronization
matcherIn = preFilter && ( seed || !selector ) ?
condense( elems, preMap, preFilter, context, xml ) :
- elems,
+ elems;
- matcherOut = matcher ?
+ if ( matcher ) {
- // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
- postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter
+ // or preexisting results,
+ matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
- // ...intermediate processing is necessary
- [] :
+ // ...intermediate processing is necessary
+ [] :
- // ...otherwise use results directly
- results :
- matcherIn;
+ // ...otherwise use results directly
+ results;
- // Find primary matches
- if ( matcher ) {
+ // Find primary matches
matcher( matcherIn, matcherOut, context, xml );
+ } else {
+ matcherOut = matcherIn;
}
// Apply postFilter
@@ -2582,7 +2348,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
i = matcherOut.length;
while ( i-- ) {
if ( ( elem = matcherOut[ i ] ) &&
- ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
+ ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {
seed[ temp ] = !( results[ temp ] = elem );
}
@@ -2617,15 +2383,21 @@ function matcherFromTokens( tokens ) {
return elem === checkContext;
}, implicitRelative, true ),
matchAnyContext = addCombinator( function( elem ) {
- return indexOf( checkContext, elem ) > -1;
+ return indexOf.call( checkContext, elem ) > -1;
}, implicitRelative, true ),
matchers = [ function( elem, context, xml ) {
- var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
( checkContext = context ).nodeType ?
matchContext( elem, context, xml ) :
matchAnyContext( elem, context, xml ) );
- // Avoid hanging onto element (issue #299)
+ // Avoid hanging onto element
+ // (see https://github.com/jquery/sizzle/issues/299)
checkContext = null;
return ret;
} ];
@@ -2650,11 +2422,10 @@ function matcherFromTokens( tokens ) {
i > 1 && elementMatcher( matchers ),
i > 1 && toSelector(
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
- tokens
- .slice( 0, i - 1 )
- .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
- ).replace( rtrim, "$1" ),
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 )
+ .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
+ ).replace( rtrimCSS, "$1" ),
matcher,
i < j && matcherFromTokens( tokens.slice( i, j ) ),
j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
@@ -2680,7 +2451,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
contextBackup = outermostContext,
// We must always have either seed elements or outermost context
- elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
+ elems = seed || byElement && Expr.find.TAG( "*", outermost ),
// Use integer dirruns iff this is the outermost matcher
dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
@@ -2696,8 +2467,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
}
// Add elements passing elementMatchers directly to results
- // Support: IE<9, Safari
- // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id
+ // Support: iOS <=7 - 9 only
+ // Tolerate NodeList properties (IE: "length"; Safari: ) matching
+ // elements by id. (see trac-14142)
for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
if ( byElement && elem ) {
j = 0;
@@ -2712,7 +2484,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
}
while ( ( matcher = elementMatchers[ j++ ] ) ) {
if ( matcher( elem, context || document, xml ) ) {
- results.push( elem );
+ push.call( results, elem );
break;
}
}
@@ -2775,7 +2547,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
if ( outermost && !seed && setMatched.length > 0 &&
( matchedCount + setMatchers.length ) > 1 ) {
- Sizzle.uniqueSort( results );
+ jQuery.uniqueSort( results );
}
}
@@ -2793,7 +2565,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
superMatcher;
}
-compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+function compile( selector, match /* Internal Use Only */ ) {
var i,
setMatchers = [],
elementMatchers = [],
@@ -2816,27 +2588,25 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
}
// Cache the compiled function
- cached = compilerCache(
- selector,
- matcherFromGroupMatchers( elementMatchers, setMatchers )
- );
+ cached = compilerCache( selector,
+ matcherFromGroupMatchers( elementMatchers, setMatchers ) );
// Save selector and tokenization
cached.selector = selector;
}
return cached;
-};
+}
/**
- * A low-level selection function that works with Sizzle's compiled
+ * A low-level selection function that works with jQuery's compiled
* selector functions
* @param {String|Function} selector A selector or a pre-compiled
- * selector function built with Sizzle.compile
+ * selector function built with jQuery selector compile
* @param {Element} context
* @param {Array} [results]
* @param {Array} [seed] A set of elements to match against
*/
-select = Sizzle.select = function( selector, context, results, seed ) {
+function select( selector, context, results, seed ) {
var i, tokens, token, type, find,
compiled = typeof selector === "function" && selector,
match = !seed && tokenize( ( selector = compiled.selector || selector ) );
@@ -2850,10 +2620,12 @@ select = Sizzle.select = function( selector, context, results, seed ) {
// Reduce context if the leading compound selector is an ID
tokens = match[ 0 ] = match[ 0 ].slice( 0 );
if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
- context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
- context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
- .replace( runescape, funescape ), context ) || [] )[ 0 ];
+ context = ( Expr.find.ID(
+ token.matches[ 0 ].replace( runescape, funescape ),
+ context
+ ) || [] )[ 0 ];
if ( !context ) {
return results;
@@ -2866,7 +2638,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
}
// Fetch a seed set for right-to-left matching
- i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
+ i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
while ( i-- ) {
token = tokens[ i ];
@@ -2879,8 +2651,8 @@ select = Sizzle.select = function( selector, context, results, seed ) {
// Search, expanding context for leading sibling combinators
if ( ( seed = find(
token.matches[ 0 ].replace( runescape, funescape ),
- rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
- context
+ rsibling.test( tokens[ 0 ].type ) &&
+ testContext( context.parentNode ) || context
) ) ) {
// If seed is empty or no tokens remain, we can return early
@@ -2907,21 +2679,18 @@ select = Sizzle.select = function( selector, context, results, seed ) {
!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
);
return results;
-};
+}
// One-time assignments
+// Support: Android <=4.0 - 4.1+
// Sort stability
support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
-// Support: Chrome 14-35+
-// Always assume duplicates if they aren't passed to the comparison function
-support.detectDuplicates = !!hasDuplicate;
-
// Initialize against the default document
setDocument();
-// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Support: Android <=4.0 - 4.1+
// Detached nodes confoundingly follow *each other*
support.sortDetached = assert( function( el ) {
@@ -2929,68 +2698,29 @@ support.sortDetached = assert( function( el ) {
return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
} );
-// Support: IE<8
-// Prevent attribute/property "interpolation"
-// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert( function( el ) {
- el.innerHTML = "";
- return el.firstChild.getAttribute( "href" ) === "#";
-} ) ) {
- addHandle( "type|href|height|width", function( elem, name, isXML ) {
- if ( !isXML ) {
- return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
- }
- } );
-}
-
-// Support: IE<9
-// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert( function( el ) {
- el.innerHTML = "";
- el.firstChild.setAttribute( "value", "" );
- return el.firstChild.getAttribute( "value" ) === "";
-} ) ) {
- addHandle( "value", function( elem, _name, isXML ) {
- if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
- return elem.defaultValue;
- }
- } );
-}
-
-// Support: IE<9
-// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert( function( el ) {
- return el.getAttribute( "disabled" ) == null;
-} ) ) {
- addHandle( booleans, function( elem, name, isXML ) {
- var val;
- if ( !isXML ) {
- return elem[ name ] === true ? name.toLowerCase() :
- ( val = elem.getAttributeNode( name ) ) && val.specified ?
- val.value :
- null;
- }
- } );
-}
-
-return Sizzle;
-
-} )( window );
-
-
-
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
+jQuery.find = find;
// Deprecated
jQuery.expr[ ":" ] = jQuery.expr.pseudos;
-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-jQuery.escapeSelector = Sizzle.escape;
+jQuery.unique = jQuery.uniqueSort;
+
+// These have always been private, but they used to be documented as part of
+// Sizzle so let's maintain them for now for backwards compatibility purposes.
+find.compile = compile;
+find.select = select;
+find.setDocument = setDocument;
+find.tokenize = tokenize;
+
+find.escape = jQuery.escapeSelector;
+find.getText = jQuery.text;
+find.isXML = jQuery.isXMLDoc;
+find.selectors = jQuery.expr;
+find.support = jQuery.support;
+find.uniqueSort = jQuery.uniqueSort;
+ /* eslint-enable */
+} )();
var dir = function( elem, dir, until ) {
@@ -3024,13 +2754,6 @@ var siblings = function( n, elem ) {
var rneedsContext = jQuery.expr.match.needsContext;
-
-
-function nodeName( elem, name ) {
-
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
-
-}
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
@@ -3129,8 +2852,8 @@ jQuery.fn.extend( {
var rootjQuery,
// A simple way to check for HTML strings
- // Prioritize #id over to avoid XSS via location.hash (#9521)
- // Strict HTML recognition (#11290: must start with <)
+ // Prioritize #id over to avoid XSS via location.hash (trac-9521)
+ // Strict HTML recognition (trac-11290: must start with <)
// Shortcut simple #id case for speed
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
@@ -3281,7 +3004,7 @@ jQuery.fn.extend( {
if ( cur.nodeType < 11 && ( targets ?
targets.index( cur ) > -1 :
- // Don't pass non-elements to Sizzle
+ // Don't pass non-elements to jQuery#find
cur.nodeType === 1 &&
jQuery.find.matchesSelector( cur, selectors ) ) ) {
@@ -3836,7 +3559,7 @@ jQuery.extend( {
if ( jQuery.Deferred.exceptionHook ) {
jQuery.Deferred.exceptionHook( e,
- process.stackTrace );
+ process.error );
}
// Support: Promises/A+ section 2.3.3.3.4.1
@@ -3864,10 +3587,17 @@ jQuery.extend( {
process();
} else {
- // Call an optional hook to record the stack, in case of exception
+ // Call an optional hook to record the error, in case of exception
// since it's otherwise lost when execution goes async
- if ( jQuery.Deferred.getStackHook ) {
- process.stackTrace = jQuery.Deferred.getStackHook();
+ if ( jQuery.Deferred.getErrorHook ) {
+ process.error = jQuery.Deferred.getErrorHook();
+
+ // The deprecated alias of the above. While the name suggests
+ // returning the stack, not an error instance, jQuery just passes
+ // it directly to `console.warn` so both will work; an instance
+ // just better cooperates with source maps.
+ } else if ( jQuery.Deferred.getStackHook ) {
+ process.error = jQuery.Deferred.getStackHook();
}
window.setTimeout( process );
}
@@ -4042,12 +3772,16 @@ jQuery.extend( {
// warn about them ASAP rather than swallowing them by default.
var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
-jQuery.Deferred.exceptionHook = function( error, stack ) {
+// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
+// captured before the async barrier to get the original error cause
+// which may otherwise be hidden.
+jQuery.Deferred.exceptionHook = function( error, asyncError ) {
// Support: IE 8 - 9 only
// Console exists when dev tools are open, which can happen at any time
if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
- window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ window.console.warn( "jQuery.Deferred exception: " + error.message,
+ error.stack, asyncError );
}
};
@@ -4087,7 +3821,7 @@ jQuery.extend( {
isReady: false,
// A counter to track how many items to wait for before
- // the ready event fires. See #6781
+ // the ready event fires. See trac-6781
readyWait: 1,
// Handle when the DOM is ready
@@ -4215,7 +3949,7 @@ function fcamelCase( _all, letter ) {
// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 15
-// Microsoft forgot to hump their vendor prefix (#9572)
+// Microsoft forgot to hump their vendor prefix (trac-9572)
function camelCase( string ) {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}
@@ -4251,7 +3985,7 @@ Data.prototype = {
value = {};
// We can accept data for non-element nodes in modern browsers,
- // but we should not, see #8335.
+ // but we should not, see trac-8335.
// Always return an empty object.
if ( acceptData( owner ) ) {
@@ -4490,7 +4224,7 @@ jQuery.fn.extend( {
while ( i-- ) {
// Support: IE 11 only
- // The attrs elements can be null (#14894)
+ // The attrs elements can be null (trac-14894)
if ( attrs[ i ] ) {
name = attrs[ i ].name;
if ( name.indexOf( "data-" ) === 0 ) {
@@ -4913,9 +4647,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
input = document.createElement( "input" );
// Support: Android 4.0 - 4.3 only
- // Check state lost if the name is set (#11217)
+ // Check state lost if the name is set (trac-11217)
// Support: Windows Web Apps (WWA)
- // `name` and `type` must use .setAttribute for WWA (#14901)
+ // `name` and `type` must use .setAttribute for WWA (trac-14901)
input.setAttribute( "type", "radio" );
input.setAttribute( "checked", "checked" );
input.setAttribute( "name", "t" );
@@ -4939,7 +4673,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
} )();
-// We have to close these tags to support XHTML (#13200)
+// We have to close these tags to support XHTML (trac-13200)
var wrapMap = {
// XHTML parsers do not magically insert elements in the
@@ -4965,7 +4699,7 @@ if ( !support.option ) {
function getAll( context, tag ) {
// Support: IE <=9 - 11 only
- // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ // Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
var ret;
if ( typeof context.getElementsByTagName !== "undefined" ) {
@@ -5048,7 +4782,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
// Remember the top-level container
tmp = fragment.firstChild;
- // Ensure the created nodes are orphaned (#12392)
+ // Ensure the created nodes are orphaned (trac-12392)
tmp.textContent = "";
}
}
@@ -5103,25 +4837,6 @@ function returnFalse() {
return false;
}
-// Support: IE <=9 - 11+
-// focus() and blur() are asynchronous, except when they are no-op.
-// So expect focus to be synchronous when the element is already active,
-// and blur to be synchronous when the element is not already active.
-// (focus and blur are always synchronous in other supported browsers,
-// this just defines when we can count on it).
-function expectSync( elem, type ) {
- return ( elem === safeActiveElement() ) === ( type === "focus" );
-}
-
-// Support: IE <=9 only
-// Accessing document.activeElement can throw unexpectedly
-// https://bugs.jquery.com/ticket/13393
-function safeActiveElement() {
- try {
- return document.activeElement;
- } catch ( err ) { }
-}
-
function on( elem, types, selector, data, fn, one ) {
var origFn, type;
@@ -5469,15 +5184,15 @@ jQuery.event = {
for ( ; cur !== this; cur = cur.parentNode || this ) {
- // Don't check non-elements (#13208)
- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ // Don't check non-elements (trac-13208)
+ // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
matchedHandlers = [];
matchedSelectors = {};
for ( i = 0; i < delegateCount; i++ ) {
handleObj = handlers[ i ];
- // Don't conflict with Object.prototype properties (#13203)
+ // Don't conflict with Object.prototype properties (trac-13203)
sel = handleObj.selector + " ";
if ( matchedSelectors[ sel ] === undefined ) {
@@ -5559,7 +5274,7 @@ jQuery.event = {
el.click && nodeName( el, "input" ) ) {
// dataPriv.set( el, "click", ... )
- leverageNative( el, "click", returnTrue );
+ leverageNative( el, "click", true );
}
// Return false to allow normal processing in the caller
@@ -5610,10 +5325,10 @@ jQuery.event = {
// synthetic events by interrupting progress until reinvoked in response to
// *native* events that it fires directly, ensuring that state changes have
// already occurred before other listeners are invoked.
-function leverageNative( el, type, expectSync ) {
+function leverageNative( el, type, isSetup ) {
- // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
- if ( !expectSync ) {
+ // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !isSetup ) {
if ( dataPriv.get( el, type ) === undefined ) {
jQuery.event.add( el, type, returnTrue );
}
@@ -5625,15 +5340,13 @@ function leverageNative( el, type, expectSync ) {
jQuery.event.add( el, type, {
namespace: false,
handler: function( event ) {
- var notAsync, result,
+ var result,
saved = dataPriv.get( this, type );
if ( ( event.isTrigger & 1 ) && this[ type ] ) {
// Interrupt processing of the outer synthetic .trigger()ed event
- // Saved data should be false in such cases, but might be a leftover capture object
- // from an async native handler (gh-4350)
- if ( !saved.length ) {
+ if ( !saved ) {
// Store arguments for use when handling the inner native event
// There will always be at least one argument (an event object), so this array
@@ -5642,33 +5355,22 @@ function leverageNative( el, type, expectSync ) {
dataPriv.set( this, type, saved );
// Trigger the native event and capture its result
- // Support: IE <=9 - 11+
- // focus() and blur() are asynchronous
- notAsync = expectSync( this, type );
this[ type ]();
result = dataPriv.get( this, type );
- if ( saved !== result || notAsync ) {
- dataPriv.set( this, type, false );
- } else {
- result = {};
- }
+ dataPriv.set( this, type, false );
+
if ( saved !== result ) {
// Cancel the outer synthetic event
event.stopImmediatePropagation();
event.preventDefault();
- // Support: Chrome 86+
- // In Chrome, if an element having a focusout handler is blurred by
- // clicking outside of it, it invokes the handler synchronously. If
- // that handler calls `.remove()` on the element, the data is cleared,
- // leaving `result` undefined. We need to guard against this.
- return result && result.value;
+ return result;
}
// If this is an inner synthetic event for an event with a bubbling surrogate
- // (focus or blur), assume that the surrogate already propagated from triggering the
- // native event and prevent that from happening again here.
+ // (focus or blur), assume that the surrogate already propagated from triggering
+ // the native event and prevent that from happening again here.
// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
// bubbling surrogate propagates *after* the non-bubbling base), but that seems
// less bad than duplication.
@@ -5678,22 +5380,25 @@ function leverageNative( el, type, expectSync ) {
// If this is a native event triggered above, everything is now in order
// Fire an inner synthetic event with the original arguments
- } else if ( saved.length ) {
+ } else if ( saved ) {
// ...and capture the result
- dataPriv.set( this, type, {
- value: jQuery.event.trigger(
-
- // Support: IE <=9 - 11+
- // Extend with the prototype to reset the above stopImmediatePropagation()
- jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
- saved.slice( 1 ),
- this
- )
- } );
-
- // Abort handling of the native event
- event.stopImmediatePropagation();
+ dataPriv.set( this, type, jQuery.event.trigger(
+ saved[ 0 ],
+ saved.slice( 1 ),
+ this
+ ) );
+
+ // Abort handling of the native event by all jQuery handlers while allowing
+ // native handlers on the same element to run. On target, this is achieved
+ // by stopping immediate propagation just on the jQuery event. However,
+ // the native event is re-wrapped by a jQuery one on each level of the
+ // propagation so the only way to stop it for jQuery is to stop it for
+ // everyone via native `stopPropagation()`. This is not a problem for
+ // focus/blur which don't bubble, but it does also stop click on checkboxes
+ // and radios. We accept this limitation.
+ event.stopPropagation();
+ event.isImmediatePropagationStopped = returnTrue;
}
}
} );
@@ -5731,7 +5436,7 @@ jQuery.Event = function( src, props ) {
// Create target properties
// Support: Safari <=6 - 7 only
- // Target should not be a text node (#504, #13143)
+ // Target should not be a text node (trac-504, trac-13143)
this.target = ( src.target && src.target.nodeType === 3 ) ?
src.target.parentNode :
src.target;
@@ -5832,18 +5537,73 @@ jQuery.each( {
}, jQuery.event.addProp );
jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+
+ function focusMappedHandler( nativeEvent ) {
+ if ( document.documentMode ) {
+
+ // Support: IE 11+
+ // Attach a single focusin/focusout handler on the document while someone wants
+ // focus/blur. This is because the former are synchronous in IE while the latter
+ // are async. In other browsers, all those handlers are invoked synchronously.
+
+ // `handle` from private data would already wrap the event, but we need
+ // to change the `type` here.
+ var handle = dataPriv.get( this, "handle" ),
+ event = jQuery.event.fix( nativeEvent );
+ event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
+ event.isSimulated = true;
+
+ // First, handle focusin/focusout
+ handle( nativeEvent );
+
+ // ...then, handle focus/blur
+ //
+ // focus/blur don't bubble while focusin/focusout do; simulate the former by only
+ // invoking the handler at the lower level.
+ if ( event.target === event.currentTarget ) {
+
+ // The setup part calls `leverageNative`, which, in turn, calls
+ // `jQuery.event.add`, so event handle will already have been set
+ // by this point.
+ handle( event );
+ }
+ } else {
+
+ // For non-IE browsers, attach a single capturing handler on the document
+ // while someone wants focusin/focusout.
+ jQuery.event.simulate( delegateType, nativeEvent.target,
+ jQuery.event.fix( nativeEvent ) );
+ }
+ }
+
jQuery.event.special[ type ] = {
// Utilize native event if possible so blur/focus sequence is correct
setup: function() {
+ var attaches;
+
// Claim the first handler
// dataPriv.set( this, "focus", ... )
// dataPriv.set( this, "blur", ... )
- leverageNative( this, type, expectSync );
+ leverageNative( this, type, true );
- // Return false to allow normal processing in the caller
- return false;
+ if ( document.documentMode ) {
+
+ // Support: IE 9 - 11+
+ // We use the same native handler for focusin & focus (and focusout & blur)
+ // so we need to coordinate setup & teardown parts between those events.
+ // Use `delegateType` as the key as `type` is already used by `leverageNative`.
+ attaches = dataPriv.get( this, delegateType );
+ if ( !attaches ) {
+ this.addEventListener( delegateType, focusMappedHandler );
+ }
+ dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
+ } else {
+
+ // Return false to allow normal processing in the caller
+ return false;
+ }
},
trigger: function() {
@@ -5854,14 +5614,84 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
return true;
},
- // Suppress native focus or blur as it's already being fired
- // in leverageNative.
- _default: function() {
- return true;
+ teardown: function() {
+ var attaches;
+
+ if ( document.documentMode ) {
+ attaches = dataPriv.get( this, delegateType ) - 1;
+ if ( !attaches ) {
+ this.removeEventListener( delegateType, focusMappedHandler );
+ dataPriv.remove( this, delegateType );
+ } else {
+ dataPriv.set( this, delegateType, attaches );
+ }
+ } else {
+
+ // Return false to indicate standard teardown should be applied
+ return false;
+ }
+ },
+
+ // Suppress native focus or blur if we're currently inside
+ // a leveraged native-event stack
+ _default: function( event ) {
+ return dataPriv.get( event.target, type );
},
delegateType: delegateType
};
+
+ // Support: Firefox <=44
+ // Firefox doesn't have focus(in | out) events
+ // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+ //
+ // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+ // focus(in | out) events fire after focus & blur events,
+ // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+ // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+ //
+ // Support: IE 9 - 11+
+ // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
+ // attach a single handler for both events in IE.
+ jQuery.event.special[ delegateType ] = {
+ setup: function() {
+
+ // Handle: regular nodes (via `this.ownerDocument`), window
+ // (via `this.document`) & document (via `this`).
+ var doc = this.ownerDocument || this.document || this,
+ dataHolder = document.documentMode ? this : doc,
+ attaches = dataPriv.get( dataHolder, delegateType );
+
+ // Support: IE 9 - 11+
+ // We use the same native handler for focusin & focus (and focusout & blur)
+ // so we need to coordinate setup & teardown parts between those events.
+ // Use `delegateType` as the key as `type` is already used by `leverageNative`.
+ if ( !attaches ) {
+ if ( document.documentMode ) {
+ this.addEventListener( delegateType, focusMappedHandler );
+ } else {
+ doc.addEventListener( type, focusMappedHandler, true );
+ }
+ }
+ dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this.document || this,
+ dataHolder = document.documentMode ? this : doc,
+ attaches = dataPriv.get( dataHolder, delegateType ) - 1;
+
+ if ( !attaches ) {
+ if ( document.documentMode ) {
+ this.removeEventListener( delegateType, focusMappedHandler );
+ } else {
+ doc.removeEventListener( type, focusMappedHandler, true );
+ }
+ dataPriv.remove( dataHolder, delegateType );
+ } else {
+ dataPriv.set( dataHolder, delegateType, attaches );
+ }
+ }
+ };
} );
// Create mouseenter/leave events using mouseover/out and event-time checks
@@ -5956,7 +5786,8 @@ var
// checked="checked" or checked
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
- rcleanScript = /^\s*\s*$/g;
+
+ rcleanScript = /^\s*\s*$/g;
// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) {
@@ -6070,7 +5901,7 @@ function domManip( collection, args, callback, ignored ) {
// Use the original fragment for the last item
// instead of the first because it can end up
- // being emptied incorrectly in certain situations (#8070).
+ // being emptied incorrectly in certain situations (trac-8070).
for ( ; i < l; i++ ) {
node = fragment;
@@ -6092,7 +5923,7 @@ function domManip( collection, args, callback, ignored ) {
if ( hasScripts ) {
doc = scripts[ scripts.length - 1 ].ownerDocument;
- // Reenable scripts
+ // Re-enable scripts
jQuery.map( scripts, restoreScript );
// Evaluate executable scripts on first document insertion
@@ -6111,6 +5942,12 @@ function domManip( collection, args, callback, ignored ) {
}, doc );
}
} else {
+
+ // Unwrap a CDATA section containing script contents. This shouldn't be
+ // needed as in XML documents they're already not visible when
+ // inspecting element contents and in HTML documents they have no
+ // meaning but we're preserving that logic for backwards compatibility.
+ // This will be removed completely in 4.0. See gh-4904.
DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
}
}
@@ -6157,7 +5994,8 @@ jQuery.extend( {
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
!jQuery.isXMLDoc( elem ) ) {
- // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ // We eschew jQuery#find here for performance reasons:
+ // https://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@@ -6393,9 +6231,12 @@ jQuery.each( {
} );
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+var rcustomProp = /^--/;
+
+
var getStyles = function( elem ) {
- // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
// IE throws on elements created in popups
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
var view = elem.ownerDocument.defaultView;
@@ -6495,7 +6336,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
}
// Support: IE <=9 - 11 only
- // Style of cloned element affects source element cloned (#8908)
+ // Style of cloned element affects source element cloned (trac-8908)
div.style.backgroundClip = "content-box";
div.cloneNode( true ).style.backgroundClip = "";
support.clearCloneStyle = div.style.backgroundClip === "content-box";
@@ -6539,7 +6380,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
trChild = document.createElement( "div" );
table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
- tr.style.cssText = "border:1px solid";
+ tr.style.cssText = "box-sizing:content-box;border:1px solid";
// Support: Chrome 86+
// Height set through cssText does not get applied.
@@ -6551,7 +6392,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
// In our bodyBackground.html iframe,
// display for all div elements is set to "inline",
// which causes a problem only in Android 8 Chrome 86.
- // Ensuring the div is display: block
+ // Ensuring the div is `display: block`
// gets around this issue.
trChild.style.display = "block";
@@ -6575,6 +6416,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
function curCSS( elem, name, computed ) {
var width, minWidth, maxWidth, ret,
+ isCustomProp = rcustomProp.test( name ),
// Support: Firefox 51+
// Retrieving style before computed somehow
@@ -6585,11 +6427,42 @@ function curCSS( elem, name, computed ) {
computed = computed || getStyles( elem );
// getPropertyValue is needed for:
- // .css('filter') (IE 9 only, #12537)
- // .css('--customProperty) (#3144)
+ // .css('filter') (IE 9 only, trac-12537)
+ // .css('--customProperty) (gh-3144)
if ( computed ) {
+
+ // Support: IE <=9 - 11+
+ // IE only supports `"float"` in `getPropertyValue`; in computed styles
+ // it's only available as `"cssFloat"`. We no longer modify properties
+ // sent to `.css()` apart from camelCasing, so we need to check both.
+ // Normally, this would create difference in behavior: if
+ // `getPropertyValue` returns an empty string, the value returned
+ // by `.css()` would be `undefined`. This is usually the case for
+ // disconnected elements. However, in IE even disconnected elements
+ // with no styles return `"none"` for `getPropertyValue( "float" )`
ret = computed.getPropertyValue( name ) || computed[ name ];
+ if ( isCustomProp && ret ) {
+
+ // Support: Firefox 105+, Chrome <=105+
+ // Spec requires trimming whitespace for custom properties (gh-4926).
+ // Firefox only trims leading whitespace. Chrome just collapses
+ // both leading & trailing whitespace to a single space.
+ //
+ // Fall back to `undefined` if empty string returned.
+ // This collapses a missing definition with property defined
+ // and set to an empty string but there's no standard API
+ // allowing us to differentiate them without a performance penalty
+ // and returning `undefined` aligns with older jQuery.
+ //
+ // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
+ // as whitespace while CSS does not, but this is not a problem
+ // because CSS preprocessing replaces them with U+000A LINE FEED
+ // (which *is* CSS whitespace)
+ // https://www.w3.org/TR/css-syntax-3/#input-preprocessing
+ ret = ret.replace( rtrimCSS, "$1" ) || undefined;
+ }
+
if ( ret === "" && !isAttached( elem ) ) {
ret = jQuery.style( elem, name );
}
@@ -6685,7 +6558,6 @@ var
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
- rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
@@ -6707,7 +6579,8 @@ function setPositiveNumber( _elem, value, subtract ) {
function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
var i = dimension === "width" ? 1 : 0,
extra = 0,
- delta = 0;
+ delta = 0,
+ marginDelta = 0;
// Adjustment may not be necessary
if ( box === ( isBorderBox ? "border" : "content" ) ) {
@@ -6717,8 +6590,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
for ( ; i < 4; i += 2 ) {
// Both box models exclude margin
+ // Count margin delta separately to only add it after scroll gutter adjustment.
+ // This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
if ( box === "margin" ) {
- delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+ marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
}
// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
@@ -6769,7 +6644,7 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
) ) || 0;
}
- return delta;
+ return delta + marginDelta;
}
function getWidthOrHeight( elem, dimension, extra ) {
@@ -6867,26 +6742,35 @@ jQuery.extend( {
// Don't automatically add "px" to these possibly-unitless properties
cssNumber: {
- "animationIterationCount": true,
- "columnCount": true,
- "fillOpacity": true,
- "flexGrow": true,
- "flexShrink": true,
- "fontWeight": true,
- "gridArea": true,
- "gridColumn": true,
- "gridColumnEnd": true,
- "gridColumnStart": true,
- "gridRow": true,
- "gridRowEnd": true,
- "gridRowStart": true,
- "lineHeight": true,
- "opacity": true,
- "order": true,
- "orphans": true,
- "widows": true,
- "zIndex": true,
- "zoom": true
+ animationIterationCount: true,
+ aspectRatio: true,
+ borderImageSlice: true,
+ columnCount: true,
+ flexGrow: true,
+ flexShrink: true,
+ fontWeight: true,
+ gridArea: true,
+ gridColumn: true,
+ gridColumnEnd: true,
+ gridColumnStart: true,
+ gridRow: true,
+ gridRowEnd: true,
+ gridRowStart: true,
+ lineHeight: true,
+ opacity: true,
+ order: true,
+ orphans: true,
+ scale: true,
+ widows: true,
+ zIndex: true,
+ zoom: true,
+
+ // SVG-related
+ fillOpacity: true,
+ floodOpacity: true,
+ stopOpacity: true,
+ strokeMiterlimit: true,
+ strokeOpacity: true
},
// Add in properties whose names you wish to fix before
@@ -6921,15 +6805,15 @@ jQuery.extend( {
if ( value !== undefined ) {
type = typeof value;
- // Convert "+=" or "-=" to relative numbers (#7345)
+ // Convert "+=" or "-=" to relative numbers (trac-7345)
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
value = adjustCSS( elem, name, ret );
- // Fixes bug #9237
+ // Fixes bug trac-9237
type = "number";
}
- // Make sure that null and NaN values aren't set (#7116)
+ // Make sure that null and NaN values aren't set (trac-7116)
if ( value == null || value !== value ) {
return;
}
@@ -7553,7 +7437,7 @@ function Animation( elem, properties, options ) {
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
// Support: Android 2.3 only
- // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
temp = remaining / animation.duration || 0,
percent = 1 - temp,
index = 0,
@@ -7943,7 +7827,6 @@ jQuery.fx.speeds = {
// Based off of the plugin by Clint Helfers, with permission.
-// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery.fn.delay = function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@@ -8168,8 +8051,7 @@ jQuery.extend( {
// Support: IE <=9 - 11 only
// elem.tabIndex doesn't always return the
// correct value when it hasn't been explicitly set
- // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- // Use proper attribute retrieval(#12072)
+ // Use proper attribute retrieval (trac-12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
if ( tabindex ) {
@@ -8273,8 +8155,7 @@ function classesToArray( value ) {
jQuery.fn.extend( {
addClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
+ var classNames, cur, curValue, className, i, finalValue;
if ( isFunction( value ) ) {
return this.each( function( j ) {
@@ -8282,36 +8163,35 @@ jQuery.fn.extend( {
} );
}
- classes = classesToArray( value );
+ classNames = classesToArray( value );
- if ( classes.length ) {
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
- cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+ if ( classNames.length ) {
+ return this.each( function() {
+ curValue = getClass( this );
+ cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
- if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
- cur += clazz + " ";
+ for ( i = 0; i < classNames.length; i++ ) {
+ className = classNames[ i ];
+ if ( cur.indexOf( " " + className + " " ) < 0 ) {
+ cur += className + " ";
}
}
// Only assign if different to avoid unneeded rendering.
finalValue = stripAndCollapse( cur );
if ( curValue !== finalValue ) {
- elem.setAttribute( "class", finalValue );
+ this.setAttribute( "class", finalValue );
}
}
- }
+ } );
}
return this;
},
removeClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
+ var classNames, cur, curValue, className, i, finalValue;
if ( isFunction( value ) ) {
return this.each( function( j ) {
@@ -8323,45 +8203,42 @@ jQuery.fn.extend( {
return this.attr( "class", "" );
}
- classes = classesToArray( value );
+ classNames = classesToArray( value );
- if ( classes.length ) {
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
+ if ( classNames.length ) {
+ return this.each( function() {
+ curValue = getClass( this );
// This expression is here for better compressibility (see addClass)
- cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+ cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
+ for ( i = 0; i < classNames.length; i++ ) {
+ className = classNames[ i ];
// Remove *all* instances
- while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
- cur = cur.replace( " " + clazz + " ", " " );
+ while ( cur.indexOf( " " + className + " " ) > -1 ) {
+ cur = cur.replace( " " + className + " ", " " );
}
}
// Only assign if different to avoid unneeded rendering.
finalValue = stripAndCollapse( cur );
if ( curValue !== finalValue ) {
- elem.setAttribute( "class", finalValue );
+ this.setAttribute( "class", finalValue );
}
}
- }
+ } );
}
return this;
},
toggleClass: function( value, stateVal ) {
- var type = typeof value,
+ var classNames, className, i, self,
+ type = typeof value,
isValidValue = type === "string" || Array.isArray( value );
- if ( typeof stateVal === "boolean" && isValidValue ) {
- return stateVal ? this.addClass( value ) : this.removeClass( value );
- }
-
if ( isFunction( value ) ) {
return this.each( function( i ) {
jQuery( this ).toggleClass(
@@ -8371,17 +8248,20 @@ jQuery.fn.extend( {
} );
}
- return this.each( function() {
- var className, i, self, classNames;
+ if ( typeof stateVal === "boolean" && isValidValue ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+ classNames = classesToArray( value );
+
+ return this.each( function() {
if ( isValidValue ) {
// Toggle individual class names
- i = 0;
self = jQuery( this );
- classNames = classesToArray( value );
- while ( ( className = classNames[ i++ ] ) ) {
+ for ( i = 0; i < classNames.length; i++ ) {
+ className = classNames[ i ];
// Check each className given, space separated list
if ( self.hasClass( className ) ) {
@@ -8515,7 +8395,7 @@ jQuery.extend( {
val :
// Support: IE <=10 - 11 only
- // option.text throws exceptions (#14686, #14858)
+ // option.text throws exceptions (trac-14686, trac-14858)
// Strip and collapse whitespace
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
stripAndCollapse( jQuery.text( elem ) );
@@ -8542,7 +8422,7 @@ jQuery.extend( {
option = options[ i ];
// Support: IE <=9 only
- // IE8-9 doesn't update selected after form reset (#2551)
+ // IE8-9 doesn't update selected after form reset (trac-2551)
if ( ( option.selected || i === index ) &&
// Don't return options that are disabled or in a disabled optgroup
@@ -8616,9 +8496,39 @@ jQuery.each( [ "radio", "checkbox" ], function() {
// Return jQuery for attributes-only inclusion
+var location = window.location;
+
+var nonce = { guid: Date.now() };
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml, parserErrorElem;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE 9 - 11 only
+ // IE throws on parseFromString with invalid input.
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {}
-support.focusin = "onfocusin" in window;
+ parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
+ if ( !xml || parserErrorElem ) {
+ jQuery.error( "Invalid XML: " + (
+ parserErrorElem ?
+ jQuery.map( parserErrorElem.childNodes, function( el ) {
+ return el.textContent;
+ } ).join( "\n" ) :
+ data
+ ) );
+ }
+ return xml;
+};
var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
@@ -8685,8 +8595,8 @@ jQuery.extend( jQuery.event, {
return;
}
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ // Determine event propagation path in advance, per W3C events spec (trac-9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
bubbleType = special.delegateType || type;
@@ -8738,7 +8648,7 @@ jQuery.extend( jQuery.event, {
acceptData( elem ) ) {
// Call a native DOM method on the target with the same name as the event.
- // Don't do default actions on window, that's where global variables be (#6170)
+ // Don't do default actions on window, that's where global variables be (trac-6170)
if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
// Don't re-trigger an onFOO event when we call its FOO() method
@@ -8806,85 +8716,6 @@ jQuery.fn.extend( {
} );
-// Support: Firefox <=44
-// Firefox doesn't have focus(in | out) events
-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
-//
-// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
-// focus(in | out) events fire after focus & blur events,
-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
-// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
-if ( !support.focusin ) {
- jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler on the document while someone wants focusin/focusout
- var handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
-
- // Handle: regular nodes (via `this.ownerDocument`), window
- // (via `this.document`) & document (via `this`).
- var doc = this.ownerDocument || this.document || this,
- attaches = dataPriv.access( doc, fix );
-
- if ( !attaches ) {
- doc.addEventListener( orig, handler, true );
- }
- dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
- },
- teardown: function() {
- var doc = this.ownerDocument || this.document || this,
- attaches = dataPriv.access( doc, fix ) - 1;
-
- if ( !attaches ) {
- doc.removeEventListener( orig, handler, true );
- dataPriv.remove( doc, fix );
-
- } else {
- dataPriv.access( doc, fix, attaches );
- }
- }
- };
- } );
-}
-var location = window.location;
-
-var nonce = { guid: Date.now() };
-
-var rquery = ( /\?/ );
-
-
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
- var xml, parserErrorElem;
- if ( !data || typeof data !== "string" ) {
- return null;
- }
-
- // Support: IE 9 - 11 only
- // IE throws on parseFromString with invalid input.
- try {
- xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
- } catch ( e ) {}
-
- parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
- if ( !xml || parserErrorElem ) {
- jQuery.error( "Invalid XML: " + (
- parserErrorElem ?
- jQuery.map( parserErrorElem.childNodes, function( el ) {
- return el.textContent;
- } ).join( "\n" ) :
- data
- ) );
- }
- return xml;
-};
-
-
var
rbracket = /\[\]$/,
rCRLF = /\r?\n/g,
@@ -9012,7 +8843,7 @@ var
rantiCache = /([?&])_=[^&]*/,
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
- // #7653, #8125, #8152: local protocol detection
+ // trac-7653, trac-8125, trac-8152: local protocol detection
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent = /^(?:GET|HEAD)$/,
rprotocol = /^\/\//,
@@ -9035,7 +8866,7 @@ var
*/
transports = {},
- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
allTypes = "*/".concat( "*" ),
// Anchor tag for parsing the document origin
@@ -9106,7 +8937,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX
// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
-// Fixes #9887
+// Fixes trac-9887
function ajaxExtend( target, src ) {
var key, deep,
flatOptions = jQuery.ajaxSettings.flatOptions || {};
@@ -9517,12 +9348,12 @@ jQuery.extend( {
deferred.promise( jqXHR );
// Add protocol if not provided (prefilters might expect it)
- // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // Handle falsy url in the settings object (trac-10093: consistency with old signature)
// We also use the url parameter if available
s.url = ( ( url || s.url || location.href ) + "" )
.replace( rprotocol, location.protocol + "//" );
- // Alias method option to type as per ticket #12004
+ // Alias method option to type as per ticket trac-12004
s.type = options.method || options.type || s.method || s.type;
// Extract dataTypes list
@@ -9565,7 +9396,7 @@ jQuery.extend( {
}
// We can fire global events as of now if asked to
- // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
fireGlobals = jQuery.event && s.global;
// Watch for a new set of requests
@@ -9594,7 +9425,7 @@ jQuery.extend( {
if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
- // #9682: remove data so that it's not used in an eventual retry
+ // trac-9682: remove data so that it's not used in an eventual retry
delete s.data;
}
@@ -9867,7 +9698,7 @@ jQuery._evalUrl = function( url, options, doc ) {
return jQuery.ajax( {
url: url,
- // Make this explicit, since user can override this through ajaxSetup (#11264)
+ // Make this explicit, since user can override this through ajaxSetup (trac-11264)
type: "GET",
dataType: "script",
cache: true,
@@ -9976,7 +9807,7 @@ var xhrSuccessStatus = {
0: 200,
// Support: IE <=9 only
- // #1450: sometimes IE returns 1223 when it should be 204
+ // trac-1450: sometimes IE returns 1223 when it should be 204
1223: 204
},
xhrSupported = jQuery.ajaxSettings.xhr();
@@ -10048,7 +9879,7 @@ jQuery.ajaxTransport( function( options ) {
} else {
complete(
- // File: protocol always yields status 0; see #8605, #14207
+ // File: protocol always yields status 0; see trac-8605, trac-14207
xhr.status,
xhr.statusText
);
@@ -10109,7 +9940,7 @@ jQuery.ajaxTransport( function( options ) {
xhr.send( options.hasContent && options.data || null );
} catch ( e ) {
- // #14683: Only rethrow if this hasn't been notified as an error yet
+ // trac-14683: Only rethrow if this hasn't been notified as an error yet
if ( callback ) {
throw e;
}
@@ -10729,7 +10560,9 @@ jQuery.fn.extend( {
},
hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ return this
+ .on( "mouseenter", fnOver )
+ .on( "mouseleave", fnOut || fnOver );
}
} );
@@ -10753,7 +10586,9 @@ jQuery.each(
// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
-var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+// Require that the "whitespace run" starts from a non-whitespace
+// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
+var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
// Bind a function to a context, optionally partially applying any
// arguments.
@@ -10820,7 +10655,7 @@ jQuery.isNumeric = function( obj ) {
jQuery.trim = function( text ) {
return text == null ?
"" :
- ( text + "" ).replace( rtrim, "" );
+ ( text + "" ).replace( rtrim, "$1" );
};
@@ -10868,8 +10703,8 @@ jQuery.noConflict = function( deep ) {
};
// Expose jQuery and $ identifiers, even in AMD
-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
+// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (trac-13566)
if ( typeof noGlobal === "undefined" ) {
window.jQuery = window.$ = jQuery;
}
@@ -10881,7 +10716,7 @@ return jQuery;
} );
/*!
- * jQuery Migrate - v3.3.2 - 2020-11-17T23:22Z
+ * jQuery Migrate - v3.5.2 - 2020-11-17T23:22Z
* Copyright OpenJS Foundation and other contributors
*/
( function( factory ) {
@@ -10906,7 +10741,7 @@ return jQuery;
} )( function( jQuery, window ) {
"use strict";
-jQuery.migrateVersion = "3.3.2";
+jQuery.migrateVersion = "3.5.2";
jQuery.migrateMute = true;
// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2
diff --git a/frontend/express/public/javascripts/utils/additional-methods.js b/frontend/express/public/javascripts/utils/additional-methods.js
index bc1ef39ed61..ed754644b57 100644
--- a/frontend/express/public/javascripts/utils/additional-methods.js
+++ b/frontend/express/public/javascripts/utils/additional-methods.js
@@ -1,9 +1,9 @@
/*!
- * jQuery Validation Plugin v1.19.6-pre
+ * jQuery Validation Plugin v1.21.0
*
* https://jqueryvalidation.org/
*
- * Copyright (c) 2023 Jörn Zaefferer
+ * Copyright (c) 2024 Jörn Zaefferer
* Released under the MIT license
*/
(function( factory ) {
diff --git a/frontend/express/public/javascripts/utils/jquery.validate.js b/frontend/express/public/javascripts/utils/jquery.validate.js
index 4adbbeb34d9..e54cd1dc48f 100644
--- a/frontend/express/public/javascripts/utils/jquery.validate.js
+++ b/frontend/express/public/javascripts/utils/jquery.validate.js
@@ -1,9 +1,9 @@
/*!
- * jQuery Validation Plugin v1.19.6-pre
+ * jQuery Validation Plugin v1.21.0
*
* https://jqueryvalidation.org/
*
- * Copyright (c) 2023 Jörn Zaefferer
+ * Copyright (c) 2024 Jörn Zaefferer
* Released under the MIT license
*/
(function( factory ) {
@@ -293,6 +293,7 @@ $.extend( $.validator, {
onsubmit: true,
ignore: ":hidden",
ignoreTitle: false,
+ customElements: [],
onfocusin: function( element ) {
this.lastActive = element;
@@ -440,17 +441,17 @@ $.extend( $.validator, {
settings[ eventType ].call( validator, this, event );
}
}
-
+ var focusListeners = [ ":text", "[type='password']", "[type='file']", "select", "textarea", "[type='number']", "[type='search']",
+ "[type='tel']", "[type='url']", "[type='email']", "[type='datetime']", "[type='date']", "[type='month']",
+ "[type='week']", "[type='time']", "[type='datetime-local']", "[type='range']", "[type='color']",
+ "[type='radio']", "[type='checkbox']", "[contenteditable]", "[type='button']" ];
+ var clickListeners = [ "select", "option", "[type='radio']", "[type='checkbox']" ];
$( this.currentForm )
- .on( "focusin.validate focusout.validate keyup.validate",
- ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " +
- "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " +
- "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " +
- "[type='radio'], [type='checkbox'], [contenteditable], [type='button']", delegate )
+ .on( "focusin.validate focusout.validate keyup.validate", focusListeners.concat( this.settings.customElements ).join( ", " ), delegate )
// Support: Chrome, oldIE
// "select" is provided as event.target when clicking a option
- .on( "click.validate", "select, option, [type='radio'], [type='checkbox']", delegate );
+ .on( "click.validate", clickListeners.concat( this.settings.customElements ).join( ", " ), delegate );
if ( this.settings.invalidHandler ) {
$( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler );
@@ -647,11 +648,12 @@ $.extend( $.validator, {
elements: function() {
var validator = this,
- rulesCache = {};
+ rulesCache = {},
+ selectors = [ "input", "select", "textarea", "[contenteditable]" ];
// Select all valid inputs inside the form (no submit or reset buttons)
return $( this.currentForm )
- .find( "input, select, textarea, [contenteditable]" )
+ .find( selectors.concat( this.settings.customElements ).join( ", " ) )
.not( ":submit, :reset, :image, :disabled" )
.not( this.settings.ignore )
.filter( function() {
@@ -1501,7 +1503,7 @@ $.extend( $.validator, {
// https://jqueryvalidation.org/number-method/
number: function( value, element ) {
- return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value );
+ return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:-?\.\d+)?$/.test( value );
},
// https://jqueryvalidation.org/digits-method/
@@ -1612,11 +1614,12 @@ $.extend( $.validator, {
param = typeof param === "string" && { url: param } || param;
optionDataString = $.param( $.extend( { data: value }, param.data ) );
- if ( previous.old === optionDataString ) {
+ if ( previous.valid !== null && previous.old === optionDataString ) {
return previous.valid;
}
previous.old = optionDataString;
+ previous.valid = null;
validator = this;
this.startRequest( element );
data = {};
diff --git a/plugins/errorlogs/frontend/public/javascripts/countly.views.js b/plugins/errorlogs/frontend/public/javascripts/countly.views.js
index ff0c3547d5d..654c47f61d9 100644
--- a/plugins/errorlogs/frontend/public/javascripts/countly.views.js
+++ b/plugins/errorlogs/frontend/public/javascripts/countly.views.js
@@ -6,8 +6,9 @@
data: function() {
return {
selectLog: this.query || "api",
- downloadLink: countlyGlobal.path + "/o/errorlogs?auth_token=" + countlyGlobal.auth_token + "&download=true&log=" + this.query || "api",
+ downloadLink: countlyGlobal.path + "/o/errorlogs?download=true&log=" + this.query || "api",
logList: [{name: "Api Log", value: "api"}],
+ authToken: countlyGlobal.auth_token,
cachedLog: {}
};
},
@@ -35,7 +36,7 @@
}
},
changeLog: function(value) {
- this.downloadLink = countlyGlobal.path + "/o/errorlogs?auth_token=" + countlyGlobal.auth_token + "&download=true&log=" + value,
+ this.downloadLink = countlyGlobal.path + "/o/errorlogs?download=true&log=" + value,
app.navigate("#/manage/logs/errorlogs/" + value);
this.refresh(true);
},
@@ -58,6 +59,10 @@
}
});
}, [jQuery.i18n.map["common.no-dont-delete"], jQuery.i18n.map["common.yes-clear-it"]], {title: jQuery.i18n.map["errorlogs.confirm-delete-" + self.selectLog + "-title"] || jQuery.i18n.map["errorlogs.confirm-delete-title"], image: "clear-api-logs"});
+ },
+ download: function() {
+ document.forms.errorlogsform.submit();
+ return false;
}
}
});
diff --git a/plugins/errorlogs/frontend/public/templates/logs.html b/plugins/errorlogs/frontend/public/templates/logs.html
index c1d40870e0e..9be102fd5b5 100644
--- a/plugins/errorlogs/frontend/public/templates/logs.html
+++ b/plugins/errorlogs/frontend/public/templates/logs.html
@@ -15,7 +15,10 @@
{{i18n('errorlogs.clear')}}
-
+
+
{{i18n('errorlogs.download')}}
From 54eb6f3863fdf2af4e02e20c45c6e1937500dbe5 Mon Sep 17 00:00:00 2001
From: John-Weak
Date: Fri, 13 Dec 2024 12:30:10 +0530
Subject: [PATCH 048/186] [fix] missing end
---
.../public/core/user-management/templates/data-table.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/frontend/express/public/core/user-management/templates/data-table.html b/frontend/express/public/core/user-management/templates/data-table.html
index 571376f6630..7274539dab7 100644
--- a/frontend/express/public/core/user-management/templates/data-table.html
+++ b/frontend/express/public/core/user-management/templates/data-table.html
@@ -75,6 +75,7 @@ {{i18n('management-users.view-title')}}
sortable="true" prop="username" :label="i18n('management-users.username')">
{{rowScope.row.username}}
+
{{i18n('management-users.view-title')}}
sortable="true" prop="email" :label="i18n('management-users.email')">
{{rowScope.row.email}}
+
From 100b678e82866b707429fd69d4ba257687a4e297 Mon Sep 17 00:00:00 2001
From: John-Weak
Date: Mon, 16 Dec 2024 09:45:00 +0530
Subject: [PATCH 049/186] [user-management] add option to disable 2fa for a
user
---
.../javascripts/countly.models.js | 16 ++++++++++++++++
.../javascripts/countly.views.js | 19 +++++++++++++++++++
.../user-management/templates/data-table.html | 1 +
.../dashboard/dashboard.properties | 1 +
4 files changed, 37 insertions(+)
diff --git a/frontend/express/public/core/user-management/javascripts/countly.models.js b/frontend/express/public/core/user-management/javascripts/countly.models.js
index 147224b3f7b..a87d85aff40 100644
--- a/frontend/express/public/core/user-management/javascripts/countly.models.js
+++ b/frontend/express/public/core/user-management/javascripts/countly.models.js
@@ -215,5 +215,21 @@
callback(err.responseJSON.result);
});
};
+ countlyUserManagement.disableTwoFactorAuth = function(id, callback) {
+ return $.ajax({
+ type: "GET",
+ url: countlyGlobal.path + "/i/two-factor-auth",
+ data: {
+ method: "admin_disable",
+ uid: id
+ },
+ success: function() {
+ callback();
+ },
+ error: function(err) {
+ callback(err.responseJSON.result);
+ }
+ });
+ };
})((window.countlyUserManagement = window.countlyUserManagement || {}));
diff --git a/frontend/express/public/core/user-management/javascripts/countly.views.js b/frontend/express/public/core/user-management/javascripts/countly.views.js
index 011c875c7d2..6cb5584eb56 100644
--- a/frontend/express/public/core/user-management/javascripts/countly.views.js
+++ b/frontend/express/public/core/user-management/javascripts/countly.views.js
@@ -65,6 +65,7 @@
},
roleMap: roleMap,
showLogs: countlyGlobal.plugins.indexOf('systemlogs') > -1,
+ twoFactorAuth: countlyGlobal.plugins.indexOf('two-factor-auth') > -1,
tableDynamicCols: tableDynamicCols,
userManagementPersistKey: 'userManagement_table_' + countlyCommon.ACTIVE_APP_ID,
isGroupPluginEnabled: isGroupPluginEnabled
@@ -114,6 +115,9 @@
}
},
methods: {
+ is2faEnabled: function(row) {
+ return countlyGlobal.member.global_admin && this.twoFactorAuth && row.two_factor_auth && row.two_factor_auth.enabled;
+ },
handleCommand: function(command, index) {
switch (command) {
case "delete-user":
@@ -157,6 +161,21 @@
});
});
break;
+ case 'disable-2fa':
+ countlyUserManagement.disableTwoFactorAuth(index, function(err) {
+ if (err) {
+ CountlyHelpers.notify({
+ message: CV.i18n('two-factor-auth.faildisable_title'),
+ type: 'error'
+ });
+ return;
+ }
+ CountlyHelpers.notify({
+ message: CV.i18n('two-factor-auth.disable_title'),
+ type: 'success'
+ });
+ });
+ break;
}
},
handleSubmitFilter: function(newFilter) {
diff --git a/frontend/express/public/core/user-management/templates/data-table.html b/frontend/express/public/core/user-management/templates/data-table.html
index 571376f6630..fa8f4b1bb0c 100644
--- a/frontend/express/public/core/user-management/templates/data-table.html
+++ b/frontend/express/public/core/user-management/templates/data-table.html
@@ -129,6 +129,7 @@ {{i18n('management-users.view-title')}}
{{ i18n('management-users.view-user-logs') }}
{{ i18n('management-users.reset-failed-logins') }}
{{ i18n('management-users.delete-user') }}
+ {{ i18n('management-users.disable-2fa-user') }}
diff --git a/frontend/express/public/localization/dashboard/dashboard.properties b/frontend/express/public/localization/dashboard/dashboard.properties
index 0eaa9b14346..0b1a5340f46 100644
--- a/frontend/express/public/localization/dashboard/dashboard.properties
+++ b/frontend/express/public/localization/dashboard/dashboard.properties
@@ -908,6 +908,7 @@ management-users.no-role = No role
management-users.create-user = Create User
management-users.delete-user = Delete User
management-users.edit = Click to edit
+management-users.disable-2fa-user = Disable 2FA
management-users.all-roles = All roles
management-users.not-logged-in-yet = Not logged in yet
management-users.close = Click to close
From 5c1d905c55cc179a0d6cc504e6d118acc863bd1b Mon Sep 17 00:00:00 2001
From: John-Weak
Date: Mon, 16 Dec 2024 09:50:15 +0530
Subject: [PATCH 050/186] changelog
---
CHANGELOG.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 785de3e059a..bbb6732d036 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,9 @@ Fixes:
- [push] Fixed bug where IOS credentials get mixed up while sending messages from different apps at the same time
- [push] Fixed bug where it crashes in connection pool growth because of a type mismatch in an if condition
+Features:
+- [user-management] Global admins can now disable 2FA for individual users
+
Dependencies:
- Bump express from 4.21.1 to 4.21.2
- Bump mocha from 10.2.0 to 10.8.2
From aaf08dd28e4400059b24bebdaac55b116ad8115b Mon Sep 17 00:00:00 2001
From: can-angun
Date: Tue, 17 Dec 2024 09:28:16 +0000
Subject: [PATCH 051/186] Updated cypress version to 13.6.4
---
ui-tests/package-lock.json | 44 ++++++++++++++++++++------------------
ui-tests/package.json | 2 +-
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/ui-tests/package-lock.json b/ui-tests/package-lock.json
index e6e3fb5340e..db7923a9b97 100644
--- a/ui-tests/package-lock.json
+++ b/ui-tests/package-lock.json
@@ -16,7 +16,7 @@
"moment": "^2.29.4"
},
"devDependencies": {
- "cypress": "^13.15.2"
+ "cypress": "^13.6.4"
}
},
"node_modules/@colors/colors": {
@@ -425,9 +425,9 @@
}
},
"node_modules/ci-info": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
- "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"funding": [
{
"type": "github",
@@ -557,24 +557,23 @@
}
},
"node_modules/cypress": {
- "version": "13.15.2",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz",
- "integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==",
+ "version": "13.6.4",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.4.tgz",
+ "integrity": "sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@cypress/request": "^3.0.6",
+ "@cypress/request": "^3.0.0",
"@cypress/xvfb": "^1.2.4",
"@types/sinonjs__fake-timers": "8.1.1",
"@types/sizzle": "^2.3.2",
"arch": "^2.2.0",
"blob-util": "^2.0.2",
"bluebird": "^3.7.2",
- "buffer": "^5.7.1",
+ "buffer": "^5.6.0",
"cachedir": "^2.3.0",
"chalk": "^4.1.0",
"check-more-types": "^2.24.0",
- "ci-info": "^4.0.0",
"cli-cursor": "^3.1.0",
"cli-table3": "~0.6.1",
"commander": "^6.2.1",
@@ -589,6 +588,7 @@
"figures": "^3.2.0",
"fs-extra": "^9.1.0",
"getos": "^3.2.1",
+ "is-ci": "^3.0.0",
"is-installed-globally": "~0.4.0",
"lazy-ass": "^1.6.0",
"listr2": "^3.8.3",
@@ -602,8 +602,7 @@
"request-progress": "^3.0.0",
"semver": "^7.5.3",
"supports-color": "^8.1.1",
- "tmp": "~0.2.3",
- "tree-kill": "1.2.2",
+ "tmp": "~0.2.1",
"untildify": "^4.0.0",
"yauzl": "^2.10.0"
},
@@ -1097,6 +1096,18 @@
"node": ">=10"
}
},
+ "node_modules/is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
"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",
@@ -1802,15 +1813,6 @@
"node": ">=16"
}
},
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
- "license": "MIT",
- "bin": {
- "tree-kill": "cli.js"
- }
- },
"node_modules/tslib": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
diff --git a/ui-tests/package.json b/ui-tests/package.json
index 2a17913d822..7b6d2f19376 100644
--- a/ui-tests/package.json
+++ b/ui-tests/package.json
@@ -19,6 +19,6 @@
"moment": "^2.29.4"
},
"devDependencies": {
- "cypress": "^13.15.2"
+ "cypress": "^13.6.4"
}
}
From d5bc44c9551b5968e98b73cb753eee694c865d70 Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Tue, 17 Dec 2024 13:53:15 +0200
Subject: [PATCH 052/186] Update logger when collection does not exist
---
plugins/logger/api/api.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/logger/api/api.js b/plugins/logger/api/api.js
index ebfae4117d0..4e36c16430b 100644
--- a/plugins/logger/api/api.js
+++ b/plugins/logger/api/api.js
@@ -360,7 +360,7 @@ plugins.setConfigs("logger", {
}
catch (ex) {
console.log("Failed fetching logs collection info: ", ex);
- common.returnMessage(parameters, 400, 'Error fetching collection info');
+ common.returnOutput(parameters, {capped: MAX_NUMBER_OF_LOG_ENTRIES, count: MAX_NUMBER_OF_LOG_ENTRIES, max: MAX_NUMBER_OF_LOG_ENTRIES, status: "error"});
}
});
return true;
From 04b36f5e1ba2c4d0e295b43a758e4551643b078d Mon Sep 17 00:00:00 2001
From: Arturs Sosins
Date: Wed, 18 Dec 2024 11:17:22 +0200
Subject: [PATCH 053/186] Remove apidoc
---
bin/commands/scripts/apidocs.sh | 2 +
bin/commands/scripts/docs.sh | 2 +-
package-lock.json | 3454 +++++++------------------------
package.json | 2 -
4 files changed, 805 insertions(+), 2655 deletions(-)
diff --git a/bin/commands/scripts/apidocs.sh b/bin/commands/scripts/apidocs.sh
index 60c9fda72b6..21b079a780f 100644
--- a/bin/commands/scripts/apidocs.sh
+++ b/bin/commands/scripts/apidocs.sh
@@ -12,5 +12,7 @@ then
elif [ "$1" = "generate" ]; then
echo 'yes'
echo "$DIR/../../../../plugins/"
+ npm install apidoc;
+ npm install apidoc-template;
"$DIR/../../../node_modules/.bin/apidoc" -c "$DIR/../../../apidoc.json" -f "api/.*\\.js$" -i "$DIR/../../../plugins/" -o "$DIR/../../../frontend/express/public/apidoc/" -t "$DIR/../../../node_modules/apidoc-template/template/";
fi
diff --git a/bin/commands/scripts/docs.sh b/bin/commands/scripts/docs.sh
index 9db21208285..a2fb5f6c1de 100644
--- a/bin/commands/scripts/docs.sh
+++ b/bin/commands/scripts/docs.sh
@@ -20,7 +20,7 @@ elif [ "$1" = "generate" ]; then
npx jsdoc "$DIR/../../../frontend/express/app.js" "$DIR/../../../frontend/express/config.sample.js" "$DIR/../../../frontend/express/version.info.js" "$DIR/../../../frontend/express/locale.conf.js" "$DIR/../../../frontend/express/libs/" -R "$DIR/../../../README.md" -c "$DIR/../../../jsdoc_conf.json" -d "$DIR/../../../frontend/express/public/docs/app" ;
#apidoc
- npx apidoc -i "$DIR/../../../" -o "$DIR/../../../frontend/express/public/docs/apidoc" -f ".*\\.js$" -e "node_modules" ;
+ npm install apidoc; npm install apidoc-template; npx apidoc -i "$DIR/../../../" -o "$DIR/../../../frontend/express/public/docs/apidoc" -f ".*\\.js$" -e "node_modules" ;
#add redirect for main folder
echo "" > "$DIR/../../../frontend/express/public/docs/index.html"
diff --git a/package-lock.json b/package-lock.json
index 21cca2e5e53..494ddd543b1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,8 +67,6 @@
"xlsx-write-stream": "^1.0.0"
},
"devDependencies": {
- "apidoc": "^1.0.1",
- "apidoc-template": "^0.0.2",
"docdash": "^2.0.1",
"grunt-contrib-watch": "1.1.0",
"grunt-eslint": "24.3.0",
@@ -246,51 +244,51 @@
}
},
"node_modules/@aws-sdk/client-cognito-identity": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.699.0.tgz",
- "integrity": "sha512-9tFt+we6AIvj/f1+nrLHuCWcQmyfux5gcBSOy9d9+zIG56YxGEX7S9TaZnybogpVV8A0BYWml36WvIHS9QjIpA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.714.0.tgz",
+ "integrity": "sha512-gNaOcOD8DvFL234wvsXm/F6w3Gr8OHQWIKyRhyulXtohvluEnUCD0yb7+O07zngO+EUpA/KC0s1JeLw9VNTSkA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/client-sso-oidc": "3.699.0",
- "@aws-sdk/client-sts": "3.699.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/credential-provider-node": "3.699.0",
- "@aws-sdk/middleware-host-header": "3.696.0",
- "@aws-sdk/middleware-logger": "3.696.0",
- "@aws-sdk/middleware-recursion-detection": "3.696.0",
- "@aws-sdk/middleware-user-agent": "3.696.0",
- "@aws-sdk/region-config-resolver": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@aws-sdk/util-endpoints": "3.696.0",
- "@aws-sdk/util-user-agent-browser": "3.696.0",
- "@aws-sdk/util-user-agent-node": "3.696.0",
- "@smithy/config-resolver": "^3.0.12",
- "@smithy/core": "^2.5.3",
- "@smithy/fetch-http-handler": "^4.1.1",
- "@smithy/hash-node": "^3.0.10",
- "@smithy/invalid-dependency": "^3.0.10",
- "@smithy/middleware-content-length": "^3.0.12",
- "@smithy/middleware-endpoint": "^3.2.3",
- "@smithy/middleware-retry": "^3.0.27",
- "@smithy/middleware-serde": "^3.0.10",
- "@smithy/middleware-stack": "^3.0.10",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/node-http-handler": "^3.3.1",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/url-parser": "^3.0.10",
+ "@aws-sdk/client-sso-oidc": "3.714.0",
+ "@aws-sdk/client-sts": "3.714.0",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/credential-provider-node": "3.714.0",
+ "@aws-sdk/middleware-host-header": "3.714.0",
+ "@aws-sdk/middleware-logger": "3.714.0",
+ "@aws-sdk/middleware-recursion-detection": "3.714.0",
+ "@aws-sdk/middleware-user-agent": "3.714.0",
+ "@aws-sdk/region-config-resolver": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@aws-sdk/util-endpoints": "3.714.0",
+ "@aws-sdk/util-user-agent-browser": "3.714.0",
+ "@aws-sdk/util-user-agent-node": "3.714.0",
+ "@smithy/config-resolver": "^3.0.13",
+ "@smithy/core": "^2.5.5",
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/hash-node": "^3.0.11",
+ "@smithy/invalid-dependency": "^3.0.11",
+ "@smithy/middleware-content-length": "^3.0.13",
+ "@smithy/middleware-endpoint": "^3.2.5",
+ "@smithy/middleware-retry": "^3.0.30",
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/middleware-stack": "^3.0.11",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.27",
- "@smithy/util-defaults-mode-node": "^3.0.27",
- "@smithy/util-endpoints": "^2.1.6",
- "@smithy/util-middleware": "^3.0.10",
- "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-defaults-mode-browser": "^3.0.30",
+ "@smithy/util-defaults-mode-node": "^3.0.30",
+ "@smithy/util-endpoints": "^2.1.7",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-retry": "^3.0.11",
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
@@ -299,48 +297,48 @@
}
},
"node_modules/@aws-sdk/client-sso": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.696.0.tgz",
- "integrity": "sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.714.0.tgz",
+ "integrity": "sha512-pFtjY5Ga91qrryo0UfbjetdT2p9rOgtHofogAeEuGjxx7/rupBpdlW0WDOtD/7jhmbhM8WZEr6aH7GLzzkKfCA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/middleware-host-header": "3.696.0",
- "@aws-sdk/middleware-logger": "3.696.0",
- "@aws-sdk/middleware-recursion-detection": "3.696.0",
- "@aws-sdk/middleware-user-agent": "3.696.0",
- "@aws-sdk/region-config-resolver": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@aws-sdk/util-endpoints": "3.696.0",
- "@aws-sdk/util-user-agent-browser": "3.696.0",
- "@aws-sdk/util-user-agent-node": "3.696.0",
- "@smithy/config-resolver": "^3.0.12",
- "@smithy/core": "^2.5.3",
- "@smithy/fetch-http-handler": "^4.1.1",
- "@smithy/hash-node": "^3.0.10",
- "@smithy/invalid-dependency": "^3.0.10",
- "@smithy/middleware-content-length": "^3.0.12",
- "@smithy/middleware-endpoint": "^3.2.3",
- "@smithy/middleware-retry": "^3.0.27",
- "@smithy/middleware-serde": "^3.0.10",
- "@smithy/middleware-stack": "^3.0.10",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/node-http-handler": "^3.3.1",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/url-parser": "^3.0.10",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/middleware-host-header": "3.714.0",
+ "@aws-sdk/middleware-logger": "3.714.0",
+ "@aws-sdk/middleware-recursion-detection": "3.714.0",
+ "@aws-sdk/middleware-user-agent": "3.714.0",
+ "@aws-sdk/region-config-resolver": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@aws-sdk/util-endpoints": "3.714.0",
+ "@aws-sdk/util-user-agent-browser": "3.714.0",
+ "@aws-sdk/util-user-agent-node": "3.714.0",
+ "@smithy/config-resolver": "^3.0.13",
+ "@smithy/core": "^2.5.5",
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/hash-node": "^3.0.11",
+ "@smithy/invalid-dependency": "^3.0.11",
+ "@smithy/middleware-content-length": "^3.0.13",
+ "@smithy/middleware-endpoint": "^3.2.5",
+ "@smithy/middleware-retry": "^3.0.30",
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/middleware-stack": "^3.0.11",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.27",
- "@smithy/util-defaults-mode-node": "^3.0.27",
- "@smithy/util-endpoints": "^2.1.6",
- "@smithy/util-middleware": "^3.0.10",
- "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-defaults-mode-browser": "^3.0.30",
+ "@smithy/util-defaults-mode-node": "^3.0.30",
+ "@smithy/util-endpoints": "^2.1.7",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-retry": "^3.0.11",
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
@@ -349,49 +347,49 @@
}
},
"node_modules/@aws-sdk/client-sso-oidc": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.699.0.tgz",
- "integrity": "sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.714.0.tgz",
+ "integrity": "sha512-dMvpPUaL3v01psPY1ZyCzQ/w2tOgQTH1if0zBF5r2q7Vc0oOPzbBZgNAhG1bDWlRCBW0iXmoqRFoWUwQ5rtx+A==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/credential-provider-node": "3.699.0",
- "@aws-sdk/middleware-host-header": "3.696.0",
- "@aws-sdk/middleware-logger": "3.696.0",
- "@aws-sdk/middleware-recursion-detection": "3.696.0",
- "@aws-sdk/middleware-user-agent": "3.696.0",
- "@aws-sdk/region-config-resolver": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@aws-sdk/util-endpoints": "3.696.0",
- "@aws-sdk/util-user-agent-browser": "3.696.0",
- "@aws-sdk/util-user-agent-node": "3.696.0",
- "@smithy/config-resolver": "^3.0.12",
- "@smithy/core": "^2.5.3",
- "@smithy/fetch-http-handler": "^4.1.1",
- "@smithy/hash-node": "^3.0.10",
- "@smithy/invalid-dependency": "^3.0.10",
- "@smithy/middleware-content-length": "^3.0.12",
- "@smithy/middleware-endpoint": "^3.2.3",
- "@smithy/middleware-retry": "^3.0.27",
- "@smithy/middleware-serde": "^3.0.10",
- "@smithy/middleware-stack": "^3.0.10",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/node-http-handler": "^3.3.1",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/url-parser": "^3.0.10",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/credential-provider-node": "3.714.0",
+ "@aws-sdk/middleware-host-header": "3.714.0",
+ "@aws-sdk/middleware-logger": "3.714.0",
+ "@aws-sdk/middleware-recursion-detection": "3.714.0",
+ "@aws-sdk/middleware-user-agent": "3.714.0",
+ "@aws-sdk/region-config-resolver": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@aws-sdk/util-endpoints": "3.714.0",
+ "@aws-sdk/util-user-agent-browser": "3.714.0",
+ "@aws-sdk/util-user-agent-node": "3.714.0",
+ "@smithy/config-resolver": "^3.0.13",
+ "@smithy/core": "^2.5.5",
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/hash-node": "^3.0.11",
+ "@smithy/invalid-dependency": "^3.0.11",
+ "@smithy/middleware-content-length": "^3.0.13",
+ "@smithy/middleware-endpoint": "^3.2.5",
+ "@smithy/middleware-retry": "^3.0.30",
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/middleware-stack": "^3.0.11",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.27",
- "@smithy/util-defaults-mode-node": "^3.0.27",
- "@smithy/util-endpoints": "^2.1.6",
- "@smithy/util-middleware": "^3.0.10",
- "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-defaults-mode-browser": "^3.0.30",
+ "@smithy/util-defaults-mode-node": "^3.0.30",
+ "@smithy/util-endpoints": "^2.1.7",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-retry": "^3.0.11",
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
@@ -399,54 +397,54 @@
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.699.0"
+ "@aws-sdk/client-sts": "^3.714.0"
}
},
"node_modules/@aws-sdk/client-sts": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.699.0.tgz",
- "integrity": "sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.714.0.tgz",
+ "integrity": "sha512-ThcXgolapPsOzeavJF4Am312umFyoFBBeiTYD8PQGIiYkbJi4hXcjoWacmtkq6moMmMZSP9iK/ellls7vwY2JQ==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
- "@aws-sdk/client-sso-oidc": "3.699.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/credential-provider-node": "3.699.0",
- "@aws-sdk/middleware-host-header": "3.696.0",
- "@aws-sdk/middleware-logger": "3.696.0",
- "@aws-sdk/middleware-recursion-detection": "3.696.0",
- "@aws-sdk/middleware-user-agent": "3.696.0",
- "@aws-sdk/region-config-resolver": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@aws-sdk/util-endpoints": "3.696.0",
- "@aws-sdk/util-user-agent-browser": "3.696.0",
- "@aws-sdk/util-user-agent-node": "3.696.0",
- "@smithy/config-resolver": "^3.0.12",
- "@smithy/core": "^2.5.3",
- "@smithy/fetch-http-handler": "^4.1.1",
- "@smithy/hash-node": "^3.0.10",
- "@smithy/invalid-dependency": "^3.0.10",
- "@smithy/middleware-content-length": "^3.0.12",
- "@smithy/middleware-endpoint": "^3.2.3",
- "@smithy/middleware-retry": "^3.0.27",
- "@smithy/middleware-serde": "^3.0.10",
- "@smithy/middleware-stack": "^3.0.10",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/node-http-handler": "^3.3.1",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/url-parser": "^3.0.10",
+ "@aws-sdk/client-sso-oidc": "3.714.0",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/credential-provider-node": "3.714.0",
+ "@aws-sdk/middleware-host-header": "3.714.0",
+ "@aws-sdk/middleware-logger": "3.714.0",
+ "@aws-sdk/middleware-recursion-detection": "3.714.0",
+ "@aws-sdk/middleware-user-agent": "3.714.0",
+ "@aws-sdk/region-config-resolver": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@aws-sdk/util-endpoints": "3.714.0",
+ "@aws-sdk/util-user-agent-browser": "3.714.0",
+ "@aws-sdk/util-user-agent-node": "3.714.0",
+ "@smithy/config-resolver": "^3.0.13",
+ "@smithy/core": "^2.5.5",
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/hash-node": "^3.0.11",
+ "@smithy/invalid-dependency": "^3.0.11",
+ "@smithy/middleware-content-length": "^3.0.13",
+ "@smithy/middleware-endpoint": "^3.2.5",
+ "@smithy/middleware-retry": "^3.0.30",
+ "@smithy/middleware-serde": "^3.0.11",
+ "@smithy/middleware-stack": "^3.0.11",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/url-parser": "^3.0.11",
"@smithy/util-base64": "^3.0.0",
"@smithy/util-body-length-browser": "^3.0.0",
"@smithy/util-body-length-node": "^3.0.0",
- "@smithy/util-defaults-mode-browser": "^3.0.27",
- "@smithy/util-defaults-mode-node": "^3.0.27",
- "@smithy/util-endpoints": "^2.1.6",
- "@smithy/util-middleware": "^3.0.10",
- "@smithy/util-retry": "^3.0.10",
+ "@smithy/util-defaults-mode-browser": "^3.0.30",
+ "@smithy/util-defaults-mode-node": "^3.0.30",
+ "@smithy/util-endpoints": "^2.1.7",
+ "@smithy/util-middleware": "^3.0.11",
+ "@smithy/util-retry": "^3.0.11",
"@smithy/util-utf8": "^3.0.0",
"tslib": "^2.6.2"
},
@@ -455,21 +453,21 @@
}
},
"node_modules/@aws-sdk/core": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.696.0.tgz",
- "integrity": "sha512-3c9III1k03DgvRZWg8vhVmfIXPG6hAciN9MzQTzqGngzWAELZF/WONRTRQuDFixVtarQatmLHYVw/atGeA2Byw==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.714.0.tgz",
+ "integrity": "sha512-TlZ50d8MEPVp9O03SvisOmcmxjxhMDKHJJcrBgYjgDej6QmNfiFwtCRkReXDdkEeXP29ehMs7uPXtmVvPqziYw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/core": "^2.5.3",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/signature-v4": "^4.2.2",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/util-middleware": "^3.0.10",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/core": "^2.5.5",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/signature-v4": "^4.2.4",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-middleware": "^3.0.11",
"fast-xml-parser": "4.4.1",
"tslib": "^2.6.2"
},
@@ -478,16 +476,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-cognito-identity": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.699.0.tgz",
- "integrity": "sha512-iuaTnudaBfEET+o444sDwf71Awe6UiZfH+ipUPmswAi2jZDwdFF1nxMKDEKL8/LV5WpXsdKSfwgS0RQeupURew==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.714.0.tgz",
+ "integrity": "sha512-JnnbCF7nK4ycwgLQEBTcu/tyfhIPQPHk1A74jwNxjixkan+0klCQYYwWJLkb2jxmmLvLrDlYfWDlzb98f//UzA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/client-cognito-identity": "3.699.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/client-cognito-identity": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -495,16 +493,16 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.696.0.tgz",
- "integrity": "sha512-T9iMFnJL7YTlESLpVFT3fg1Lkb1lD+oiaIC8KMpepb01gDUBIpj9+Y+pA/cgRWW0yRxmkDXNazAE2qQTVFGJzA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.714.0.tgz",
+ "integrity": "sha512-0S4nKE1a+EHXAInXUeuWkyzVnXzmwIbwLStVidAIoyl6sJF8xGdw+r3AaoTr7p0YXzdoDUsn3wBTCA6ZwgXVbA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -512,21 +510,21 @@
}
},
"node_modules/@aws-sdk/credential-provider-http": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.696.0.tgz",
- "integrity": "sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.714.0.tgz",
+ "integrity": "sha512-1AXEfUSQUQg+x/DpH1XJhjf2yEgTHHatM3cvYu7FZMhRXF28Q5OJDbEFPfdqrK+vmCiYRWhszDb+zuUIvz46bw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/fetch-http-handler": "^4.1.1",
- "@smithy/node-http-handler": "^3.3.1",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/smithy-client": "^3.4.4",
- "@smithy/types": "^3.7.1",
- "@smithy/util-stream": "^3.3.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/fetch-http-handler": "^4.1.2",
+ "@smithy/node-http-handler": "^3.3.2",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/smithy-client": "^3.5.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-stream": "^3.3.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -534,50 +532,50 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.699.0.tgz",
- "integrity": "sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.714.0.tgz",
+ "integrity": "sha512-w5wOcgBngfcvVev5wnYWXoc/W2ewVmGJkfRdGquhFt8pkUxktyd8eXehqkP7u31SONVlgy96EFTdSCzWpTrqOw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/credential-provider-env": "3.696.0",
- "@aws-sdk/credential-provider-http": "3.696.0",
- "@aws-sdk/credential-provider-process": "3.696.0",
- "@aws-sdk/credential-provider-sso": "3.699.0",
- "@aws-sdk/credential-provider-web-identity": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/credential-provider-imds": "^3.2.6",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/shared-ini-file-loader": "^3.1.10",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/credential-provider-env": "3.714.0",
+ "@aws-sdk/credential-provider-http": "3.714.0",
+ "@aws-sdk/credential-provider-process": "3.714.0",
+ "@aws-sdk/credential-provider-sso": "3.714.0",
+ "@aws-sdk/credential-provider-web-identity": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/credential-provider-imds": "^3.2.8",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.699.0"
+ "@aws-sdk/client-sts": "^3.714.0"
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.699.0.tgz",
- "integrity": "sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.714.0.tgz",
+ "integrity": "sha512-ebho1HYNKzaw0ZfbI9kEicSW8J7tsOoV6EJajsjfFnuP+GY9J5Oi4759GEq1Qqj7GxIhrySOZFzif/hxAXPWtQ==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.696.0",
- "@aws-sdk/credential-provider-http": "3.696.0",
- "@aws-sdk/credential-provider-ini": "3.699.0",
- "@aws-sdk/credential-provider-process": "3.696.0",
- "@aws-sdk/credential-provider-sso": "3.699.0",
- "@aws-sdk/credential-provider-web-identity": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/credential-provider-imds": "^3.2.6",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/shared-ini-file-loader": "^3.1.10",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/credential-provider-env": "3.714.0",
+ "@aws-sdk/credential-provider-http": "3.714.0",
+ "@aws-sdk/credential-provider-ini": "3.714.0",
+ "@aws-sdk/credential-provider-process": "3.714.0",
+ "@aws-sdk/credential-provider-sso": "3.714.0",
+ "@aws-sdk/credential-provider-web-identity": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/credential-provider-imds": "^3.2.8",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -585,17 +583,17 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.696.0.tgz",
- "integrity": "sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.714.0.tgz",
+ "integrity": "sha512-mHM+zYJDUiXggBx4YvQgMOhbkV07KUib8/jWPnAZbUJcRncN/yevAp/WNocjUN4VaBWkooJUgoTET/okRK+TCQ==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/shared-ini-file-loader": "^3.1.10",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -603,19 +601,19 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.699.0.tgz",
- "integrity": "sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.714.0.tgz",
+ "integrity": "sha512-LQyHUQd+/A0PO96m6/A3KeekRplRpG9AmwLn8VPknlmACAhhbWHehzerCTd42V8dClf5pigr25/aVqh/2p/sRw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/client-sso": "3.696.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/token-providers": "3.699.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/shared-ini-file-loader": "^3.1.10",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/client-sso": "3.714.0",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/token-providers": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -623,48 +621,48 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.696.0.tgz",
- "integrity": "sha512-XJ/CVlWChM0VCoc259vWguFUjJDn/QwDqHwbx+K9cg3v6yrqXfK5ai+p/6lx0nQpnk4JzPVeYYxWRpaTsGC9rg==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.714.0.tgz",
+ "integrity": "sha512-piKfEJvLrGZ0bH4NPO19d1dtfCZi2p6YJUK/9vRCD1rvJidOuHNeUwIcxTnkIMovQHX12rZVvU9ub0C3CwegUQ==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sts": "^3.696.0"
+ "@aws-sdk/client-sts": "^3.714.0"
}
},
"node_modules/@aws-sdk/credential-providers": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.699.0.tgz",
- "integrity": "sha512-jBjOntl9zN9Nvb0jmbMGRbiTzemDz64ij7W6BDavxBJRZpRoNeN0QCz6RolkCyXnyUJjo5mF2unY2wnv00A+LQ==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.714.0.tgz",
+ "integrity": "sha512-rsSee9MHG0iSPZ9neYa+kf79Jhg/GyM8XS4lzivmEx1VQZVYgq/WcYoNkN9l9pfyg/GHqRonU5OhXZNZTmc4CA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/client-cognito-identity": "3.699.0",
- "@aws-sdk/client-sso": "3.696.0",
- "@aws-sdk/client-sts": "3.699.0",
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/credential-provider-cognito-identity": "3.699.0",
- "@aws-sdk/credential-provider-env": "3.696.0",
- "@aws-sdk/credential-provider-http": "3.696.0",
- "@aws-sdk/credential-provider-ini": "3.699.0",
- "@aws-sdk/credential-provider-node": "3.699.0",
- "@aws-sdk/credential-provider-process": "3.696.0",
- "@aws-sdk/credential-provider-sso": "3.699.0",
- "@aws-sdk/credential-provider-web-identity": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/credential-provider-imds": "^3.2.6",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/client-cognito-identity": "3.714.0",
+ "@aws-sdk/client-sso": "3.714.0",
+ "@aws-sdk/client-sts": "3.714.0",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/credential-provider-cognito-identity": "3.714.0",
+ "@aws-sdk/credential-provider-env": "3.714.0",
+ "@aws-sdk/credential-provider-http": "3.714.0",
+ "@aws-sdk/credential-provider-ini": "3.714.0",
+ "@aws-sdk/credential-provider-node": "3.714.0",
+ "@aws-sdk/credential-provider-process": "3.714.0",
+ "@aws-sdk/credential-provider-sso": "3.714.0",
+ "@aws-sdk/credential-provider-web-identity": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/credential-provider-imds": "^3.2.8",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -672,15 +670,15 @@
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.696.0.tgz",
- "integrity": "sha512-zELJp9Ta2zkX7ELggMN9qMCgekqZhFC5V2rOr4hJDEb/Tte7gpfKSObAnw/3AYiVqt36sjHKfdkoTsuwGdEoDg==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.714.0.tgz",
+ "integrity": "sha512-6l68kjNrh5QC8FGX3I3geBDavWN5Tg1RLHJ2HLA8ByGBtJyCwnz3hEkKfaxn0bBx0hF9DzbfjEOUF6cDqy2Kjg==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -688,14 +686,14 @@
}
},
"node_modules/@aws-sdk/middleware-logger": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.696.0.tgz",
- "integrity": "sha512-KhkHt+8AjCxcR/5Zp3++YPJPpFQzxpr+jmONiT/Jw2yqnSngZ0Yspm5wGoRx2hS1HJbyZNuaOWEGuJoxLeBKfA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.714.0.tgz",
+ "integrity": "sha512-RkqHlMvQWUaRklU1bMfUuBvdWwxgUtEqpADaHXlGVj3vtEY2UgBjy+57CveC4MByqKIunNvVHBBbjrGVtwY7Lg==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -703,15 +701,15 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.696.0.tgz",
- "integrity": "sha512-si/maV3Z0hH7qa99f9ru2xpS5HlfSVcasRlNUXKSDm611i7jFMWwGNLUOXFAOLhXotPX5G3Z6BLwL34oDeBMug==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.714.0.tgz",
+ "integrity": "sha512-AVU5ixnh93nqtsfgNc284oXsXaadyHGPHpql/jwgaaqQfEXjS/1/j3j9E/vpacfTTz2Vzo7hAOjnvrOXSEVDaA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -719,18 +717,18 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.696.0.tgz",
- "integrity": "sha512-Lvyj8CTyxrHI6GHd2YVZKIRI5Fmnugt3cpJo0VrKKEgK5zMySwEZ1n4dqPK6czYRWKd5+WnYHYAuU+Wdk6Jsjw==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.714.0.tgz",
+ "integrity": "sha512-OgLjJf7WxUqA2OgiqGCfIc68gsbXlIG8LjObBiF0qlMStAd0L23AGuK5VmYinJlsle9qUpwQvWgKFKaDgdQXgA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/core": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@aws-sdk/util-endpoints": "3.696.0",
- "@smithy/core": "^2.5.3",
- "@smithy/protocol-http": "^4.1.7",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/core": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@aws-sdk/util-endpoints": "3.714.0",
+ "@smithy/core": "^2.5.5",
+ "@smithy/protocol-http": "^4.1.8",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -738,17 +736,17 @@
}
},
"node_modules/@aws-sdk/region-config-resolver": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.696.0.tgz",
- "integrity": "sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.714.0.tgz",
+ "integrity": "sha512-HJzsQxgMOAzZrbf/YIqEx30or4tZK1oNAk6Wm6xecUQx+23JXIaePRu1YFUOLBBERQ4QBPpISFurZWBMZ5ibAw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"@smithy/util-config-provider": "^3.0.0",
- "@smithy/util-middleware": "^3.0.10",
+ "@smithy/util-middleware": "^3.0.11",
"tslib": "^2.6.2"
},
"engines": {
@@ -756,33 +754,33 @@
}
},
"node_modules/@aws-sdk/token-providers": {
- "version": "3.699.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.699.0.tgz",
- "integrity": "sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.714.0.tgz",
+ "integrity": "sha512-vKN064aLE3kl+Zl16Ony3jltHnMddMBT7JRkP1L+lLywhA0PcAKxpdvComul/sTBWnbnwLnaS5NsDUhcWySH8A==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/property-provider": "^3.1.9",
- "@smithy/shared-ini-file-loader": "^3.1.10",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/property-provider": "^3.1.11",
+ "@smithy/shared-ini-file-loader": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
- "@aws-sdk/client-sso-oidc": "^3.699.0"
+ "@aws-sdk/client-sso-oidc": "^3.714.0"
}
},
"node_modules/@aws-sdk/types": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.696.0.tgz",
- "integrity": "sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.714.0.tgz",
+ "integrity": "sha512-ZjpP2gYbSFlxxaUDa1Il5AVvfggvUPbjzzB/l3q0gIE5Thd6xKW+yzEpt2mLZ5s5UaYSABZbF94g8NUOF4CVGA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@smithy/types": "^3.7.1",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -790,15 +788,15 @@
}
},
"node_modules/@aws-sdk/util-endpoints": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.696.0.tgz",
- "integrity": "sha512-T5s0IlBVX+gkb9g/I6CLt4yAZVzMSiGnbUqWihWsHvQR1WOoIcndQy/Oz/IJXT9T2ipoy7a80gzV6a5mglrioA==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.714.0.tgz",
+ "integrity": "sha512-Xv+Z2lhe7w7ZZRsgBwBMZgGTVmS+dkkj2S13uNHAx9lhB5ovM8PhK5G/j28xYf6vIibeuHkRAbb7/ozdZIGR+A==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/types": "^3.7.1",
- "@smithy/util-endpoints": "^2.1.6",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/types": "^3.7.2",
+ "@smithy/util-endpoints": "^2.1.7",
"tslib": "^2.6.2"
},
"engines": {
@@ -819,29 +817,29 @@
}
},
"node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.696.0.tgz",
- "integrity": "sha512-Z5rVNDdmPOe6ELoM5AhF/ja5tSjbe6ctSctDPb0JdDf4dT0v2MfwhJKzXju2RzX8Es/77Glh7MlaXLE0kCB9+Q==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.714.0.tgz",
+ "integrity": "sha512-OdJJ03cP9/MgIVToPJPCPUImbpZzTcwdIgbXC0tUQPJhbD7b7cB4LdnkhNHko+MptpOrCq4CPY/33EpOjRdofw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.696.0",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/types": "^3.7.2",
"bowser": "^2.11.0",
"tslib": "^2.6.2"
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.696.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.696.0.tgz",
- "integrity": "sha512-KhKqcfyXIB0SCCt+qsu4eJjsfiOrNzK5dCV7RAW2YIpp+msxGUUX0NdRE9rkzjiv+3EMktgJm3eEIS+yxtlVdQ==",
+ "version": "3.714.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.714.0.tgz",
+ "integrity": "sha512-x8JoZb7yBEbNUmHUNoRAP4L++6A5uZCVf2yFLw8CZKpH4q+Cf1a68ou48OfnND3H0rbBnLXc/3uOlseRvd57/g==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "@aws-sdk/middleware-user-agent": "3.696.0",
- "@aws-sdk/types": "3.696.0",
- "@smithy/node-config-provider": "^3.1.11",
- "@smithy/types": "^3.7.1",
+ "@aws-sdk/middleware-user-agent": "3.714.0",
+ "@aws-sdk/types": "3.714.0",
+ "@smithy/node-config-provider": "^3.1.12",
+ "@smithy/types": "^3.7.2",
"tslib": "^2.6.2"
},
"engines": {
@@ -1122,476 +1120,70 @@
},
"node_modules/@babel/traverse": {
"version": "7.26.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
- "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.26.3",
- "@babel/parser": "^7.26.3",
- "@babel/template": "^7.25.9",
- "@babel/types": "^7.26.3",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/traverse/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/types": {
- "version": "7.26.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
- "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@colors/colors": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz",
- "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/@dabh/diagnostics": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
- "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
- }
- },
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
- "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
- "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
- "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
- "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
- "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
- "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
- "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
- "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
- "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
- "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
- "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
- "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
- "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
- "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
- "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
- "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
- "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
- "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
- "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
- "cpu": [
- "x64"
- ],
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
+ "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
+ "dependencies": {
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.3",
+ "@babel/parser": "^7.26.3",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.3",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
- "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@babel/traverse/node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
- "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
- "cpu": [
- "ia32"
- ],
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
"engines": {
- "node": ">=12"
+ "node": ">=4"
}
},
- "node_modules/@esbuild/win32-x64": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
- "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@babel/traverse/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/types": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
+ "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=6.9.0"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -1685,6 +1277,19 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/@eslint/eslintrc/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -2278,9 +1883,9 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2312,17 +1917,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
- }
- },
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
@@ -2342,9 +1936,9 @@
}
},
"node_modules/@jsdoc/salty": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
- "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.9.tgz",
+ "integrity": "sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -2413,6 +2007,19 @@
"semver": "^7.3.5"
}
},
+ "node_modules/@npmcli/fs/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@npmcli/move-file": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
@@ -2771,9 +2378,9 @@
}
},
"node_modules/@puppeteer/browsers": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.0.tgz",
- "integrity": "sha512-jESwj3APl78YUWHf28s2EjL0OIxcvl1uLU6Ge68KQ9ZXNsekUcbdr9dCi6vEO8naXS18lWXCV56shVkPStzXSQ==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.6.1.tgz",
+ "integrity": "sha512-aBSREisdsGH890S2rQqK82qmQYU3uFpSH8wcZWHgHzl3LfzsxAKbLNiAG9mO8v1Y0UICBeClICxPJvyr0rcuxg==",
"license": "Apache-2.0",
"dependencies": {
"debug": "^4.4.0",
@@ -2829,6 +2436,18 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
+ "node_modules/@puppeteer/browsers/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@puppeteer/browsers/node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
@@ -3506,48 +3125,12 @@
"@types/responselike": "^1.0.0"
}
},
- "node_modules/@types/eslint": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
- "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/http-cache-semantics": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
"integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
"license": "MIT"
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/keyv": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
@@ -3566,290 +3149,69 @@
},
"node_modules/@types/markdown-it": {
"version": "14.1.2",
- "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
- "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/linkify-it": "^5",
- "@types/mdurl": "^2"
- }
- },
- "node_modules/@types/mdurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
- "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "16.9.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz",
- "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==",
- "license": "MIT"
- },
- "node_modules/@types/responselike": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
- "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/triple-beam": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
- "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/webidl-conversions": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
- "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
- "license": "MIT"
- },
- "node_modules/@types/whatwg-url": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
- "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/webidl-conversions": "*"
- }
- },
- "node_modules/@types/yauzl": {
- "version": "2.10.3",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
- "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
- "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@webassemblyjs/ast": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
- "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
- "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
- "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
- "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
- "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.13.2",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
- "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
- "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/wasm-gen": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
- "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
- "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
- "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
- "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/helper-wasm-section": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-opt": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1",
- "@webassemblyjs/wast-printer": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
- "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
- "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
- "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
}
},
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
- "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "16.9.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz",
+ "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==",
+ "license": "MIT"
+ },
+ "node_modules/@types/responselike": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+ "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@xtuc/long": "4.2.2"
+ "@types/node": "*"
}
},
- "node_modules/@webpack-cli/configtest": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
- "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x",
- "webpack-cli": "4.x.x"
- }
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+ "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+ "license": "MIT"
},
- "node_modules/@webpack-cli/info": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
- "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
- "dev": true,
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
"license": "MIT",
"dependencies": {
- "envinfo": "^7.7.3"
- },
- "peerDependencies": {
- "webpack-cli": "4.x.x"
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
}
},
- "node_modules/@webpack-cli/serve": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
- "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
- "dev": true,
+ "node_modules/@types/yauzl": {
+ "version": "2.10.3",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
"license": "MIT",
- "peerDependencies": {
- "webpack-cli": "4.x.x"
- },
- "peerDependenciesMeta": {
- "webpack-dev-server": {
- "optional": true
- }
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
}
},
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
+ "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "ISC"
},
"node_modules/abbrev": {
"version": "1.1.1",
@@ -3946,16 +3308,6 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
"node_modules/all-the-cities": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/all-the-cities/-/all-the-cities-3.1.0.tgz",
@@ -4019,58 +3371,6 @@
"node": ">= 8"
}
},
- "node_modules/apidoc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/apidoc/-/apidoc-1.2.0.tgz",
- "integrity": "sha512-Qagoj7QnqNHbDUDNpU21eLP4hJSAXn6knHtEjRYWTlSEmpYDGSQijejyFXaWGByhfryW8B1gL+6B57UB/F1lxw==",
- "dev": true,
- "license": "MIT",
- "os": [
- "darwin",
- "freebsd",
- "linux",
- "openbsd",
- "win32"
- ],
- "dependencies": {
- "bootstrap": "3.4.1",
- "commander": "^10.0.0",
- "diff-match-patch": "^1.0.5",
- "esbuild-loader": "^2.16.0",
- "expose-loader": "^4.0.0",
- "fs-extra": "^11.0.0",
- "glob": "^7.2.0",
- "handlebars": "^4.7.7",
- "iconv-lite": "^0.6.3",
- "jquery": "^3.6.0",
- "klaw-sync": "^6.0.0",
- "lodash": "^4.17.21",
- "markdown-it": "^12.2.0",
- "nodemon": "^3.0.1",
- "prismjs": "^1.25.0",
- "semver": "^7.5.0",
- "style-loader": "^3.3.1",
- "webpack": "^5.64.2",
- "webpack-cli": "^4.9.1",
- "winston": "^3.3.3"
- },
- "bin": {
- "apidoc": "bin/apidoc"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/apidoc-template": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/apidoc-template/-/apidoc-template-0.0.2.tgz",
- "integrity": "sha512-Qvl5Frul9n/Odx6ET4rJNYEjuiLR9hVtxJF9iSv/ETFNq31Om6jgEahZsu9CYyRRfJ2Yf6rqn/EN+hxELZunAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-browse": "^0.2.0"
- }
- },
"node_modules/append-transform": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
@@ -4334,13 +3634,13 @@
}
},
"node_modules/bare-stream": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.4.2.tgz",
- "integrity": "sha512-XZ4ln/KV4KT+PXdIWTKjsLY+quqCaEtqqtgGJVPw9AoM73By03ij64YjepK0aQvHSWDb6AfAZwqKaFu68qkrdA==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.1.tgz",
+ "integrity": "sha512-eVZbtKM+4uehzrsj49KtCy3Pbg7kO1pJ3SKZ1SFrIH/0pnj9scuGGgUlNDf/7qS8WKtGdiJY5Kyhs/ivYPTB/g==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "streamx": "^2.20.0"
+ "streamx": "^2.21.0"
}
},
"node_modules/base64-js": {
@@ -4384,16 +3684,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
@@ -4475,18 +3765,6 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
- "node_modules/body-parser/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/body/node_modules/bytes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
@@ -4514,16 +3792,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/bootstrap": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz",
- "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/bowser": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
@@ -4561,9 +3829,9 @@
"license": "ISC"
},
"node_modules/browserslist": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
- "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz",
+ "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==",
"dev": true,
"funding": [
{
@@ -4581,9 +3849,9 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001669",
- "electron-to-chromium": "^1.5.41",
- "node-releases": "^2.0.18",
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.1"
},
"bin": {
@@ -4644,13 +3912,6 @@
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
"license": "BSD-3-Clause"
},
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/bunyan": {
"version": "1.8.15",
"resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz",
@@ -4810,35 +4071,33 @@
"node": ">=8"
}
},
- "node_modules/call-bind": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
- "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
+ "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
- "es-define-property": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.2"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
- "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "node_modules/call-bound": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
+ "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
+ "call-bind-apply-helpers": "^1.0.1",
+ "get-intrinsic": "^1.2.6"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/callsites": {
@@ -4861,9 +4120,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001687",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz",
- "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==",
+ "version": "1.0.30001689",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz",
+ "integrity": "sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==",
"dev": true,
"funding": [
{
@@ -4957,16 +4216,6 @@
"node": ">=10"
}
},
- "node_modules/chrome-trace-event": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
- "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0"
- }
- },
"node_modules/chromium-bidi": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.8.0.tgz",
@@ -5033,21 +4282,6 @@
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/clone-response": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
@@ -5069,17 +4303,6 @@
"node": ">=4"
}
},
- "node_modules/color": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
- "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.3",
- "color-string": "^1.6.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -5098,17 +4321,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"license": "MIT"
},
- "node_modules/color-string": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
"node_modules/color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
@@ -5119,30 +4331,6 @@
"color-support": "bin.js"
}
},
- "node_modules/color/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,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
@@ -5152,17 +4340,6 @@
"node": ">=0.1.90"
}
},
- "node_modules/colorspace": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
- "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color": "^3.1.3",
- "text-hex": "1.0.x"
- }
- },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -5176,13 +4353,12 @@
}
},
"node_modules/commander": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
- "dev": true,
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
"license": "MIT",
"engines": {
- "node": ">=14"
+ "node": ">= 6"
}
},
"node_modules/commondir": {
@@ -5438,15 +4614,6 @@
"node": ">=4.8"
}
},
- "node_modules/cross-spawn/node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
"node_modules/csrf": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz",
@@ -5655,23 +4822,6 @@
"node": ">=10"
}
},
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/degenerator": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
@@ -5769,13 +4919,6 @@
"node": ">=0.3.1"
}
},
- "node_modules/diff-match-patch": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
- "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
- "dev": true,
- "license": "Apache-2.0"
- },
"node_modules/docdash": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/docdash/-/docdash-2.0.2.tgz",
@@ -5819,12 +4962,12 @@
}
},
"node_modules/dunder-proto": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz",
- "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
+ "call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
"gopd": "^1.2.0"
},
@@ -5869,9 +5012,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.72",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.72.tgz",
- "integrity": "sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw==",
+ "version": "1.5.74",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz",
+ "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==",
"dev": true,
"license": "ISC"
},
@@ -5881,23 +5024,6 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
},
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/enabled": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -5917,35 +5043,37 @@
"iconv-lite": "^0.6.2"
}
},
- "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==",
+ "node_modules/encoding/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
+ "optional": true,
"dependencies": {
- "once": "^1.4.0"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/enhanced-resolve": {
- "version": "5.17.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
- "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
- "dev": true,
+ "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==",
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
+ "once": "^1.4.0"
}
},
"node_modules/entities": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
@@ -5959,19 +5087,6 @@
"node": ">=6"
}
},
- "node_modules/envinfo": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
- "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "envinfo": "dist/cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/err-code": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
@@ -6028,12 +5143,17 @@
"node": ">= 0.4"
}
},
- "node_modules/es-module-lexer": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz",
- "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==",
- "dev": true,
- "license": "MIT"
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
"node_modules/es6-error": {
"version": "4.1.1",
@@ -6042,65 +5162,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/esbuild": {
- "version": "0.16.17",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
- "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.16.17",
- "@esbuild/android-arm64": "0.16.17",
- "@esbuild/android-x64": "0.16.17",
- "@esbuild/darwin-arm64": "0.16.17",
- "@esbuild/darwin-x64": "0.16.17",
- "@esbuild/freebsd-arm64": "0.16.17",
- "@esbuild/freebsd-x64": "0.16.17",
- "@esbuild/linux-arm": "0.16.17",
- "@esbuild/linux-arm64": "0.16.17",
- "@esbuild/linux-ia32": "0.16.17",
- "@esbuild/linux-loong64": "0.16.17",
- "@esbuild/linux-mips64el": "0.16.17",
- "@esbuild/linux-ppc64": "0.16.17",
- "@esbuild/linux-riscv64": "0.16.17",
- "@esbuild/linux-s390x": "0.16.17",
- "@esbuild/linux-x64": "0.16.17",
- "@esbuild/netbsd-x64": "0.16.17",
- "@esbuild/openbsd-x64": "0.16.17",
- "@esbuild/sunos-x64": "0.16.17",
- "@esbuild/win32-arm64": "0.16.17",
- "@esbuild/win32-ia32": "0.16.17",
- "@esbuild/win32-x64": "0.16.17"
- }
- },
- "node_modules/esbuild-loader": {
- "version": "2.21.0",
- "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz",
- "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.16.17",
- "joycon": "^3.0.1",
- "json5": "^2.2.0",
- "loader-utils": "^2.0.0",
- "tapable": "^2.2.0",
- "webpack-sources": "^1.4.3"
- },
- "funding": {
- "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1"
- },
- "peerDependencies": {
- "webpack": "^4.40.0 || ^5.0.0"
- }
- },
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -6300,6 +5361,19 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/eslint/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -6446,16 +5520,6 @@
"integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==",
"license": "MIT"
},
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.x"
- }
- },
"node_modules/exif-parser": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
@@ -6490,23 +5554,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/expose-loader": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-4.1.0.tgz",
- "integrity": "sha512-oLAesnzerwDGGADzBMnu0LPqqnlVz6e2V9lTa+/4X6VeW9W93x/nJpw05WBrcIdbqXm/EdnEQpiVDFFiQXuNfg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.15.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
"node_modules/express": {
"version": "4.21.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
@@ -6748,16 +5795,6 @@
"fxparser": "src/cli/cli.js"
}
},
- "node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.9.1"
- }
- },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -6790,13 +5827,6 @@
"pend": "~1.2.0"
}
},
- "node_modules/fecha": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
- "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/figures": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -7047,13 +6077,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/fn.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -7380,19 +6403,21 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.5.tgz",
- "integrity": "sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz",
+ "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
+ "call-bind-apply-helpers": "^1.0.1",
"dunder-proto": "^1.0.0",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
"function-bind": "^1.1.2",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
- "hasown": "^2.0.2"
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -7500,16 +6525,16 @@
"license": "MIT"
},
"node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.1.1",
+ "minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
@@ -7533,13 +6558,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
"node_modules/global": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
@@ -7611,41 +6629,6 @@
"node": ">= 0.10"
}
},
- "node_modules/globule/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/globule/node_modules/minimatch": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -8127,27 +7110,6 @@
"mocha": ">=1.20.0"
}
},
- "node_modules/grunt/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/grunt/node_modules/grunt-cli": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
@@ -8180,16 +7142,16 @@
"nopt": "bin/nopt.js"
}
},
- "node_modules/grunt/node_modules/minimatch": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
- "license": "ISC",
+ "node_modules/grunt/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
- "node": "*"
+ "node": ">=0.10.0"
}
},
"node_modules/grunt/node_modules/v8flags": {
@@ -8217,38 +7179,6 @@
"node": ">=6"
}
},
- "node_modules/handlebars": {
- "version": "4.7.8",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
- "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.2",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
- }
- },
- "node_modules/handlebars/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
@@ -8279,18 +7209,6 @@
"node": ">=8"
}
},
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/has-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
@@ -8538,12 +7456,12 @@
}
},
"node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"license": "MIT",
"dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
+ "safer-buffer": ">= 2.1.2 < 3"
},
"engines": {
"node": ">=0.10.0"
@@ -8579,13 +7497,6 @@
"node": ">= 4"
}
},
- "node_modules/ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/image-q": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz",
@@ -8617,26 +7528,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/import-local": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -8749,9 +7640,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
- "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz",
+ "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==",
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
@@ -8974,6 +7865,19 @@
"node": ">=10"
}
},
+ "node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/istanbul-lib-processinfo": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
@@ -9114,6 +8018,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/istanbul-lib-report/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/istanbul-lib-source-maps": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
@@ -9196,35 +8113,16 @@
"node": ">=10"
}
},
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "license": "MIT",
+ "node_modules/jake/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "license": "ISC",
"dependencies": {
- "has-flag": "^4.0.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "node": "*"
}
},
"node_modules/jimp": {
@@ -9265,29 +8163,12 @@
"node": ">=18"
}
},
- "node_modules/joycon": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
- "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/jpeg-js": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
"integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==",
"license": "BSD-3-Clause"
},
- "node_modules/jquery": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
- "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -9353,26 +8234,6 @@
"node": ">=12.0.0"
}
},
- "node_modules/jsdoc/node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/jsdoc/node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
"node_modules/jsdoc/node_modules/escape-string-regexp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
@@ -9383,41 +8244,6 @@
"node": ">=8"
}
},
- "node_modules/jsdoc/node_modules/linkify-it": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "uc.micro": "^2.0.0"
- }
- },
- "node_modules/jsdoc/node_modules/markdown-it": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
- "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1",
- "entities": "^4.4.0",
- "linkify-it": "^5.0.0",
- "mdurl": "^2.0.0",
- "punycode.js": "^2.3.1",
- "uc.micro": "^2.1.0"
- },
- "bin": {
- "markdown-it": "bin/markdown-it.mjs"
- }
- },
- "node_modules/jsdoc/node_modules/mdurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
- "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/jsdoc/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -9431,17 +8257,10 @@
"node": ">=10"
}
},
- "node_modules/jsdoc/node_modules/uc.micro": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
- "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/jsesc": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
- "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true,
"license": "MIT",
"bin": {
@@ -9451,13 +8270,6 @@
"node": ">=6"
}
},
- "node_modules/json-browse": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/json-browse/-/json-browse-0.2.0.tgz",
- "integrity": "sha512-1C4n2IEB3QkyrgMN9wHmaABRAVeGknrHhnv8Sw+Wurkfk9CxOow3/BMptTtku9ROUEnP7QRu077BsF7S78s9Ww==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
@@ -9503,15 +8315,6 @@
"npm": ">= 6.13.0"
}
},
- "node_modules/json2csv/node_modules/commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
@@ -9574,6 +8377,18 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
+ "node_modules/jsonwebtoken/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
@@ -9623,23 +8438,6 @@
"graceful-fs": "^4.1.9"
}
},
- "node_modules/klaw-sync": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
- "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.11"
- }
- },
- "node_modules/kuler": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/later": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/later/-/later-1.2.0.tgz",
@@ -9747,13 +8545,13 @@
"license": "MIT"
},
"node_modules/linkify-it": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "uc.micro": "^1.0.1"
+ "uc.micro": "^2.0.0"
}
},
"node_modules/livereload-js": {
@@ -9763,31 +8561,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -9913,31 +8686,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/logform": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz",
- "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@colors/colors": "1.6.0",
- "@types/triple-beam": "^1.3.2",
- "fecha": "^4.2.0",
- "ms": "^2.1.1",
- "safe-stable-stringify": "^2.3.1",
- "triple-beam": "^1.3.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/logform/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/lowercase-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
@@ -10127,20 +8875,21 @@
}
},
"node_modules/markdown-it": {
- "version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
- "entities": "~2.1.0",
- "linkify-it": "^3.0.1",
- "mdurl": "^1.0.1",
- "uc.micro": "^1.0.5"
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
},
"bin": {
- "markdown-it": "bin/markdown-it.js"
+ "markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/markdown-it-anchor": {
@@ -10174,6 +8923,15 @@
"node": ">= 12"
}
},
+ "node_modules/math-intrinsics": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz",
+ "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/maxmin": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz",
@@ -10199,9 +8957,9 @@
"license": "MIT"
},
"node_modules/mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"dev": true,
"license": "MIT"
},
@@ -10230,13 +8988,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/method-override": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz",
@@ -10337,9 +9088,9 @@
}
},
"node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
+ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -10759,13 +9510,6 @@
"node": ">= 0.6"
}
},
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/netmask": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
@@ -10799,6 +9543,18 @@
"node": ">=10"
}
},
+ "node_modules/node-abi/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/node-addon-api": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz",
@@ -10877,6 +9633,19 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/node-gyp/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -10900,103 +9669,26 @@
"dev": true,
"license": "MIT",
"dependencies": {
- "process-on-spawn": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nodemailer": {
- "version": "6.9.16",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.16.tgz",
- "integrity": "sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==",
- "license": "MIT-0",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/nodemon": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz",
- "integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.5.2",
- "debug": "^4",
- "ignore-by-default": "^1.0.1",
- "minimatch": "^3.1.2",
- "pstree.remy": "^1.1.8",
- "semver": "^7.5.3",
- "simple-update-notifier": "^2.0.0",
- "supports-color": "^5.5.0",
- "touch": "^3.1.0",
- "undefsafe": "^2.0.5"
- },
- "bin": {
- "nodemon": "bin/nodemon.js"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nodemon"
- }
- },
- "node_modules/nodemon/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/nodemon/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "license": "MIT",
+ "process-on-spawn": "^1.0.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
- "node_modules/nodemon/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/node-releases": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"dev": true,
"license": "MIT"
},
- "node_modules/nodemon/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,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
+ "node_modules/nodemailer": {
+ "version": "6.9.16",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.16.tgz",
+ "integrity": "sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==",
+ "license": "MIT-0",
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
"node_modules/nopt": {
@@ -11361,16 +10053,6 @@
"wrappy": "1"
}
},
- "node_modules/one-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fn.name": "1.x.x"
- }
- },
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -11953,16 +10635,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/prismjs": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
- "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -12097,13 +10769,6 @@
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"license": "MIT"
},
- "node_modules/pstree.remy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/pump": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
@@ -12134,17 +10799,17 @@
}
},
"node_modules/puppeteer": {
- "version": "23.10.2",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.10.2.tgz",
- "integrity": "sha512-Iii2ZwdukXzEGeCxs2/GG8G+dbVCylnlBrTxZnMxLW/7w/ftoGq4VB2Bt1vwrbMIn1XwFqxYEWNEkZpIkcVfwg==",
+ "version": "23.10.4",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.10.4.tgz",
+ "integrity": "sha512-i0sYIAIjdO9MoRfFqbkoWFnQYZVmNp8msbztTgG46KbOdoYAv4f56MFzdFwtC0lyZHtkP+yl0H7tP0dNg3RQYA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "@puppeteer/browsers": "2.6.0",
+ "@puppeteer/browsers": "2.6.1",
"chromium-bidi": "0.8.0",
"cosmiconfig": "^9.0.0",
"devtools-protocol": "0.0.1367902",
- "puppeteer-core": "23.10.2",
+ "puppeteer-core": "23.10.4",
"typed-query-selector": "^2.12.0"
},
"bin": {
@@ -12155,12 +10820,12 @@
}
},
"node_modules/puppeteer-core": {
- "version": "23.10.2",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.10.2.tgz",
- "integrity": "sha512-SEPjEbhPxRlzjGRCs8skwfnzFQj6XrZZmoMz0JIQbanj0fBpQ5HOGgyQTyh4YOW33q+461plJc5GfsQ+ErVBgQ==",
+ "version": "23.10.4",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.10.4.tgz",
+ "integrity": "sha512-pQAY7+IFAndWDkDodsQGguW1/ifV5OMlGXJDspwtK49Asb7poJZ/V5rXJxVSpq57bWrJasjQBZ1X27z1oWVq4Q==",
"license": "Apache-2.0",
"dependencies": {
- "@puppeteer/browsers": "2.6.0",
+ "@puppeteer/browsers": "2.6.1",
"chromium-bidi": "0.8.0",
"debug": "^4.4.0",
"devtools-protocol": "0.0.1367902",
@@ -12291,18 +10956,6 @@
"node": ">= 0.8"
}
},
- "node_modules/raw-body/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
@@ -12452,12 +11105,12 @@
}
},
"node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "version": "1.22.9",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz",
+ "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==",
"license": "MIT",
"dependencies": {
- "is-core-module": "^2.13.0",
+ "is-core-module": "^2.16.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -12474,29 +11127,6 @@
"integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
"license": "MIT"
},
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-cwd/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
@@ -12623,16 +11253,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/safe-stable-stringify": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
- "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -12660,9 +11280,9 @@
}
},
"node_modules/sass/node_modules/chokidar": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
- "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.2.tgz",
+ "integrity": "sha512-/b57FK+bblSU+dfewfFe0rT1YjVDfOmeLQwCAuC+vwvgLkXboATqqmy+Ipux6JrF6L5joe5CBnFOw+gLWH6yKg==",
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
@@ -12693,35 +11313,13 @@
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
"license": "ISC"
},
- "node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"license": "ISC",
"bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
+ "semver": "bin/semver"
}
},
"node_modules/send": {
@@ -12807,42 +11405,12 @@
"devOptional": true,
"license": "ISC"
},
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"license": "ISC"
},
- "node_modules/shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -12925,15 +11493,69 @@
"license": "MIT"
},
"node_modules/side-channel": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
- "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bound": "^1.0.2",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -12994,36 +11616,6 @@
"simple-concat": "^1.0.0"
}
},
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
- "node_modules/simple-swizzle/node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/simple-update-notifier": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
- "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/simple-xml-to-json": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/simple-xml-to-json/-/simple-xml-to-json-1.2.3.tgz",
@@ -13113,13 +11705,6 @@
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
"license": "BSD-3-Clause"
},
- "node_modules/source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -13138,27 +11723,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -13331,16 +11895,6 @@
"node": ">= 8"
}
},
- "node_modules/stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
@@ -13351,9 +11905,9 @@
}
},
"node_modules/streamx": {
- "version": "2.21.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.21.0.tgz",
- "integrity": "sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==",
+ "version": "2.21.1",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.21.1.tgz",
+ "integrity": "sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==",
"license": "MIT",
"dependencies": {
"fast-fifo": "^1.3.2",
@@ -13474,23 +12028,6 @@
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/style-loader": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz",
- "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
"node_modules/superagent": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
@@ -13613,16 +12150,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/tar": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
@@ -13686,67 +12213,6 @@
"node": ">=10"
}
},
- "node_modules/terser": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz",
- "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.10",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
- "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.20",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.26.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/test-exclude": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -13763,21 +12229,14 @@
}
},
"node_modules/text-decoder": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.2.tgz",
- "integrity": "sha512-/MDslo7ZyWTA2vnk1j7XoDVfXsGk3tp+zFEJHJGm0UjIlQifonVFwlVbQDFh8KJzTBnT8ie115TYqir6bclddA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
+ "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
"license": "Apache-2.0",
"dependencies": {
"b4a": "^1.6.4"
}
},
- "node_modules/text-hex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -13867,16 +12326,6 @@
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/touch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
- "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "nodetouch": "bin/nodetouch.js"
- }
- },
"node_modules/tr46": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
@@ -13889,16 +12338,6 @@
"node": ">=12"
}
},
- "node_modules/triple-beam": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
- "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.0.0"
- }
- },
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -13982,9 +12421,9 @@
}
},
"node_modules/uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"dev": true,
"license": "MIT"
},
@@ -14031,13 +12470,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/undefsafe": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
- "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/underscore": {
"version": "1.13.7",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
@@ -14207,20 +12639,6 @@
"node": ">= 0.8"
}
},
- "node_modules/watchpack": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
@@ -14230,255 +12648,6 @@
"node": ">=12"
}
},
- "node_modules/webpack": {
- "version": "5.97.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz",
- "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint-scope": "^3.7.7",
- "@types/estree": "^1.0.6",
- "@webassemblyjs/ast": "^1.14.1",
- "@webassemblyjs/wasm-edit": "^1.14.1",
- "@webassemblyjs/wasm-parser": "^1.14.1",
- "acorn": "^8.14.0",
- "browserslist": "^4.24.0",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.1",
- "es-module-lexer": "^1.2.1",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.11",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.2.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.10",
- "watchpack": "^2.4.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-cli": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
- "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.2.0",
- "@webpack-cli/info": "^1.5.0",
- "@webpack-cli/serve": "^1.7.0",
- "colorette": "^2.0.14",
- "commander": "^7.0.0",
- "cross-spawn": "^7.0.3",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
- "webpack-merge": "^5.7.3"
- },
- "bin": {
- "webpack-cli": "bin/cli.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x"
- },
- "peerDependenciesMeta": {
- "@webpack-cli/generators": {
- "optional": true
- },
- "@webpack-cli/migrate": {
- "optional": true
- },
- "webpack-bundle-analyzer": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-cli/node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/webpack-cli/node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webpack-cli/node_modules/interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/webpack-cli/node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/webpack-cli/node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/webpack-cli/node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/webpack-cli/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,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webpack-merge": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
- "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "clone-deep": "^4.0.1",
- "flat": "^5.0.2",
- "wildcard": "^2.0.0"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "node_modules/webpack-sources/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/webpack/node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/webpack/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/webpack/node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/websocket-driver": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
@@ -14546,51 +12715,6 @@
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "node_modules/wildcard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/winston": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz",
- "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@colors/colors": "^1.6.0",
- "@dabh/diagnostics": "^2.0.2",
- "async": "^3.2.3",
- "is-stream": "^2.0.0",
- "logform": "^2.7.0",
- "one-time": "^1.0.0",
- "readable-stream": "^3.4.0",
- "safe-stable-stringify": "^2.3.1",
- "stack-trace": "0.0.x",
- "triple-beam": "^1.3.0",
- "winston-transport": "^4.9.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/winston-transport": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz",
- "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "logform": "^2.7.0",
- "readable-stream": "^3.6.2",
- "triple-beam": "^1.3.0"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -14601,13 +12725,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/workerpool": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz",
@@ -14861,10 +12978,43 @@
"node": ">= 10"
}
},
+ "node_modules/zip-stream/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/zip-stream/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/zod": {
- "version": "3.24.0",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.0.tgz",
- "integrity": "sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==",
+ "version": "3.24.1",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz",
+ "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
diff --git a/package.json b/package.json
index fe4b06cfb72..4f02a7f5835 100644
--- a/package.json
+++ b/package.json
@@ -14,8 +14,6 @@
"url": "git://github.com/countly/countly-server.git"
},
"devDependencies": {
- "apidoc": "^1.0.1",
- "apidoc-template": "^0.0.2",
"docdash": "^2.0.1",
"grunt-contrib-watch": "1.1.0",
"grunt-eslint": "24.3.0",
From dd78e21b3d3c7e1eff1ebcaa18eef54ebdc990b2 Mon Sep 17 00:00:00 2001
From: can-angun
Date: Wed, 18 Dec 2024 14:03:42 +0000
Subject: [PATCH 054/186] Fixed console error
---
.../compliance-hub/frontend/public/templates/exportHistory.html | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/compliance-hub/frontend/public/templates/exportHistory.html b/plugins/compliance-hub/frontend/public/templates/exportHistory.html
index 7708143a7e2..e86c5ed3abc 100644
--- a/plugins/compliance-hub/frontend/public/templates/exportHistory.html
+++ b/plugins/compliance-hub/frontend/public/templates/exportHistory.html
@@ -29,12 +29,14 @@
{{scope.row.u}}
+
{{scope.row.ip}}
+
From 3c92c525eb44ede0fe51f5d580c1666327d46107 Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Wed, 18 Dec 2024 18:32:06 +0000
Subject: [PATCH 055/186] fix: unescape input type values
---
.../public/javascripts/countly/vue/components/content.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/frontend/express/public/javascripts/countly/vue/components/content.js b/frontend/express/public/javascripts/countly/vue/components/content.js
index 8efb7818c14..013cc5ef045 100644
--- a/frontend/express/public/javascripts/countly/vue/components/content.js
+++ b/frontend/express/public/javascripts/countly/vue/components/content.js
@@ -428,6 +428,10 @@
return !!this.value;
}
+ if (this.type === COUNTLY_CONTENT_SIDEBAR_INPUT_COMPONENT_BY_TYPE_INPUT) {
+ return countlyCommon.unescapeHtml(this.value) || '';
+ }
+
return this.value || null;
},
set(newValue) {
From 373e82803905ff929c5cdc0f252bde9ff82f5a4e Mon Sep 17 00:00:00 2001
From: Cihad Tekin
Date: Wed, 18 Dec 2024 22:06:58 +0300
Subject: [PATCH 056/186] [star-rating] Fixed: Cannot parse JSON value in
targeting.steps
---
plugins/star-rating/api/api.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/plugins/star-rating/api/api.js b/plugins/star-rating/api/api.js
index 4bf19ef7524..619eed4bc30 100644
--- a/plugins/star-rating/api/api.js
+++ b/plugins/star-rating/api/api.js
@@ -722,9 +722,15 @@ function uploadFile(myfile, id, callback) {
if (!changes.targeting) {
changes.targeting = {};
}
+ if (!changes.targeting.user_segmentation) {
+ changes.targeting.user_segmentation = '{"query":{},"queryText":""}';
+ }
+ if (!changes.targeting.steps) {
+ changes.targeting.steps = '[]';
+ }
changes.targeting.app_id = params.app_id + "";//has to be string
// eslint-disable-next-line
- createCohort(params, type, widgetId, changes.targeting, function(cohortId) { //create cohort using this
+ createCohort(params, type, widgetId, changes.targeting, function(cohortId) { //create cohort using this
if (cohortId) {
//update widget record to have this cohortId
common.db.collection("feedback_widgets").findAndModify({ "_id": widgetId }, {}, { $set: { "cohortID": cohortId } }, function(/*err, widget*/) {
From eada6fbfe2e7c6a8e6e44eec6287c64970dc4198 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Art=C5=ABrs=20Kadi=C4=B7is?=
Date: Fri, 20 Dec 2024 14:11:27 +0200
Subject: [PATCH 057/186] Changelog 24.05.20
---
CHANGELOG.md | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21049583727..683ac4a8831 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,20 +1,23 @@
-## Version 24.05.XX
+## Version 24.05.20
Fixes:
- [push] Fixed bug where IOS credentials get mixed up while sending messages from different apps at the same time
- [push] Fixed bug where it crashes in connection pool growth because of a type mismatch in an if condition
+Security:
+- [cohorts] Prevent query injection on cohort creation
+
Dependencies:
- Bump countly-sdk-nodejs from 22.6.0 to 24.10.0
- Bump countly-sdk-web from 24.4.1 to 24.11.0
+- Bump express from 4.21.1 to 4.21.2
- Bump form-data from 4.0.0 to 4.0.1
- Bump jimp from 0.22.12 to 1.6.0
- Bump jsdoc from 4.0.3 to 4.0.4
+- Bump mocha from 10.2.0 to 10.8.2
+- Bump mongodb from 4.9.1 to 4.17.2
- Bump nodemailer from 6.9.15 to 6.9.16
- Bump puppeteer from 23.8.0 to 23.9.0
- Bump tslib from 2.7.0 to 2.8.1
-- Bump express from 4.21.1 to 4.21.2
-- Bump mocha from 10.2.0 to 10.8.2
-- Bump mongodb from 4.9.1 to 4.17.2
## Version 24.05.19
Fixes:
From 32f87acd6133f7db0492eea7f0144c4007de0b38 Mon Sep 17 00:00:00 2001
From: Can Angun <39311746+can-angun@users.noreply.github.com>
Date: Fri, 20 Dec 2024 16:20:03 +0300
Subject: [PATCH 058/186] Updated settings security response header text
---
.../lib/dashboard/manage/configurations/configurations.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
index 6c5fbfae6c5..0244b965364 100644
--- a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
+++ b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
@@ -725,7 +725,7 @@ const verifyPageElements = () => {
cy.verifyElement({
element: configurationsListBoxElements({ subFeature: SETTINGS.SECURITY.API_ADDITIONAL_HEADERS }).SELECTED_SUBFEATURE_TEXTAREA,
- value: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nAccess-Control-Allow-Origin:*",
+ value: "X-Frame-Options:deny X-XSS-Protection:1; mode=block Strict-Transport-Security:max-age= 31536000; includeSubDomains; preload",
});
cy.verifyElement({
@@ -1844,4 +1844,4 @@ const verifyPageElements = () => {
module.exports = {
verifyPageElements
-};
\ No newline at end of file
+};
From 69436f39a8875184212fd6d52ecaa07bf5a87e4d Mon Sep 17 00:00:00 2001
From: Can Angun <39311746+can-angun@users.noreply.github.com>
Date: Fri, 20 Dec 2024 16:23:08 +0300
Subject: [PATCH 059/186] Updated settings security response header text with n
---
.../lib/dashboard/manage/configurations/configurations.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
index 0244b965364..aebb3edb58a 100644
--- a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
+++ b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
@@ -725,7 +725,7 @@ const verifyPageElements = () => {
cy.verifyElement({
element: configurationsListBoxElements({ subFeature: SETTINGS.SECURITY.API_ADDITIONAL_HEADERS }).SELECTED_SUBFEATURE_TEXTAREA,
- value: "X-Frame-Options:deny X-XSS-Protection:1; mode=block Strict-Transport-Security:max-age= 31536000; includeSubDomains; preload",
+ value: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nAccess-Control-Allow-Origin:*",
});
cy.verifyElement({
From abea513eabaa2b3911eac50bbcba37b954caf3ab Mon Sep 17 00:00:00 2001
From: Can Angun <39311746+can-angun@users.noreply.github.com>
Date: Fri, 20 Dec 2024 17:15:09 +0300
Subject: [PATCH 060/186] Update configurations.js
---
.../lib/dashboard/manage/configurations/configurations.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
index aebb3edb58a..a73db448a55 100644
--- a/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
+++ b/ui-tests/cypress/lib/dashboard/manage/configurations/configurations.js
@@ -740,7 +740,7 @@ const verifyPageElements = () => {
cy.verifyElement({
element: configurationsListBoxElements({ subFeature: SETTINGS.SECURITY.DASHBOARD_ADDITIONAL_HEADERS }).SELECTED_SUBFEATURE_TEXTAREA,
- value: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000 ; includeSubDomains\nX-Content-Type-Options: nosniff"
+ value: "X-Frame-Options:deny\nX-XSS-Protection:1; mode=block\nStrict-Transport-Security:max-age=31536000; includeSubDomains; preload\nX-Content-Type-Options: nosniff"
});
cy.verifyElement({
From fb5a036e9f4aecbc44a82b37de25a6f5979cedad Mon Sep 17 00:00:00 2001
From: Gabriel Oliveira
Date: Fri, 20 Dec 2024 18:35:47 +0000
Subject: [PATCH 061/186] fix: improve header name input and make header more
consistent with design
---
.../countly/vue/components/content.js | 271 ++++++++++--------
.../vue/templates/content/content-header.html | 133 ++++++---
.../vue/templates/content/content.html | 20 +-
.../public/stylesheets/vue/clyvue.scss | 263 +++++++++++------
4 files changed, 440 insertions(+), 247 deletions(-)
diff --git a/frontend/express/public/javascripts/countly/vue/components/content.js b/frontend/express/public/javascripts/countly/vue/components/content.js
index 013cc5ef045..c40c70fb94a 100644
--- a/frontend/express/public/javascripts/countly/vue/components/content.js
+++ b/frontend/express/public/javascripts/countly/vue/components/content.js
@@ -1,162 +1,207 @@
/* global Vue, CV, countlyCommon */
(function(countlyVue) {
Vue.component("cly-content-layout", countlyVue.components.create({
+ template: CV.T('/javascripts/countly/vue/templates/content/content.html'),
+
props: {
- popperClass: {
- type: String,
- required: false,
- default: null
- },
backgroundColor: {
- type: String,
+ default: null,
+ type: String
+ },
+
+ popperClass: {
+ default: null,
required: false,
- default: null
+ type: String
}
},
- data: function() {
- return {
- currentTab: this.meta?.tabs[0]?.value || null,
- isActive: false
- };
- },
+
computed: {
containerClass() {
return this.popperClass || 'cly-vue-content-builder__layout-main';
}
- },
- template: CV.T('/javascripts/countly/vue/templates/content/content.html'),
- methods: {
}
}));
Vue.component("cly-content-header", countlyVue.components.create({
+ template: CV.T('/javascripts/countly/vue/templates/content/content-header.html'),
+
props: {
- value: {
- type: String,
- required: true
+ backgroundColor: {
+ default: '#ffffff',
+ type: String
},
- version: {
- type: String,
- required: false,
- default: null
+
+ closeButton: {
+ default: true,
+ type: Boolean
},
+
createdBy: {
- type: String,
- required: false,
- default: null
+ default: null,
+ type: String
},
- toggle: {
- type: Boolean,
- required: false,
- default: false
+
+ disableSaveButton: {
+ default: false,
+ type: Boolean
},
- closeButton: {
- type: Boolean,
- required: false,
- default: true
+
+ hideSaveButton: {
+ default: false,
+ type: Boolean
},
- tabs: {
+
+ isToggleDisabled: {
+ default: false,
+ type: Boolean
+ },
+
+ options: {
type: Array,
- required: false,
- default: function() {
- return [];
- }
+ default: () => []
},
- titleMaxLength: {
- type: Number,
- required: false,
- default: 50
+
+ saveButtonLabel: {
+ default: CV.i18n('common.save'),
+ type: String
},
+
status: {
- type: Object,
- required: false,
- default: function() {
- return { show: false, label: 'Status', mode: 'primary' };
- },
- },
- saveButtonLabel: {
- type: String,
- required: false,
- default: CV.i18n('common.save')
+ default: () => ({
+ label: 'Status',
+ mode: 'primary',
+ show: false
+ }),
+ type: Object
},
- disableSaveButton: {
- type: Boolean,
- required: false,
- default: false
+
+ tabs: {
+ default: () => [],
+ type: Array
},
- topDropdownOptions: {
- type: Array,
- required: false,
- default: function() {
- return [];
- }
+
+ toggle: {
+ default: false,
+ type: Boolean
},
- hideSaveButton: {
- type: Boolean,
- required: false,
- default: false
+
+ toggleTooltip: {
+ default: null,
+ type: String
},
- backgroundColor: {
- type: String,
- required: false,
- default: '#fff'
+
+ toggleValue: {
+ default: false,
+ type: Boolean
},
- isToggleActive: {
- type: Boolean,
- required: false,
- default: false
+
+ value: {
+ required: true,
+ type: String
},
- isToggleDisabled: {
- type: Boolean,
- required: false,
- default: false
+
+ valueMaxLength: {
+ default: 50,
+ type: Number
},
- toggleTooltip: {
- type: String,
- required: false
+
+ version: {
+ default: null,
+ type: String
}
},
- data: function() {
- return {
- currentTab: this.tabs[0]?.value || null,
- localTitle: countlyCommon.unescapeHtml(this.value),
- isEditing: !this.value
- };
- },
- watch: {
- value: function(newVal) {
- this.localTitle = newVal;
+
+ emits: [
+ 'close',
+ 'handle-command',
+ 'input',
+ 'save',
+ 'switch-toggle',
+ 'tab-change'
+ ],
+
+ data: () => ({
+ currentTab: null,
+
+ isReadonlyInput: true
+ }),
+
+ computed: {
+ activeTab: {
+ get() {
+ return this.currentTab || this.tabs[0]?.name;
+ },
+ set(value) {
+ this.currentTab = value;
+ this.$emit('tab-change', value);
+ }
+ },
+
+ closeButtonIcon() {
+ return this.closeButton ? 'cly-io-x' : 'cly-io-arrow-sm-left';
},
- currentTab: function(newVal) {
- this.$emit('tab-change', newVal);
+
+ dynamicTabsCustomStyle() {
+ return `background-color: ${this.backgroundColor}`;
+ },
+
+ inputTooltip() {
+ return this.localValue && this.localValue.length > 30 ? this.localValue : null;
+ },
+
+ isOptionsButtonVisible() {
+ return !!this.options.length;
+ },
+
+ localValue: {
+ get() {
+ return countlyCommon.unescapeHtml(this.value);
+ },
+ set(value) {
+ this.$emit('input', value);
+ }
+ },
+
+ toggleLocalValue: {
+ get() {
+ return this.toggleValue;
+ },
+ set(value) {
+ this.$emit('switch-toggle', value);
+ }
}
},
+
methods: {
- toggleChanged(newValue) {
- this.$emit('toggleChanged', newValue);
- },
- close: function() {
+ onCloseIconClick() {
this.$emit('close');
},
- save: function() {
- this.$emit('save');
- },
- handleCommand: function(event) {
+
+ onCommand(event) {
this.$emit('handle-command', event);
},
- handleDoubleClick: function() {
- this.isEditing = true;
+
+ onInputBlur() {
+ this.toggleInputReadonlyState();
},
- finishEditing: function() {
- if (this.localTitle) {
- this.isEditing = false;
- }
- if (this.localTitle !== this.value) {
- this.$emit('input', this.localTitle);
- }
+
+ onInputContainerClick() {
+ this.toggleInputReadonlyState();
+ },
+
+ onInputKeydown() {
+ this.toggleInputReadonlyState();
+ },
+
+ onSaveButtonClick() {
+ this.$emit('save');
+ },
+
+ toggleInputReadonlyState() {
+ this.isReadonlyInput = !this.isReadonlyInput;
}
- },
- template: CV.T('/javascripts/countly/vue/templates/content/content-header.html')
+ }
}));
Vue.component("cly-content-body", countlyVue.components.create({
diff --git a/frontend/express/public/javascripts/countly/vue/templates/content/content-header.html b/frontend/express/public/javascripts/countly/vue/templates/content/content-header.html
index 42ce3dfd626..4edc66e9563 100644
--- a/frontend/express/public/javascripts/countly/vue/templates/content/content-header.html
+++ b/frontend/express/public/javascripts/countly/vue/templates/content/content-header.html
@@ -1,52 +1,95 @@
-