diff --git a/package.json b/package.json
index f78b6167..b4ed8d03 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "hydra",
"productName": "Hydra",
- "version": "1.0.1",
+ "version": "1.1.0",
"description": "No bullshit. Just play.",
"main": ".webpack/main",
"repository": {
diff --git a/resources/hydra.db b/resources/hydra.db
index c523903b..f673b2e7 100644
Binary files a/resources/hydra.db and b/resources/hydra.db differ
diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json
index 2d21605e..6c5aa32c 100644
--- a/src/locales/en/translation.json
+++ b/src/locales/en/translation.json
@@ -1,5 +1,5 @@
{
- "catalogue": {
+ "home": {
"featured": "Featured",
"recently_added": "Recently added",
"trending": "Trending",
@@ -7,6 +7,7 @@
"no_results": "No results found"
},
"sidebar": {
+ "home": "Home",
"catalogue": "Catalogue",
"downloads": "Downloads",
"settings": "Settings",
@@ -19,6 +20,7 @@
},
"header": {
"search": "Search",
+ "home": "Home",
"catalogue": "Catalogue",
"downloads": "Downloads",
"search_results": "Search results",
@@ -30,6 +32,10 @@
"checking_files": "Checking {{title}} files… ({{percentage}} complete)",
"downloading": "Downloading {{title}}… ({{percentage}} complete) - Conclusion {{eta}} - {{speed}}"
},
+ "catalogue": {
+ "next_page": "Next page",
+ "previous_page": "Previous page"
+ },
"game_details": {
"open_download_options": "Open download options",
"download_options_zero": "No download option",
@@ -64,12 +70,13 @@
"remove_from_library": "Remove from library",
"no_downloads": "No downloads available",
"play_time": "Played for {{amount}}",
- "last_time_played": "Played for the last time {{period}}",
+ "last_time_played": "Last played {{period}}",
"not_played_yet": "You haven't played {{title}} yet",
"next_suggestion": "Next suggestion",
"play": "Play",
"deleting": "Deleting installer…",
- "close": "Close"
+ "close": "Close",
+ "playing_now": "Playing now"
},
"activation": {
"title": "Activate Hydra",
diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json
index 19a92dd7..4cc90d15 100644
--- a/src/locales/es/translation.json
+++ b/src/locales/es/translation.json
@@ -1,5 +1,5 @@
{
- "catalogue": {
+ "home": {
"featured": "Destacado",
"recently_added": "Recién Añadidos",
"trending": "Tendencias",
@@ -15,14 +15,16 @@
"checking_files": "{{title}} ({{percentage}} - Analizando archivos…)",
"paused": "{{title}} (Pausado)",
"downloading": "{{title}} ({{percentage}} - Descargando…)",
- "filter": "Filtrar biblioteca"
+ "filter": "Filtrar biblioteca",
+ "home": "Hogar"
},
"header": {
"search": "Buscar",
"catalogue": "Catálogo",
"downloads": "Descargas",
"search_results": "Resultados de búsqueda",
- "settings": "Ajustes"
+ "settings": "Ajustes",
+ "home": "Hogar"
},
"bottom_panel": {
"no_downloads_in_progress": "Sin descargas en progreso",
@@ -65,11 +67,12 @@
"next_suggestion": "Siguiente sugerencia",
"play_time": "Jugado por {{cantidad}}",
"install": "Instalar",
- "last_time_played": "Jugado por última vez {{period}}",
"play": "Jugar",
"not_played_yet": "Aún no has jugado a {{title}}",
"close": "Cerca",
- "deleting": "Eliminando instalador…"
+ "deleting": "Eliminando instalador…",
+ "playing_now": "Jugando ahora",
+ "last_time_played": "Jugado por última vez {{period}}"
},
"activation": {
"title": "Activar Hydra",
@@ -127,5 +130,9 @@
"title": "Programas no instalados",
"description": "Los ejecutables de Wine o Lutris no se encontraron en su sistema",
"instructions": "Comprueba la forma correcta de instalar cualquiera de ellos en tu distro Linux para que el juego pueda ejecutarse con normalidad"
+ },
+ "catalogue": {
+ "next_page": "Siguiente página",
+ "previous_page": "Pagina anterior"
}
}
diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json
index a351fad9..f4250be2 100644
--- a/src/locales/fr/translation.json
+++ b/src/locales/fr/translation.json
@@ -1,5 +1,5 @@
{
- "catalogue": {
+ "home": {
"featured": "En vedette",
"recently_added": "Récemment ajouté",
"trending": "Tendance",
@@ -15,14 +15,16 @@
"checking_files": "{{title}} ({{percentage}} - Vérification des fichiers…)",
"paused": "{{title}} (En pause)",
"downloading": "{{title}} ({{percentage}} - Téléchargement en cours…)",
- "filter": "Filtrer la bibliothèque"
+ "filter": "Filtrer la bibliothèque",
+ "home": "Maison"
},
"header": {
"search": "Recherche",
"catalogue": "Catalogue",
"downloads": "Téléchargements",
"search_results": "Résultats de la recherche",
- "settings": "Paramètres"
+ "settings": "Paramètres",
+ "home": "Maison"
},
"bottom_panel": {
"no_downloads_in_progress": "Aucun téléchargement en cours",
@@ -65,11 +67,12 @@
"next_suggestion": "Suggestion suivante",
"play_time": "Joué pour {{montant}}",
"install": "Installer",
- "last_time_played": "Joué pour la dernière fois {{période}}",
"play": "Jouer",
"not_played_yet": "Vous n'avez pas encore joué à {{title}}",
"close": "Fermer",
- "deleting": "Suppression du programme d'installation…"
+ "deleting": "Suppression du programme d'installation…",
+ "playing_now": "Je joue maintenant",
+ "last_time_played": "Dernière lecture {{période}}"
},
"activation": {
"title": "Activer Hydra",
@@ -127,5 +130,9 @@
"description": "Les exécutables Wine ou Lutris sont introuvables sur votre système",
"instructions": "Vérifiez la bonne façon d'installer l'un d'entre eux sur votre distribution Linux afin que le jeu puisse fonctionner normalement",
"title": "Programmes non installés"
+ },
+ "catalogue": {
+ "next_page": "Page suivante",
+ "previous_page": "Page précédente"
}
}
diff --git a/src/locales/pt/translation.json b/src/locales/pt/translation.json
index 29c32578..a19ca24a 100644
--- a/src/locales/pt/translation.json
+++ b/src/locales/pt/translation.json
@@ -1,5 +1,5 @@
{
- "catalogue": {
+ "home": {
"featured": "Destaque",
"recently_added": "Novidades",
"trending": "Populares",
@@ -15,14 +15,16 @@
"checking_files": "{{title}} ({{percentage}} - Verificando arquivos…)",
"paused": "{{title}} (Pausado)",
"downloading": "{{title}} ({{percentage}} - Baixando…)",
- "filter": "Filtrar biblioteca"
+ "filter": "Filtrar biblioteca",
+ "home": "Início"
},
"header": {
"search": "Buscar",
"catalogue": "Catálogo",
"downloads": "Downloads",
"search_results": "Resultados da busca",
- "settings": "Configurações"
+ "settings": "Configurações",
+ "home": "Início"
},
"bottom_panel": {
"no_downloads_in_progress": "Sem downloads em andamento",
@@ -65,11 +67,12 @@
"play_time": "Jogado por {{amount}}",
"next_suggestion": "Próxima sugestão",
"install": "Instalar",
- "last_time_played": "Jogado pela última vez {{period}}",
+ "last_time_played": "Jogou por último {{period}}",
"play": "Jogar",
"not_played_yet": "Você ainda não jogou {{title}}",
"close": "Fechar",
- "deleting": "Excluindo instalador…"
+ "deleting": "Excluindo instalador…",
+ "playing_now": "Jogando agora"
},
"activation": {
"title": "Ativação",
@@ -127,5 +130,9 @@
"title": "Programas não instalados",
"description": "Não foram encontrados no seu sistema os executáveis do Wine ou Lutris",
"instructions": "Verifique a forma correta de instalar algum deles na sua distro Linux para que o jogo possa ser executado normalmente"
+ },
+ "catalogue": {
+ "next_page": "Próxima página",
+ "previous_page": "Página anterior"
}
}
diff --git a/src/main/data-source.ts b/src/main/data-source.ts
index 942f984d..d1bfe65f 100644
--- a/src/main/data-source.ts
+++ b/src/main/data-source.ts
@@ -7,6 +7,7 @@ import {
RepackerFriendlyName,
UserPreferences,
MigrationScript,
+ SteamGame,
} from "@main/entity";
import type { SqliteConnectionOptions } from "typeorm/driver/sqlite/SqliteConnectionOptions";
@@ -24,6 +25,7 @@ export const createDataSource = (options: Partial) =>
UserPreferences,
GameShopCache,
MigrationScript,
+ SteamGame,
],
...options,
});
diff --git a/src/main/entity/index.ts b/src/main/entity/index.ts
index ec851a64..e93ba92e 100644
--- a/src/main/entity/index.ts
+++ b/src/main/entity/index.ts
@@ -5,3 +5,4 @@ export * from "./repacker-friendly-name.entity";
export * from "./user-preferences.entity";
export * from "./game-shop-cache.entity";
export * from "./migration-script.entity";
+export * from "./steam-game.entity";
diff --git a/src/main/entity/steam-game.entity.ts b/src/main/entity/steam-game.entity.ts
new file mode 100644
index 00000000..775372fb
--- /dev/null
+++ b/src/main/entity/steam-game.entity.ts
@@ -0,0 +1,10 @@
+import { Column, Entity, PrimaryColumn } from "typeorm";
+
+@Entity("steam_game")
+export class SteamGame {
+ @PrimaryColumn()
+ id: number;
+
+ @Column()
+ name: string;
+}
diff --git a/src/main/events/catalogue/get-catalogue.ts b/src/main/events/catalogue/get-catalogue.ts
index 6345423e..3e802c92 100644
--- a/src/main/events/catalogue/get-catalogue.ts
+++ b/src/main/events/catalogue/get-catalogue.ts
@@ -1,25 +1,22 @@
-import { formatName, repackerFormatter } from "@main/helpers";
-import { getTrendingGames } from "@main/services";
-import type { CatalogueCategory, CatalogueEntry } from "@types";
+import { formatName, getSteamAppAsset, repackerFormatter } from "@main/helpers";
+import type { CatalogueCategory, CatalogueEntry, GameShop } from "@types";
import { stateManager } from "@main/state-manager";
-import { searchGames } from "../helpers/search-games";
+import { searchGames, searchRepacks } from "../helpers/search-games";
import { registerEvent } from "../register-event";
+import { requestSteam250 } from "@main/services";
const repacks = stateManager.getValue("repacks");
+interface GetStringForLookup {
+ (index: number): string;
+}
+
const getCatalogue = async (
_event: Electron.IpcMainInvokeEvent,
category: CatalogueCategory
) => {
- const trendingGames = await getTrendingGames();
-
- let i = 0;
- const results: CatalogueEntry[] = [];
-
- const getStringForLookup = (index: number) => {
- if (category === "trending") return trendingGames[index];
-
+ const getStringForLookup = (index: number): string => {
const repack = repacks[index];
const formatter =
repackerFormatter[repack.repacker as keyof typeof repackerFormatter];
@@ -30,10 +27,56 @@ const getCatalogue = async (
if (!repacks.length) return [];
const resultSize = 12;
- const requestSize = resultSize * 2;
- let lookupRequest = [];
- while (results.length < resultSize) {
+ if (category === "trending") {
+ return getTrendingCatalogue(resultSize);
+ } else {
+ return getRecentlyAddedCatalogue(
+ resultSize,
+ resultSize,
+ getStringForLookup
+ );
+ }
+};
+
+const getTrendingCatalogue = async (
+ resultSize: number
+): Promise => {
+ const results: CatalogueEntry[] = [];
+ const trendingGames = await requestSteam250("/30day");
+ for (
+ let i = 0;
+ i < trendingGames.length && results.length < resultSize;
+ i++
+ ) {
+ if (!trendingGames[i]) continue;
+
+ const { title, objectID } = trendingGames[i];
+ const repacks = searchRepacks(title);
+
+ if (title && repacks.length) {
+ const catalogueEntry = {
+ objectID,
+ title,
+ shop: "steam" as GameShop,
+ cover: getSteamAppAsset("library", objectID),
+ };
+
+ results.push({ ...catalogueEntry, repacks });
+ }
+ }
+ return results;
+};
+
+const getRecentlyAddedCatalogue = async (
+ resultSize: number,
+ requestSize: number,
+ getStringForLookup: GetStringForLookup
+): Promise => {
+ let lookupRequest = [];
+ const results: CatalogueEntry[] = [];
+
+ for (let i = 0; results.length < resultSize; i++) {
const stringForLookup = getStringForLookup(i);
if (!stringForLookup) {
@@ -41,9 +84,7 @@ const getCatalogue = async (
continue;
}
- lookupRequest.push(searchGames(stringForLookup));
-
- i++;
+ lookupRequest.push(searchGames({ query: stringForLookup }));
if (lookupRequest.length < requestSize) {
continue;
diff --git a/src/main/events/catalogue/get-games.ts b/src/main/events/catalogue/get-games.ts
new file mode 100644
index 00000000..b6a4b5bf
--- /dev/null
+++ b/src/main/events/catalogue/get-games.ts
@@ -0,0 +1,32 @@
+import type { CatalogueEntry } from "@types";
+
+import { registerEvent } from "../register-event";
+import { searchGames } from "../helpers/search-games";
+import slice from "lodash/slice";
+
+const getGames = async (
+ _event: Electron.IpcMainInvokeEvent,
+ take?: number,
+ prevCursor = 0
+): Promise<{ results: CatalogueEntry[]; cursor: number }> => {
+ let results: CatalogueEntry[] = [];
+ let i = 0;
+
+ const batchSize = 100;
+
+ while (results.length < take) {
+ const games = await searchGames({
+ take: batchSize,
+ skip: (i + prevCursor) * batchSize,
+ });
+ results = [...results, ...games.filter((game) => game.repacks.length)];
+ i++;
+ }
+
+ return { results: slice(results, 0, take), cursor: prevCursor + i };
+};
+
+registerEvent(getGames, {
+ name: "getGames",
+ memoize: true,
+});
diff --git a/src/main/events/catalogue/get-random-game.ts b/src/main/events/catalogue/get-random-game.ts
index 59463022..07a827dd 100644
--- a/src/main/events/catalogue/get-random-game.ts
+++ b/src/main/events/catalogue/get-random-game.ts
@@ -11,10 +11,10 @@ const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => {
const shuffledList = shuffle(games);
for (const game of shuffledList) {
- const repacks = searchRepacks(formatName(game));
+ const repacks = searchRepacks(formatName(game.title));
if (repacks.length) {
- const results = await searchGames(game);
+ const results = await searchGames({ query: game.title });
if (results.length) {
return results[0].objectID;
diff --git a/src/main/events/catalogue/search-games.ts b/src/main/events/catalogue/search-games.ts
index d12715c7..eb9c0640 100644
--- a/src/main/events/catalogue/search-games.ts
+++ b/src/main/events/catalogue/search-games.ts
@@ -2,7 +2,8 @@ import { registerEvent } from "../register-event";
import { searchGames } from "../helpers/search-games";
registerEvent(
- (_event: Electron.IpcMainInvokeEvent, query: string) => searchGames(query),
+ (_event: Electron.IpcMainInvokeEvent, query: string) =>
+ searchGames({ query, take: 12 }),
{
name: "searchGames",
memoize: true,
diff --git a/src/main/events/helpers/search-games.ts b/src/main/events/helpers/search-games.ts
index b0524364..9e454917 100644
--- a/src/main/events/helpers/search-games.ts
+++ b/src/main/events/helpers/search-games.ts
@@ -4,8 +4,10 @@ import orderBy from "lodash/orderBy";
import type { GameRepack, GameShop, CatalogueEntry } from "@types";
import { formatName, getSteamAppAsset, repackerFormatter } from "@main/helpers";
-import { searchSteamGame } from "@main/services";
import { stateManager } from "@main/state-manager";
+import { steamGameRepository } from "@main/repository";
+import { FindManyOptions, Like } from "typeorm";
+import { SteamGame } from "@main/entity";
const { Index } = flexSearch;
const repacksIndex = new Index();
@@ -32,33 +34,41 @@ export const searchRepacks = (title: string): GameRepack[] => {
);
};
-export const searchGames = async (query: string): Promise => {
- const formattedName = formatName(query);
+export interface SearchGamesArgs {
+ query?: string;
+ take?: number;
+ skip?: number;
+}
- const steamResults = await searchSteamGame(formattedName);
+export const searchGames = async ({
+ query,
+ take,
+ skip,
+}: SearchGamesArgs): Promise => {
+ const options: FindManyOptions = {};
- const results = steamResults.map((result) => ({
- objectID: result.objectID,
- title: result.name,
- shop: "steam" as GameShop,
- cover: getSteamAppAsset("library", result.objectID),
- }));
-
- const gamesIndex = new Index({
- tokenize: "full",
- });
-
- for (let i = 0; i < results.length; i++) {
- const game = results[i];
- gamesIndex.add(i, game.title);
+ if (query) {
+ options.where = {
+ name: query ? Like(`%${formatName(query)}%`) : undefined,
+ };
}
- const filteredResults = gamesIndex
- .search(query)
- .map((index) => results[index as number]);
+ const steamResults = await steamGameRepository.find({
+ ...options,
+ take,
+ skip,
+ order: { name: "ASC" },
+ });
+
+ const results = steamResults.map((result) => ({
+ objectID: String(result.id),
+ title: result.name,
+ shop: "steam" as GameShop,
+ cover: getSteamAppAsset("library", String(result.id)),
+ }));
return Promise.all(
- filteredResults.map(async (result) => ({
+ results.map(async (result) => ({
...result,
repacks: searchRepacks(result.title),
}))
diff --git a/src/main/events/index.ts b/src/main/events/index.ts
index 2fc97a20..866f8317 100644
--- a/src/main/events/index.ts
+++ b/src/main/events/index.ts
@@ -24,6 +24,7 @@ import "./library/remove-game";
import "./library/delete-game-folder";
import "./catalogue/get-random-game";
import "./catalogue/get-how-long-to-beat";
+import "./catalogue/get-games";
ipcMain.handle("ping", () => "pong");
ipcMain.handle("getVersion", () => app.getVersion());
diff --git a/src/main/repository.ts b/src/main/repository.ts
index 48c2e50d..f9edfa1c 100644
--- a/src/main/repository.ts
+++ b/src/main/repository.ts
@@ -7,6 +7,7 @@ import {
RepackerFriendlyName,
UserPreferences,
MigrationScript,
+ SteamGame,
} from "@main/entity";
export const gameRepository = dataSource.getRepository(Game);
@@ -25,3 +26,5 @@ export const gameShopCacheRepository = dataSource.getRepository(GameShopCache);
export const migrationScriptRepository =
dataSource.getRepository(MigrationScript);
+
+export const steamGameRepository = dataSource.getRepository(SteamGame);
diff --git a/src/main/services/process-watcher.ts b/src/main/services/process-watcher.ts
index 9f3dc4c4..b845ab25 100644
--- a/src/main/services/process-watcher.ts
+++ b/src/main/services/process-watcher.ts
@@ -46,7 +46,9 @@ export const startProcessWatcher = async () => {
const zero = gamesPlaytime.get(game.id);
const delta = performance.now() - zero;
- WindowManager.mainWindow.webContents.send("on-playtime", game.id);
+ if (WindowManager.mainWindow) {
+ WindowManager.mainWindow.webContents.send("on-playtime", game.id);
+ }
await gameRepository.update(game.id, {
playTimeInMilliseconds: game.playTimeInMilliseconds + delta,
@@ -68,7 +70,9 @@ export const startProcessWatcher = async () => {
if (gamesPlaytime.has(game.id)) {
gamesPlaytime.delete(game.id);
- WindowManager.mainWindow.webContents.send("on-game-close", game.id);
+ if (WindowManager.mainWindow) {
+ WindowManager.mainWindow.webContents.send("on-game-close", game.id);
+ }
}
await sleep(sleepTime);
diff --git a/src/main/services/steam-250.ts b/src/main/services/steam-250.ts
index 2c80f8a6..6447c226 100644
--- a/src/main/services/steam-250.ts
+++ b/src/main/services/steam-250.ts
@@ -1,26 +1,24 @@
import axios from "axios";
import { JSDOM } from "jsdom";
import shuffle from "lodash/shuffle";
-import { logger } from "./logger";
-const requestSteam250 = async (path: string) => {
- return axios
- .get(`https://steam250.com${path}`)
- .then((response) => response.data);
-};
+export const requestSteam250 = async (path: string) => {
+ return axios.get(`https://steam250.com${path}`).then((response) => {
+ const { window } = new JSDOM(response.data);
+ const { document } = window;
-export const getTrendingGames = async () => {
- const response = await requestSteam250("/365day").catch((err) => {
- logger.error(err.response, { method: "getTrendingGames" });
- throw new Error(err);
+ return Array.from(document.querySelectorAll(".appline .title a")).map(
+ ($title: HTMLAnchorElement) => {
+ const steamGameUrl = $title.href;
+ if (!steamGameUrl) return null;
+
+ return {
+ title: $title.textContent,
+ objectID: steamGameUrl.split("/").pop(),
+ };
+ }
+ );
});
-
- const { window } = new JSDOM(response);
- const { document } = window;
-
- return Array.from(document.querySelectorAll(".appline .title a")).map(
- ($title) => $title.textContent!
- );
};
const steam250Paths = [
@@ -32,15 +30,5 @@ const steam250Paths = [
export const getRandomSteam250List = async () => {
const [path] = shuffle(steam250Paths);
- const response = await requestSteam250(path).catch((err) => {
- logger.error(err.response, { method: "getRandomSteam250List" });
- throw new Error(err);
- });
-
- const { window } = new JSDOM(response);
- const { document } = window;
-
- return Array.from(document.querySelectorAll(".appline .title a")).map(
- ($title) => $title.textContent!
- );
+ return requestSteam250(path);
};
diff --git a/src/main/services/steam.ts b/src/main/services/steam.ts
index 652a3d17..0f2d4987 100644
--- a/src/main/services/steam.ts
+++ b/src/main/services/steam.ts
@@ -1,5 +1,4 @@
import axios from "axios";
-import { JSDOM } from "jsdom";
import type { SteamAppDetails } from "@types";
@@ -34,45 +33,3 @@ export const getSteamAppDetails = async (
throw new Error(err);
});
};
-
-export const searchSteamGame = async (term: string) => {
- const searchParams = new URLSearchParams({
- start: "0",
- count: "12",
- sort_by: "_ASC",
- /* Games only */
- category1: "998",
- term: term,
- });
-
- const response = await axios.get(
- `https://store.steampowered.com/search/results/?${searchParams.toString()}`
- );
-
- const { window } = new JSDOM(response.data);
- const { document } = window;
-
- const $anchors = Array.from(
- document.querySelectorAll("#search_resultsRows a")
- );
-
- return $anchors.reduce((prev, $a) => {
- const $title = $a.querySelector(".title");
- const objectIDs = $a.getAttribute("data-ds-appid");
-
- if (!objectIDs) return prev;
-
- const [objectID] = objectIDs.split(",");
-
- if (!objectID || prev.some((game) => game.objectID === objectID))
- return prev;
-
- return [
- ...prev,
- {
- name: $title.textContent,
- objectID,
- },
- ];
- }, []);
-};
diff --git a/src/main/services/update-resolver.ts b/src/main/services/update-resolver.ts
index 6051848d..535659df 100644
--- a/src/main/services/update-resolver.ts
+++ b/src/main/services/update-resolver.ts
@@ -4,11 +4,12 @@ import { app } from "electron";
import chunk from "lodash/chunk";
import { createDataSource, dataSource } from "@main/data-source";
-import { Repack, RepackerFriendlyName } from "@main/entity";
+import { Repack, RepackerFriendlyName, SteamGame } from "@main/entity";
import {
migrationScriptRepository,
repackRepository,
repackerFriendlyNameRepository,
+ steamGameRepository,
} from "@main/repository";
import { MigrationScript } from "@main/entity/migration-script.entity";
import { Like } from "typeorm";
@@ -115,11 +116,14 @@ export const resolveDatabaseUpdates = async () => {
const updateRepackRepository = updateDataSource.getRepository(Repack);
const updateRepackerFriendlyNameRepository =
updateDataSource.getRepository(RepackerFriendlyName);
+ const updateSteamGameRepository = updateDataSource.getRepository(SteamGame);
- const [updateRepacks, updateRepackerFriendlyNames] = await Promise.all([
- updateRepackRepository.find(),
- updateRepackerFriendlyNameRepository.find(),
- ]);
+ const [updateRepacks, updateSteamGames, updateRepackerFriendlyNames] =
+ await Promise.all([
+ updateRepackRepository.find(),
+ updateSteamGameRepository.find(),
+ updateRepackerFriendlyNameRepository.find(),
+ ]);
await runMigrationScripts(updateRepacks);
@@ -140,5 +144,16 @@ export const resolveDatabaseUpdates = async () => {
.orIgnore()
.execute();
}
+
+ const steamGamesChunks = chunk(updateSteamGames, 800);
+
+ for (const chunk of steamGamesChunks) {
+ await steamGameRepository
+ .createQueryBuilder()
+ .insert()
+ .values(chunk)
+ .orIgnore()
+ .execute();
+ }
});
};
diff --git a/src/preload.ts b/src/preload.ts
index 22413207..db765453 100644
--- a/src/preload.ts
+++ b/src/preload.ts
@@ -41,6 +41,8 @@ contextBridge.exposeInMainWorld("electron", {
getRandomGame: () => ipcRenderer.invoke("getRandomGame"),
getHowLongToBeat: (objectID: string, shop: GameShop, title: string) =>
ipcRenderer.invoke("getHowLongToBeat", objectID, shop, title),
+ getGames: (take?: number, prevCursor?: number) =>
+ ipcRenderer.invoke("getGames", take, prevCursor),
/* User preferences */
getUserPreferences: () => ipcRenderer.invoke("getUserPreferences"),
diff --git a/src/renderer/assets/lottie/downloading.json b/src/renderer/assets/lottie/downloading.json
index 650c3f1e..1ef705de 100644
--- a/src/renderer/assets/lottie/downloading.json
+++ b/src/renderer/assets/lottie/downloading.json
@@ -1 +1,843 @@
-{"nm":"Untitled file","ddd":0,"h":500,"w":500,"meta":{"g":"@lottiefiles/creator 1.10.0"},"layers":[{"ty":0,"nm":" Comp 1","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[450.00000000000006,264.25000000000006]},"s":{"a":0,"k":[56,56]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[252.00000000000006,147.98000000000005]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":900,"h":900,"refId":"precomp_Comp 1_8be7c981-be87-4e55-8cfd-5d57b5e9227d","ind":1}],"v":"5.7.0","fr":60,"op":204,"ip":0,"assets":[{"nm":"","id":"comp_0_f71d7b15-1869-49ee-ac6f-6aa64921e491","layers":[{"ty":4,"nm":"6","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-19,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-26,-25,0],"ix":2},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[0],"t":146},{"s":[-50],"t":206}],"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":50,"ix":1},"m":1}],"ind":1,"parent":3},{"ty":4,"nm":"5","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-19,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-26,-25,0],"ix":2},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[0],"t":146},{"s":[50],"t":206}],"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":50,"ix":1},"m":1}],"ind":2,"parent":3},{"ty":4,"nm":"4","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-191,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[450,-181,0],"t":146},{"s":[450,456,0],"t":206}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":"3","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-19,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-26,-25,0],"ix":2},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[-50],"t":60},{"s":[0],"t":120}],"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":50,"ix":1},"m":1}],"ind":4,"parent":6},{"ty":4,"nm":"2","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-19,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-26,-25,0],"ix":2},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[50],"t":60},{"s":[0],"t":120}],"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":50,"ix":1},"m":1}],"ind":5,"parent":6},{"ty":4,"nm":"1","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-26,-191,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.416,"y":1},"s":[450,456,0],"t":60},{"s":[450,1135,0],"t":120}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-26,-356],[-26,-26]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":51,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6}]},{"nm":"Comp 1","id":"precomp_Comp 1_8be7c981-be87-4e55-8cfd-5d57b5e9227d","fr":60,"layers":[{"ty":0,"nm":"seta","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":true,"ao":0,"ks":{"a":{"a":0,"k":[450,450,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[450,450,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"masksProperties":[{"nm":"Mask 1","inv":false,"mode":"a","x":{"a":0,"k":0,"ix":4},"o":{"a":0,"k":100,"ix":3},"pt":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[810,140],[90,140],[105,654],[113.5,733.5],[153,769],[756,770],[782,732],[796,683],[794.5,620.5]]},"ix":1}}],"w":900,"h":900,"refId":"comp_0_f71d7b15-1869-49ee-ac6f-6aa64921e491","ind":1},{"ty":4,"nm":"Shape Layer 1","sr":1,"st":0,"op":206,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-1.499,140,0],"ix":1},"s":{"a":0,"k":[73,73,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[448.501,710,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Shape 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-44.832,-7.482],[-234,0],[0,0]],"o":[[0,0],[264,0],[45.117,0],[0,0]],"v":[[-379.603,34.904],[-318.904,204],[318.904,204],[376.603,34.904]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":2,"ml":1,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":69,"ix":5},"c":{"a":0,"k":[0.7529,0.7373,0.7333],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2}]}]}
\ No newline at end of file
+{
+ "v": "4.8.0",
+ "meta": { "g": "LottieFiles AE 3.5.6", "a": "", "k": "", "d": "", "tc": "" },
+ "fr": 60,
+ "ip": 0,
+ "op": 120,
+ "w": 714,
+ "h": 678,
+ "nm": "Pre-comp 1",
+ "ddd": 0,
+ "assets": [
+ {
+ "id": "comp_0",
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "centro",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": 0.214, "y": 1 },
+ "o": { "x": 0.462, "y": 0 },
+ "t": 0,
+ "s": [450, 907, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ { "t": 30, "s": [450, 1513, 0] }
+ ],
+ "ix": 2
+ },
+ "a": { "a": 0, "k": [-348, -169, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-348, -420],
+ [-348, -30]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [-348, -164], "ix": 2 },
+ "a": { "a": 0, "k": [-348, -156], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "esquerdo",
+ "parent": 1,
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": [0.298], "y": [1] },
+ "o": { "x": [0.448], "y": [0] },
+ "t": 6,
+ "s": [43.5]
+ },
+ { "t": 36, "s": [-1] }
+ ],
+ "ix": 10
+ },
+ "p": { "a": 0, "k": [-348.39, -36.55, 0], "ix": 2 },
+ "a": { "a": 0, "k": [-2, 84, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-178, -102],
+ [-2, 84]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [0, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "tm",
+ "s": { "a": 0, "k": 8, "ix": 1 },
+ "e": { "a": 0, "k": 100, "ix": 2 },
+ "o": { "a": 0, "k": 0, "ix": 3 },
+ "m": 1,
+ "ix": 2,
+ "nm": "Trim Paths 1",
+ "mn": "ADBE Vector Filter - Trim",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "direito",
+ "parent": 1,
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": [0.265], "y": [1] },
+ "o": { "x": [0.53], "y": [0] },
+ "t": 6,
+ "s": [-43.5]
+ },
+ { "t": 36, "s": [1] }
+ ],
+ "ix": 10
+ },
+ "p": { "a": 0, "k": [-348.39, -36.55, 0], "ix": 2 },
+ "a": { "a": 0, "k": [-2, 84, 0], "ix": 1 },
+ "s": { "a": 0, "k": [-100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-178, -102],
+ [-2, 84]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "tm",
+ "s": { "a": 0, "k": 8, "ix": 1 },
+ "e": { "a": 0, "k": 100, "ix": 2 },
+ "o": { "a": 0, "k": 0, "ix": 3 },
+ "m": 1,
+ "ix": 2,
+ "nm": "Trim Paths 1",
+ "mn": "ADBE Vector Filter - Trim",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [0, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 4,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ }
+ ]
+ },
+ {
+ "id": "comp_1",
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "centro",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": 0.569, "y": 1 },
+ "o": { "x": 0.809, "y": 0 },
+ "t": 0,
+ "s": [450, 391, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ { "t": 30, "s": [450, 997, 0] }
+ ],
+ "ix": 2
+ },
+ "a": { "a": 0, "k": [-348, -169, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-348, -420],
+ [-348, -30]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [-348, -164], "ix": 2 },
+ "a": { "a": 0, "k": [-348, -156], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "esquerdo",
+ "parent": 1,
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": [0.552], "y": [1] },
+ "o": { "x": [0.702], "y": [0] },
+ "t": 0,
+ "s": [-1]
+ },
+ { "t": 30, "s": [43.5] }
+ ],
+ "ix": 10
+ },
+ "p": { "a": 0, "k": [-348.39, -36.55, 0], "ix": 2 },
+ "a": { "a": 0, "k": [-2, 84, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-178, -102],
+ [-2, 84]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [0, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ },
+ {
+ "ty": "tm",
+ "s": { "a": 0, "k": 8, "ix": 1 },
+ "e": { "a": 0, "k": 100, "ix": 2 },
+ "o": { "a": 0, "k": 0, "ix": 3 },
+ "m": 1,
+ "ix": 2,
+ "nm": "Trim Paths 1",
+ "mn": "ADBE Vector Filter - Trim",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "direito",
+ "parent": 1,
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": [0.47], "y": [1] },
+ "o": { "x": [0.735], "y": [0] },
+ "t": 0,
+ "s": [1]
+ },
+ { "t": 30, "s": [-43.5] }
+ ],
+ "ix": 10
+ },
+ "p": { "a": 0, "k": [-348.39, -36.55, 0], "ix": 2 },
+ "a": { "a": 0, "k": [-2, 84, 0], "ix": 1 },
+ "s": { "a": 0, "k": [-100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0]
+ ],
+ "v": [
+ [-178, -102],
+ [-2, 84]
+ ],
+ "c": false
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "tm",
+ "s": { "a": 0, "k": 8, "ix": 1 },
+ "e": { "a": 0, "k": 100, "ix": 2 },
+ "o": { "a": 0, "k": 0, "ix": 3 },
+ "m": 1,
+ "ix": 2,
+ "nm": "Trim Paths 1",
+ "mn": "ADBE Vector Filter - Trim",
+ "hd": false
+ },
+ {
+ "ty": "st",
+ "c": {
+ "a": 0,
+ "k": [0.854901960784, 0.858823529412, 0.882352941176, 1],
+ "ix": 3
+ },
+ "o": { "a": 0, "k": 100, "ix": 4 },
+ "w": { "a": 0, "k": 77, "ix": 5 },
+ "lc": 2,
+ "lj": 1,
+ "ml": 4,
+ "bm": 0,
+ "nm": "Stroke 1",
+ "mn": "ADBE Vector Graphic - Stroke",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [0, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Shape 1",
+ "np": 4,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ }
+ ]
+ }
+ ],
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 0,
+ "nm": "seta 2",
+ "refId": "comp_0",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": { "a": 0, "k": [357, -247, 0], "ix": 2 },
+ "a": { "a": 0, "k": [450, 960, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "w": 900,
+ "h": 1920,
+ "ip": 30,
+ "op": 120,
+ "st": 30,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 0,
+ "nm": "seta",
+ "refId": "comp_1",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": { "a": 0, "k": [357, 258, 0], "ix": 2 },
+ "a": { "a": 0, "k": [450, 345, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "w": 900,
+ "h": 690,
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "base Outlines",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": { "a": 0, "k": [357, 548.713, 0], "ix": 2 },
+ "a": { "a": 0, "k": [357.81, 129.934, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ind": 0,
+ "ty": "sh",
+ "ix": 1,
+ "ks": {
+ "a": 0,
+ "k": {
+ "i": [
+ [0, 0],
+ [0, 50.043],
+ [0, 0],
+ [-21.158, 0],
+ [0, -21.447],
+ [0, 0],
+ [-7.049, 0],
+ [0, 0],
+ [0, 7.149],
+ [0, 0],
+ [-21.158, 0],
+ [0, -21.447],
+ [0, 0],
+ [49.368, 0]
+ ],
+ "o": [
+ [-49.369, 0],
+ [0, 0],
+ [0, -21.447],
+ [21.158, 0],
+ [0, 0],
+ [0, 7.145],
+ [0, 0],
+ [7.053, 0],
+ [0, 0],
+ [0, -21.447],
+ [21.158, 0],
+ [0, 0],
+ [0, 50.043],
+ [0, 0]
+ ],
+ "v": [
+ [-268.169, 129.445],
+ [-357.559, 38.834],
+ [-357.559, -90.61],
+ [-319.249, -129.445],
+ [-280.939, -90.61],
+ [-280.939, 38.834],
+ [-268.169, 51.778],
+ [268.169, 51.778],
+ [280.939, 38.834],
+ [280.939, -90.61],
+ [319.249, -129.445],
+ [357.559, -90.61],
+ [357.559, 38.834],
+ [268.169, 129.445]
+ ],
+ "c": true
+ },
+ "ix": 2
+ },
+ "nm": "Path 1",
+ "mn": "ADBE Vector Shape - Group",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": {
+ "a": 0,
+ "k": [0.865977448108, 0.86824388691, 0.890449075138, 1],
+ "ix": 4
+ },
+ "o": { "a": 0, "k": 100, "ix": 5 },
+ "r": 1,
+ "bm": 0,
+ "nm": "Fill 1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [357.809, 129.695], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "Transform"
+ }
+ ],
+ "nm": "Group 1",
+ "np": 2,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 120,
+ "st": 0,
+ "bm": 0
+ }
+ ],
+ "markers": []
+}
diff --git a/src/renderer/assets/lottie/settings.json b/src/renderer/assets/lottie/settings.json
new file mode 100644
index 00000000..4d37e53a
--- /dev/null
+++ b/src/renderer/assets/lottie/settings.json
@@ -0,0 +1 @@
+{"v":"4.8.0","meta":{"g":"LottieFiles AE 3.5.6","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":120,"w":900,"h":900,"nm":"Pre-comp 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"estrela Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.933],"y":[0]},"t":0,"s":[0]},{"t":60,"s":[180]}],"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[308.5,333,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.011,34.469],[34.47,-0.012],[-0.011,-34.469],[-34.47,0.011]],"o":[[-0.012,-34.47],[-34.469,0.011],[0.012,34.47],[34.469,-0.012]],"v":[[62.333,0.005],[-0.101,-62.387],[-62.493,0.047],[-0.059,62.439]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-68.917],[68.916,0],[0,68.916],[-68.916,0]],"o":[[0,68.916],[-68.916,0],[0,-68.917],[68.916,0]],"v":[[124.725,0.005],[-0.059,124.789],[-124.843,0.005],[-0.059,-124.779]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[15.804,-1.372],[1.206,-4.575],[0,0],[18.676,-9.234],[6.656,-4.451],[23.252,6.364],[0,0],[0.832,-1.206],[6.697,-14.392],[-3.327,-3.328],[0,0],[1.331,-20.755],[-0.499,-8.062],[17.095,-16.887],[0,0],[-0.582,-1.289],[-9.151,-12.977],[-4.575,1.248],[0,0],[-17.345,-11.563],[-7.196,-3.578],[-6.114,-23.293],[0,0],[-1.497,-0.124],[-15.804,1.373],[-1.207,4.575],[0,0],[-18.676,9.234],[-6.655,4.451],[-23.251,-6.364],[0,0],[-0.832,1.206],[-6.739,14.392],[3.327,3.328],[0,0],[-1.331,20.755],[0.499,8.061],[-17.095,16.887],[0,0],[0.582,1.289],[9.144,12.981],[4.576,-1.248],[0,0],[17.345,11.563],[7.202,3.563],[6.114,23.293],[0,0],[1.498,0.125]],"o":[[-1.497,0.125],[0,0],[-6.114,23.334],[-7.196,3.578],[-17.345,11.563],[0,0],[-4.534,-1.248],[-9.151,12.978],[-0.582,1.289],[0,0],[17.095,16.887],[-0.5,8.062],[1.331,20.755],[0,0],[-3.369,3.328],[6.738,14.392],[0.832,1.248],[0,0],[23.293,-6.364],[6.697,4.451],[18.593,9.234],[0,0],[1.206,4.533],[15.804,1.373],[1.498,-0.124],[0,0],[6.114,-23.335],[7.196,-3.578],[17.345,-11.563],[0,0],[4.534,1.206],[9.151,-13.019],[0.582,-1.289],[0,0],[-17.095,-16.887],[0.499,-8.062],[-1.331,-20.756],[0,0],[3.369,-3.328],[-6.715,-14.39],[-0.832,-1.248],[0,0],[-23.293,6.364],[-6.676,-4.47],[-18.592,-9.234],[0,0],[-1.207,-4.575],[-15.804,-1.372]],"v":[[-23.81,-269.32],[-29.508,-263.247],[-41.529,-217.285],[-83.04,-167.829],[-103.838,-155.766],[-167.436,-144.536],[-213.314,-157.139],[-221.425,-155.267],[-245.259,-114.089],[-242.805,-106.185],[-208.905,-72.66],[-186.86,-12.099],[-186.86,12.109],[-208.905,72.671],[-242.805,106.195],[-245.259,114.099],[-221.425,155.236],[-213.314,157.15],[-167.477,144.547],[-103.838,155.777],[-82.999,167.839],[-41.529,217.295],[-29.508,263.257],[-23.81,269.329],[23.691,269.329],[29.39,263.257],[41.411,217.295],[82.922,167.839],[103.719,155.777],[167.317,144.547],[213.196,157.15],[221.307,155.277],[245.141,114.099],[242.687,106.195],[208.787,72.671],[186.742,12.109],[186.742,-12.098],[208.787,-72.66],[242.687,-106.185],[245.141,-114.089],[221.307,-155.225],[213.196,-157.139],[167.359,-144.536],[103.719,-155.766],[82.88,-167.828],[41.411,-217.285],[29.39,-263.247],[23.691,-269.32]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-9.816,0],[-9.697,-0.846],[-7.071,-26.828],[0,0],[-5.532,-2.745],[-8.902,-5.948],[-2.745,0.79],[0,0],[-17.802,-25.331],[-8.236,-17.72],[19.758,-19.508],[0,0],[-0.416,-6.114],[0.666,-10.69],[-2.079,-1.997],[0,0],[13.102,-28.076],[11.232,-15.979],[26.787,7.363],[0,0],[5.117,-3.411],[9.602,-4.741],[0.707,-2.745],[0,0],[30.904,-2.663],[19.401,1.705],[7.03,26.87],[0,0],[5.532,2.745],[8.891,5.969],[2.746,-0.79],[0,0],[17.802,25.332],[8.277,17.703],[-19.716,19.508],[0,0],[0.416,6.114],[-0.666,10.693],[2.08,1.997],[0,0],[-13.102,28.076],[-11.242,15.972],[-26.787,-7.363],[0,0],[-5.116,3.411],[-9.608,4.742],[-0.707,2.745],[0,0],[-30.905,2.704]],"o":[[9.733,0.014],[30.904,2.662],[0,0],[0.749,2.745],[9.609,4.742],[5.116,3.411],[0,0],[26.787,-7.321],[11.231,16.014],[13.102,28.076],[0,0],[-2.038,1.997],[0.666,10.69],[-0.416,6.114],[0,0],[19.758,19.508],[-8.252,17.703],[-17.802,25.373],[0,0],[-2.787,-0.79],[-8.902,5.952],[-5.532,2.745],[0,0],[-6.987,26.87],[-19.402,1.705],[-30.905,-2.663],[0,0],[-0.748,-2.745],[-9.611,-4.723],[-5.116,-3.411],[0,0],[-26.786,7.321],[-11.208,-16.008],[-13.102,-28.076],[0,0],[2.08,-1.997],[-0.666,-10.693],[0.416,-6.114],[0,0],[-19.716,-19.508],[8.241,-17.709],[17.802,-25.373],[0,0],[2.787,0.79],[8.901,-5.948],[5.532,-2.745],[0,0],[6.988,-26.87],[9.608,-0.832]],"v":[[-0.059,-332.751],[29.099,-331.462],[89.785,-279.095],[101.764,-233.049],[110.582,-223.733],[138.368,-207.676],[150.804,-204.723],[196.683,-217.327],[272.385,-191.123],[301.668,-140.459],[286.527,-61.805],[252.669,-28.28],[249.009,-16.051],[249.009,16.061],[252.669,28.289],[286.527,61.815],[301.668,140.47],[272.385,191.09],[196.683,217.295],[150.846,204.734],[138.367,207.687],[110.582,223.743],[101.806,233.059],[89.743,279.063],[29.099,331.473],[-29.217,331.473],[-89.862,279.063],[-101.883,233.059],[-110.701,223.743],[-138.486,207.687],[-150.923,204.734],[-196.802,217.336],[-272.504,191.132],[-301.786,140.47],[-286.687,61.815],[-252.788,28.289],[-249.127,16.061],[-249.127,-16.051],[-252.788,-28.28],[-286.687,-61.805],[-301.786,-140.459],[-272.504,-191.08],[-196.801,-217.285],[-150.964,-204.723],[-138.486,-207.676],[-110.701,-223.733],[-101.924,-233.049],[-89.862,-279.053],[-29.217,-331.504]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898460657456,0.889815326765,0.896223060758,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[308.077,333.249],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":8,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"estrela Outlines 2 Comp 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[450,450,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[1,1,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":30,"s":[80,80,100]},{"t":60,"s":[100,100,100]}],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[89.47,0],[0,-89.47],[-89.47,0],[0,89.47]],"o":[[-89.47,0],[0,89.47],[89.47,0],[0,-89.47]],"v":[[446,286],[284,448],[446,610],[608,448]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":900,"h":900,"ip":0,"op":120,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"estrela Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.84],"y":[-1.753]},"o":{"x":[0],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.361],"y":[1]},"o":{"x":[0],"y":[0]},"t":28,"s":[15]},{"t":60,"s":[180]}],"ix":10},"p":{"a":0,"k":[450,450,0],"ix":2},"a":{"a":0,"k":[308.5,333,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.011,34.469],[34.47,-0.012],[-0.011,-34.469],[-34.47,0.011]],"o":[[-0.012,-34.47],[-34.469,0.011],[0.012,34.47],[34.469,-0.012]],"v":[[62.333,0.005],[-0.101,-62.387],[-62.493,0.047],[-0.059,62.439]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-68.917],[68.916,0],[0,68.916],[-68.916,0]],"o":[[0,68.916],[-68.916,0],[0,-68.917],[68.916,0]],"v":[[124.725,0.005],[-0.059,124.789],[-124.843,0.005],[-0.059,-124.779]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[15.804,-1.372],[1.206,-4.575],[0,0],[18.676,-9.234],[6.656,-4.451],[23.252,6.364],[0,0],[0.832,-1.206],[6.697,-14.392],[-3.327,-3.328],[0,0],[1.331,-20.755],[-0.499,-8.062],[17.095,-16.887],[0,0],[-0.582,-1.289],[-9.151,-12.977],[-4.575,1.248],[0,0],[-17.345,-11.563],[-7.196,-3.578],[-6.114,-23.293],[0,0],[-1.497,-0.124],[-15.804,1.373],[-1.207,4.575],[0,0],[-18.676,9.234],[-6.655,4.451],[-23.251,-6.364],[0,0],[-0.832,1.206],[-6.739,14.392],[3.327,3.328],[0,0],[-1.331,20.755],[0.499,8.061],[-17.095,16.887],[0,0],[0.582,1.289],[9.144,12.981],[4.576,-1.248],[0,0],[17.345,11.563],[7.202,3.563],[6.114,23.293],[0,0],[1.498,0.125]],"o":[[-1.497,0.125],[0,0],[-6.114,23.334],[-7.196,3.578],[-17.345,11.563],[0,0],[-4.534,-1.248],[-9.151,12.978],[-0.582,1.289],[0,0],[17.095,16.887],[-0.5,8.062],[1.331,20.755],[0,0],[-3.369,3.328],[6.738,14.392],[0.832,1.248],[0,0],[23.293,-6.364],[6.697,4.451],[18.593,9.234],[0,0],[1.206,4.533],[15.804,1.373],[1.498,-0.124],[0,0],[6.114,-23.335],[7.196,-3.578],[17.345,-11.563],[0,0],[4.534,1.206],[9.151,-13.019],[0.582,-1.289],[0,0],[-17.095,-16.887],[0.499,-8.062],[-1.331,-20.756],[0,0],[3.369,-3.328],[-6.715,-14.39],[-0.832,-1.248],[0,0],[-23.293,6.364],[-6.676,-4.47],[-18.592,-9.234],[0,0],[-1.207,-4.575],[-15.804,-1.372]],"v":[[-23.81,-269.32],[-29.508,-263.247],[-41.529,-217.285],[-83.04,-167.829],[-103.838,-155.766],[-167.436,-144.536],[-213.314,-157.139],[-221.425,-155.267],[-245.259,-114.089],[-242.805,-106.185],[-208.905,-72.66],[-186.86,-12.099],[-186.86,12.109],[-208.905,72.671],[-242.805,106.195],[-245.259,114.099],[-221.425,155.236],[-213.314,157.15],[-167.477,144.547],[-103.838,155.777],[-82.999,167.839],[-41.529,217.295],[-29.508,263.257],[-23.81,269.329],[23.691,269.329],[29.39,263.257],[41.411,217.295],[82.922,167.839],[103.719,155.777],[167.317,144.547],[213.196,157.15],[221.307,155.277],[245.141,114.099],[242.687,106.195],[208.787,72.671],[186.742,12.109],[186.742,-12.098],[208.787,-72.66],[242.687,-106.185],[245.141,-114.089],[221.307,-155.225],[213.196,-157.139],[167.359,-144.536],[103.719,-155.766],[82.88,-167.828],[41.411,-217.285],[29.39,-263.247],[23.691,-269.32]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-9.816,0],[-9.697,-0.846],[-7.071,-26.828],[0,0],[-5.532,-2.745],[-8.902,-5.948],[-2.745,0.79],[0,0],[-17.802,-25.331],[-8.236,-17.72],[19.758,-19.508],[0,0],[-0.416,-6.114],[0.666,-10.69],[-2.079,-1.997],[0,0],[13.102,-28.076],[11.232,-15.979],[26.787,7.363],[0,0],[5.117,-3.411],[9.602,-4.741],[0.707,-2.745],[0,0],[30.904,-2.663],[19.401,1.705],[7.03,26.87],[0,0],[5.532,2.745],[8.891,5.969],[2.746,-0.79],[0,0],[17.802,25.332],[8.277,17.703],[-19.716,19.508],[0,0],[0.416,6.114],[-0.666,10.693],[2.08,1.997],[0,0],[-13.102,28.076],[-11.242,15.972],[-26.787,-7.363],[0,0],[-5.116,3.411],[-9.608,4.742],[-0.707,2.745],[0,0],[-30.905,2.704]],"o":[[9.733,0.014],[30.904,2.662],[0,0],[0.749,2.745],[9.609,4.742],[5.116,3.411],[0,0],[26.787,-7.321],[11.231,16.014],[13.102,28.076],[0,0],[-2.038,1.997],[0.666,10.69],[-0.416,6.114],[0,0],[19.758,19.508],[-8.252,17.703],[-17.802,25.373],[0,0],[-2.787,-0.79],[-8.902,5.952],[-5.532,2.745],[0,0],[-6.987,26.87],[-19.402,1.705],[-30.905,-2.663],[0,0],[-0.748,-2.745],[-9.611,-4.723],[-5.116,-3.411],[0,0],[-26.786,7.321],[-11.208,-16.008],[-13.102,-28.076],[0,0],[2.08,-1.997],[-0.666,-10.693],[0.416,-6.114],[0,0],[-19.716,-19.508],[8.241,-17.709],[17.802,-25.373],[0,0],[2.787,0.79],[8.901,-5.948],[5.532,-2.745],[0,0],[6.988,-26.87],[9.608,-0.832]],"v":[[-0.059,-332.751],[29.099,-331.462],[89.785,-279.095],[101.764,-233.049],[110.582,-223.733],[138.368,-207.676],[150.804,-204.723],[196.683,-217.327],[272.385,-191.123],[301.668,-140.459],[286.527,-61.805],[252.669,-28.28],[249.009,-16.051],[249.009,16.061],[252.669,28.289],[286.527,61.815],[301.668,140.47],[272.385,191.09],[196.683,217.295],[150.846,204.734],[138.367,207.687],[110.582,223.743],[101.806,233.059],[89.743,279.063],[29.099,331.473],[-29.217,331.473],[-89.862,279.063],[-101.883,233.059],[-110.701,223.743],[-138.486,207.687],[-150.923,204.734],[-196.802,217.336],[-272.504,191.132],[-301.786,140.47],[-286.687,61.815],[-252.788,28.289],[-249.127,16.061],[-249.127,-16.051],[-252.788,-28.28],[-286.687,-61.805],[-301.786,-140.459],[-272.504,-191.08],[-196.801,-217.285],[-150.964,-204.723],[-138.486,-207.676],[-110.701,-223.733],[-101.924,-233.049],[-89.862,-279.053],[-29.217,-331.504]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.898460657456,0.889815326765,0.896223060758,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[308.077,333.249],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":8,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":120,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/src/renderer/components/header/header.tsx b/src/renderer/components/header/header.tsx
index f93bd9cc..ea363c00 100644
--- a/src/renderer/components/header/header.tsx
+++ b/src/renderer/components/header/header.tsx
@@ -15,7 +15,8 @@ export interface HeaderProps {
}
const pathTitle: Record = {
- "/": "catalogue",
+ "/": "home",
+ "/catalogue": "catalogue",
"/downloads": "downloads",
"/settings": "settings",
};
diff --git a/src/renderer/components/hero/hero.css.ts b/src/renderer/components/hero/hero.css.ts
index 8e7ae7dd..34d3fa76 100644
--- a/src/renderer/components/hero/hero.css.ts
+++ b/src/renderer/components/hero/hero.css.ts
@@ -30,7 +30,7 @@ export const heroMedia = style({
transition: "all ease 0.2s",
selectors: {
[`${hero}:hover &`]: {
- transform: "scale(1.05)",
+ transform: "scale(1.02)",
},
},
});
diff --git a/src/renderer/components/sidebar/download-icon.css.ts b/src/renderer/components/sidebar/download-icon.css.ts
deleted file mode 100644
index be7bbea8..00000000
--- a/src/renderer/components/sidebar/download-icon.css.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { style } from "@vanilla-extract/css";
-
-export const downloadIconWrapper = style({
- width: "16px",
- height: "12px",
- position: "relative",
-});
-
-export const downloadIcon = style({
- width: "24px",
- position: "absolute",
- left: "-4px",
- top: "-9px",
-});
diff --git a/src/renderer/components/sidebar/download-icon.tsx b/src/renderer/components/sidebar/download-icon.tsx
index 4a5e3952..474c631d 100644
--- a/src/renderer/components/sidebar/download-icon.tsx
+++ b/src/renderer/components/sidebar/download-icon.tsx
@@ -2,7 +2,6 @@ import { useRef } from "react";
import Lottie from "lottie-react";
import downloadingAnimation from "@renderer/assets/lottie/downloading.json";
-import * as styles from "./download-icon.css";
export interface DownloadIconProps {
isDownloading: boolean;
@@ -12,15 +11,12 @@ export function DownloadIcon({ isDownloading }: DownloadIconProps) {
const lottieRef = useRef(null);
return (
-
- lottieRef.current?.setSpeed(1.7)}
- />
-
+
);
}
diff --git a/src/renderer/components/sidebar/routes.tsx b/src/renderer/components/sidebar/routes.tsx
index 0bdbd8b5..8f54bac0 100644
--- a/src/renderer/components/sidebar/routes.tsx
+++ b/src/renderer/components/sidebar/routes.tsx
@@ -1,11 +1,16 @@
-import { GearIcon, ListUnorderedIcon } from "@primer/octicons-react";
+import { AppsIcon, GearIcon, HomeIcon } from "@primer/octicons-react";
import { DownloadIcon } from "./download-icon";
export const routes = [
{
path: "/",
+ nameKey: "home",
+ render: () => ,
+ },
+ {
+ path: "/catalogue",
nameKey: "catalogue",
- render: () => ,
+ render: () => ,
},
{
path: "/downloads",
diff --git a/src/renderer/declaration.d.ts b/src/renderer/declaration.d.ts
index 15f0b07d..3db1a7c0 100644
--- a/src/renderer/declaration.d.ts
+++ b/src/renderer/declaration.d.ts
@@ -45,6 +45,10 @@ declare global {
shop: GameShop,
title: string
) => Promise;
+ getGames: (
+ take?: number,
+ prevCursor?: number
+ ) => Promise<{ results: CatalogueEntry[]; cursor: number }>;
/* Library */
addGameToLibrary: (
diff --git a/src/renderer/features/window-slice.ts b/src/renderer/features/window-slice.ts
index 09578609..4d8b5fa7 100644
--- a/src/renderer/features/window-slice.ts
+++ b/src/renderer/features/window-slice.ts
@@ -3,13 +3,11 @@ import type { PayloadAction } from "@reduxjs/toolkit";
interface WindowState {
draggingDisabled: boolean;
- scrollingDisabled: boolean;
headerTitle: string;
}
const initialState: WindowState = {
draggingDisabled: false,
- scrollingDisabled: false,
headerTitle: "",
};
@@ -20,14 +18,10 @@ export const windowSlice = createSlice({
toggleDragging: (state, action: PayloadAction) => {
state.draggingDisabled = action.payload;
},
- toggleScrolling: (state, action: PayloadAction) => {
- state.scrollingDisabled = action.payload;
- },
setHeaderTitle: (state, action: PayloadAction) => {
state.headerTitle = action.payload;
},
},
});
-export const { toggleDragging, toggleScrolling, setHeaderTitle } =
- windowSlice.actions;
+export const { toggleDragging, setHeaderTitle } = windowSlice.actions;
diff --git a/src/renderer/main.tsx b/src/renderer/main.tsx
index 691deed1..7a2479d9 100644
--- a/src/renderer/main.tsx
+++ b/src/renderer/main.tsx
@@ -19,11 +19,12 @@ import "react-loading-skeleton/dist/skeleton.css";
import { App } from "./app";
import {
- Catalogue,
+ Home,
Downloads,
GameDetails,
SearchResults,
Settings,
+ Catalogue,
} from "@renderer/pages";
import { store } from "./store";
@@ -41,6 +42,10 @@ const router = createHashRouter([
children: [
{
path: "/",
+ Component: Home,
+ },
+ {
+ path: "/catalogue",
Component: Catalogue,
},
{
diff --git a/src/renderer/pages/catalogue/catalogue.tsx b/src/renderer/pages/catalogue/catalogue.tsx
index e0087d48..777dc186 100644
--- a/src/renderer/pages/catalogue/catalogue.tsx
+++ b/src/renderer/pages/catalogue/catalogue.tsx
@@ -1,141 +1,113 @@
-import { useCallback, useEffect, useRef, useState } from "react";
-import { useTranslation } from "react-i18next";
-import { useNavigate, useSearchParams } from "react-router-dom";
-
+import { Button, GameCard } from "@renderer/components";
import Skeleton, { SkeletonTheme } from "react-loading-skeleton";
+import { useTranslation } from "react-i18next";
-import { Button, GameCard, Hero } from "@renderer/components";
-import type { CatalogueCategory, CatalogueEntry } from "@types";
+import type { CatalogueEntry } from "@types";
-import starsAnimation from "@renderer/assets/lottie/stars.json";
-
-import * as styles from "./catalogue.css";
+import { clearSearch } from "@renderer/features";
+import { useAppDispatch } from "@renderer/hooks";
import { vars } from "@renderer/theme.css";
-import Lottie from "lottie-react";
-
-const categories: CatalogueCategory[] = ["trending", "recently_added"];
+import { useEffect, useRef, useState } from "react";
+import { useNavigate, useSearchParams } from "react-router-dom";
+import * as styles from "../home/home.css";
+import { ArrowLeftIcon, ArrowRightIcon } from "@primer/octicons-react";
export function Catalogue() {
+ const dispatch = useAppDispatch();
+
const { t } = useTranslation("catalogue");
+
+ const [searchResults, setSearchResults] = useState([]);
+ const [isLoading, setIsLoading] = useState(false);
+
+ const contentRef = useRef(null);
+
+ const cursorRef = useRef(0);
+
const navigate = useNavigate();
- const [isLoading, setIsLoading] = useState(false);
- const [isLoadingRandomGame, setIsLoadingRandomGame] = useState(false);
- const randomGameObjectID = useRef(null);
-
const [searchParams] = useSearchParams();
+ const cursor = Number(searchParams.get("cursor") ?? 0);
- const [catalogue, setCatalogue] = useState<
- Record
- >({
- trending: [],
- recently_added: [],
- });
-
- const getCatalogue = useCallback((category: CatalogueCategory) => {
- setIsLoading(true);
-
- window.electron
- .getCatalogue(category)
- .then((catalogue) => {
- setCatalogue((prev) => ({ ...prev, [category]: catalogue }));
- })
- .catch(() => {})
- .finally(() => {
- setIsLoading(false);
- });
- }, []);
-
- const currentCategory = searchParams.get("category") || categories[0];
-
- const handleSelectCategory = (category: CatalogueCategory) => {
- if (category !== currentCategory) {
- getCatalogue(category);
- navigate(`/?category=${category}`, { replace: true });
- }
- };
-
- const getRandomGame = useCallback(() => {
- setIsLoadingRandomGame(true);
-
- window.electron
- .getRandomGame()
- .then((objectID) => {
- randomGameObjectID.current = objectID;
- })
- .finally(() => {
- setIsLoadingRandomGame(false);
- });
- }, []);
-
- const handleRandomizerClick = () => {
- const searchParams = new URLSearchParams({
- fromRandomizer: "1",
- });
-
- navigate(
- `/game/steam/${randomGameObjectID.current}?${searchParams.toString()}`
- );
+ const handleGameClick = (game: CatalogueEntry) => {
+ dispatch(clearSearch());
+ navigate(`/game/${game.shop}/${game.objectID}`);
};
useEffect(() => {
+ if (contentRef.current) contentRef.current.scrollTop = 0;
setIsLoading(true);
- getCatalogue(currentCategory as CatalogueCategory);
- getRandomGame();
- }, [getCatalogue, currentCategory, getRandomGame]);
+ setSearchResults([]);
+
+ window.electron
+ .getGames(24, cursor)
+ .then(({ results, cursor }) => {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ cursorRef.current = cursor;
+ setSearchResults(results);
+ resolve(null);
+ }, 500);
+ });
+ })
+ .finally(() => {
+ setIsLoading(false);
+ });
+ }, [dispatch, cursor, searchParams]);
+
+ const handleNextPage = () => {
+ const params = new URLSearchParams({
+ cursor: cursorRef.current.toString(),
+ });
+
+ navigate(`/catalogue?${params.toString()}`);
+ };
return (
-
- {t("featured")}
+
+
-
+
+
-
-
- {categories.map((category) => (
-
+
+
+ {isLoading &&
+ Array.from({ length: 12 }).map((_, index) => (
+
))}
-
-
-
-
- {t(currentCategory)}
-
-
- {isLoading
- ? Array.from({ length: 12 }).map((_, index) => (
-
- ))
- : catalogue[currentCategory as CatalogueCategory].map((result) => (
+ {!isLoading && searchResults.length > 0 && (
+ <>
+ {searchResults.map((game) => (
- navigate(`/game/${result.shop}/${result.objectID}`)
- }
+ key={game.objectID}
+ game={game}
+ onClick={() => handleGameClick(game)}
+ disabled={!game.repacks.length}
/>
))}
+ >
+ )}
diff --git a/src/renderer/pages/game-details/game-details.css.ts b/src/renderer/pages/game-details/game-details.css.ts
index 9c033600..5d2350e6 100644
--- a/src/renderer/pages/game-details/game-details.css.ts
+++ b/src/renderer/pages/game-details/game-details.css.ts
@@ -217,16 +217,19 @@ export const howLongToBeatCategorySkeleton = style({
export const randomizerButton = style({
animationName: slideIn,
- animationDuration: "0.4s",
+ animationDuration: "0.2s",
position: "fixed",
- bottom: 26 + 16,
+ /* Bottom panel height + spacing */
+ bottom: `${26 + SPACING_UNIT * 2}px`,
+ /* Scroll bar + spacing */
+ right: `${9 + SPACING_UNIT * 2}px`,
boxShadow: "rgba(255, 255, 255, 0.1) 0px 0px 10px 3px",
- border: `solid 1px ${vars.color.borderColor}`,
- backgroundColor: vars.color.darkBackground,
+ border: `solid 2px ${vars.color.borderColor}`,
+ backgroundColor: vars.color.background,
":hover": {
backgroundColor: vars.color.background,
boxShadow: "rgba(255, 255, 255, 0.1) 0px 0px 15px 5px",
- opacity: 1,
+ opacity: "1",
},
":active": {
transform: "scale(0.98)",
diff --git a/src/renderer/pages/game-details/hero-panel.tsx b/src/renderer/pages/game-details/hero-panel.tsx
index 54b913f7..7cff3b37 100644
--- a/src/renderer/pages/game-details/hero-panel.tsx
+++ b/src/renderer/pages/game-details/hero-panel.tsx
@@ -104,7 +104,9 @@ export function HeroPanel({
window.electron
.showOpenDialog({
properties: ["openFile"],
- filters: [{ name: "Game executable (.exe)", extensions: ["exe"] }],
+ filters: [
+ { name: "Game executable (.exe)", extensions: ["exe", "app"] },
+ ],
})
.then(({ filePaths }) => {
if (filePaths && filePaths.length > 0) {
@@ -209,11 +211,15 @@ export function HeroPanel({
})}
-
- {t("last_time_played", {
- period: lastTimePlayed,
- })}
-
+ {isGamePlaying ? (
+ {t("playing_now")}
+ ) : (
+
+ {t("last_time_played", {
+ period: lastTimePlayed,
+ })}
+
+ )}
>
);
}
diff --git a/src/renderer/pages/catalogue/catalogue-home.css.ts b/src/renderer/pages/home/catalogue-home.css.ts
similarity index 74%
rename from src/renderer/pages/catalogue/catalogue-home.css.ts
rename to src/renderer/pages/home/catalogue-home.css.ts
index 40d76b82..14db70f4 100644
--- a/src/renderer/pages/catalogue/catalogue-home.css.ts
+++ b/src/renderer/pages/home/catalogue-home.css.ts
@@ -1,6 +1,6 @@
import { style } from "@vanilla-extract/css";
import { recipe } from "@vanilla-extract/recipes";
-import { SPACING_UNIT, vars } from "../../theme.css";
+import { SPACING_UNIT } from "@renderer/theme.css";
export const catalogueCategories = style({
display: "flex",
@@ -23,12 +23,4 @@ export const cards = recipe({
gap: `${SPACING_UNIT * 2}px`,
transition: "all ease 0.2s",
},
- variants: {
- searching: {
- true: {
- pointerEvents: "none",
- opacity: vars.opacity.disabled,
- },
- },
- },
});
diff --git a/src/renderer/pages/catalogue/catalogue.css.ts b/src/renderer/pages/home/home.css.ts
similarity index 53%
rename from src/renderer/pages/catalogue/catalogue.css.ts
rename to src/renderer/pages/home/home.css.ts
index 6afd61f9..e8e9f811 100644
--- a/src/renderer/pages/catalogue/catalogue.css.ts
+++ b/src/renderer/pages/home/home.css.ts
@@ -1,13 +1,12 @@
import { style } from "@vanilla-extract/css";
-import { recipe } from "@vanilla-extract/recipes";
-import { SPACING_UNIT, vars } from "../../theme.css";
+import { SPACING_UNIT, vars } from "@renderer/theme.css";
-export const catalogueCategories = style({
+export const homeCategories = style({
display: "flex",
gap: `${SPACING_UNIT}px`,
});
-export const catalogueHeader = style({
+export const homeHeader = style({
display: "flex",
gap: `${SPACING_UNIT}px`,
justifyContent: "space-between",
@@ -24,30 +23,20 @@ export const content = style({
overflowY: "auto",
});
-export const cards = recipe({
- base: {
- display: "grid",
- gridTemplateColumns: "repeat(1, 1fr)",
- gap: `${SPACING_UNIT * 2}px`,
- transition: "all ease 0.2s",
- "@media": {
- "(min-width: 768px)": {
- gridTemplateColumns: "repeat(2, 1fr)",
- },
- "(min-width: 1250px)": {
- gridTemplateColumns: "repeat(3, 1fr)",
- },
- "(min-width: 1600px)": {
- gridTemplateColumns: "repeat(4, 1fr)",
- },
+export const cards = style({
+ display: "grid",
+ gridTemplateColumns: "repeat(1, 1fr)",
+ gap: `${SPACING_UNIT * 2}px`,
+ transition: "all ease 0.2s",
+ "@media": {
+ "(min-width: 768px)": {
+ gridTemplateColumns: "repeat(2, 1fr)",
},
- },
- variants: {
- searching: {
- true: {
- pointerEvents: "none",
- opacity: vars.opacity.disabled,
- },
+ "(min-width: 1250px)": {
+ gridTemplateColumns: "repeat(3, 1fr)",
+ },
+ "(min-width: 1600px)": {
+ gridTemplateColumns: "repeat(4, 1fr)",
},
},
});
diff --git a/src/renderer/pages/home/home.tsx b/src/renderer/pages/home/home.tsx
new file mode 100644
index 00000000..ed650245
--- /dev/null
+++ b/src/renderer/pages/home/home.tsx
@@ -0,0 +1,143 @@
+import { useCallback, useEffect, useRef, useState } from "react";
+import { useTranslation } from "react-i18next";
+import { useNavigate, useSearchParams } from "react-router-dom";
+
+import Skeleton, { SkeletonTheme } from "react-loading-skeleton";
+
+import { Button, GameCard, Hero } from "@renderer/components";
+import type { CatalogueCategory, CatalogueEntry } from "@types";
+
+import starsAnimation from "@renderer/assets/lottie/stars.json";
+
+import * as styles from "./home.css";
+import { vars } from "@renderer/theme.css";
+import Lottie from "lottie-react";
+
+const categories: CatalogueCategory[] = ["trending", "recently_added"];
+
+export function Home() {
+ const { t } = useTranslation("home");
+ const navigate = useNavigate();
+
+ const [isLoading, setIsLoading] = useState(false);
+ const [isLoadingRandomGame, setIsLoadingRandomGame] = useState(false);
+ const randomGameObjectID = useRef(null);
+
+ const [searchParams] = useSearchParams();
+
+ const [catalogue, setCatalogue] = useState<
+ Record
+ >({
+ trending: [],
+ recently_added: [],
+ });
+
+ const getCatalogue = useCallback((category: CatalogueCategory) => {
+ setIsLoading(true);
+
+ window.electron
+ .getCatalogue(category)
+ .then((catalogue) => {
+ setCatalogue((prev) => ({ ...prev, [category]: catalogue }));
+ })
+ .catch(() => {})
+ .finally(() => {
+ setIsLoading(false);
+ });
+ }, []);
+
+ const currentCategory = searchParams.get("category") || categories[0];
+
+ const handleSelectCategory = (category: CatalogueCategory) => {
+ if (category !== currentCategory) {
+ getCatalogue(category);
+ navigate(`/?category=${category}`, { replace: true });
+ }
+ };
+
+ const getRandomGame = useCallback(() => {
+ setIsLoadingRandomGame(true);
+
+ window.electron
+ .getRandomGame()
+ .then((objectID) => {
+ randomGameObjectID.current = objectID;
+ })
+ .finally(() => {
+ setIsLoadingRandomGame(false);
+ });
+ }, []);
+
+ const handleRandomizerClick = () => {
+ const searchParams = new URLSearchParams({
+ fromRandomizer: "1",
+ });
+
+ navigate(
+ `/game/steam/${randomGameObjectID.current}?${searchParams.toString()}`
+ );
+ };
+
+ useEffect(() => {
+ setIsLoading(true);
+ getCatalogue(currentCategory as CatalogueCategory);
+ getRandomGame();
+ }, [getCatalogue, currentCategory, getRandomGame]);
+
+ return (
+
+
+ {t("featured")}
+
+
+
+
+
+ {categories.map((category) => (
+
+ ))}
+
+
+
+
+
+ {t(currentCategory)}
+
+
+ {isLoading
+ ? Array.from({ length: 12 }).map((_, index) => (
+
+ ))
+ : catalogue[currentCategory as CatalogueCategory].map((result) => (
+
+ navigate(`/game/${result.shop}/${result.objectID}`)
+ }
+ />
+ ))}
+
+
+
+ );
+}
diff --git a/src/renderer/pages/catalogue/search-results.tsx b/src/renderer/pages/home/search-results.tsx
similarity index 94%
rename from src/renderer/pages/catalogue/search-results.tsx
rename to src/renderer/pages/home/search-results.tsx
index 75d3e1d9..40e55a82 100644
--- a/src/renderer/pages/catalogue/search-results.tsx
+++ b/src/renderer/pages/home/search-results.tsx
@@ -13,12 +13,12 @@ import { vars } from "@renderer/theme.css";
import { useEffect, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { useNavigate, useSearchParams } from "react-router-dom";
-import * as styles from "./catalogue.css";
+import * as styles from "./home.css";
export function SearchResults() {
const dispatch = useAppDispatch();
- const { t } = useTranslation("catalogue");
+ const { t } = useTranslation("home");
const [searchParams] = useSearchParams();
const [searchResults, setSearchResults] = useState([]);
@@ -54,7 +54,7 @@ export function SearchResults() {
return (
-
+
{isLoading &&
Array.from({ length: 12 }).map((_, index) => (
diff --git a/src/renderer/pages/index.ts b/src/renderer/pages/index.ts
index c6fe4600..fd883fbf 100644
--- a/src/renderer/pages/index.ts
+++ b/src/renderer/pages/index.ts
@@ -1,5 +1,6 @@
-export * from "./catalogue/catalogue";
+export * from "./home/home";
export * from "./game-details/game-details";
export * from "./downloads/downloads";
-export * from "./catalogue/search-results";
+export * from "./home/search-results";
export * from "./settings/settings";
+export * from "./catalogue/catalogue";
diff --git a/yarn.lock b/yarn.lock
index 4d8409d1..9c1d19fd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15,6 +15,13 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
+"@babel/code-frame@7.12.11":
+ version "7.12.11"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
+ integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
version "7.24.2"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz"
@@ -23,19 +30,12 @@
"@babel/highlight" "^7.24.2"
picocolors "^1.0.0"
-"@babel/code-frame@7.12.11":
- version "7.12.11"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
- integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
- dependencies:
- "@babel/highlight" "^7.10.4"
-
"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4":
version "7.24.4"
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz"
integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
-"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.18.5", "@babel/core@^7.21.3", "@babel/core@^7.23.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0":
+"@babel/core@^7.18.5", "@babel/core@^7.21.3", "@babel/core@^7.23.9":
version "7.24.4"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz"
integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==
@@ -1050,17 +1050,12 @@
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
-"@colors/colors@^1.6.0":
- version "1.6.0"
- resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz"
- integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==
-
"@colors/colors@1.5.0":
version "1.5.0"
resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
-"@colors/colors@1.6.0":
+"@colors/colors@1.6.0", "@colors/colors@^1.6.0":
version "1.6.0"
resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz"
integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==
@@ -1402,7 +1397,7 @@
glob "^7.1.6"
minimatch "^3.0.4"
-"@electron/fuses@^1.7.0", "@electron/fuses@>=1.0.0":
+"@electron/fuses@^1.7.0":
version "1.8.0"
resolved "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz"
integrity sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==
@@ -1536,6 +1531,226 @@
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz"
integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==
+"@esbuild/aix-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f"
+ integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==
+
+"@esbuild/aix-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
+ integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
+
+"@esbuild/android-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4"
+ integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==
+
+"@esbuild/android-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
+ integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
+
+"@esbuild/android-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824"
+ integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==
+
+"@esbuild/android-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
+ integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
+
+"@esbuild/android-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d"
+ integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==
+
+"@esbuild/android-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
+ integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
+
+"@esbuild/darwin-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e"
+ integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==
+
+"@esbuild/darwin-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
+ integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
+
+"@esbuild/darwin-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd"
+ integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==
+
+"@esbuild/darwin-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
+ integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
+
+"@esbuild/freebsd-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487"
+ integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==
+
+"@esbuild/freebsd-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
+ integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
+
+"@esbuild/freebsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c"
+ integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==
+
+"@esbuild/freebsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
+ integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
+
+"@esbuild/linux-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b"
+ integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==
+
+"@esbuild/linux-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
+ integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
+
+"@esbuild/linux-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef"
+ integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==
+
+"@esbuild/linux-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
+ integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
+
+"@esbuild/linux-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601"
+ integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==
+
+"@esbuild/linux-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
+ integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
+
+"@esbuild/linux-loong64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299"
+ integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==
+
+"@esbuild/linux-loong64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
+ integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
+
+"@esbuild/linux-mips64el@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec"
+ integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==
+
+"@esbuild/linux-mips64el@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
+ integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
+
+"@esbuild/linux-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8"
+ integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==
+
+"@esbuild/linux-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
+ integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
+
+"@esbuild/linux-riscv64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf"
+ integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==
+
+"@esbuild/linux-riscv64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
+ integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
+
+"@esbuild/linux-s390x@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8"
+ integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==
+
+"@esbuild/linux-s390x@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
+ integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
+
+"@esbuild/linux-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78"
+ integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==
+
+"@esbuild/linux-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
+ integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
+
+"@esbuild/netbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b"
+ integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==
+
+"@esbuild/netbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
+ integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
+
+"@esbuild/openbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0"
+ integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==
+
+"@esbuild/openbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
+ integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
+
+"@esbuild/sunos-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30"
+ integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==
+
+"@esbuild/sunos-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
+ integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
+
+"@esbuild/win32-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae"
+ integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==
+
+"@esbuild/win32-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
+ integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
+
+"@esbuild/win32-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67"
+ integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==
+
+"@esbuild/win32-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
+ integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
+
"@esbuild/win32-x64@0.19.12":
version "0.19.12"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz"
@@ -1685,14 +1900,6 @@
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
- version "0.3.25"
- resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
- integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
- dependencies:
- "@jridgewell/resolve-uri" "^3.1.0"
- "@jridgewell/sourcemap-codec" "^1.4.14"
-
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
@@ -1701,11 +1908,26 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
+"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
"@leichtgewicht/ip-codec@^2.0.1":
version "2.0.5"
resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz"
integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==
+"@malept/cross-spawn-promise@^1.0.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d"
+ integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==
+ dependencies:
+ cross-spawn "^7.0.1"
+
"@malept/cross-spawn-promise@^2.0.0":
version "2.0.0"
resolved "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz"
@@ -1772,7 +1994,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -1824,7 +2046,7 @@
dependencies:
"@octokit/types" "^6.0.3"
-"@octokit/core@^3.2.4", "@octokit/core@^3.5.1", "@octokit/core@>=2", "@octokit/core@>=3":
+"@octokit/core@^3.2.4", "@octokit/core@^3.5.1":
version "3.6.0"
resolved "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz"
integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==
@@ -1951,6 +2173,81 @@
resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz"
integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==
+"@rollup/rollup-android-arm-eabi@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz#bddf05c3387d02fac04b6b86b3a779337edfed75"
+ integrity sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==
+
+"@rollup/rollup-android-arm64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz#b26bd09de58704c0a45e3375b76796f6eda825e4"
+ integrity sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==
+
+"@rollup/rollup-darwin-arm64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz#c5f3fd1aa285b6d33dda6e3f3ca395f8c37fd5ca"
+ integrity sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==
+
+"@rollup/rollup-darwin-x64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz#8e4673734d7dc9d68f6d48e81246055cda0e840f"
+ integrity sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz#53ed38eb13b58ababdb55a7f66f0538a7f85dcba"
+ integrity sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==
+
+"@rollup/rollup-linux-arm-musleabihf@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz#0706ee38330e267a5c9326956820f009cfb21fcd"
+ integrity sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==
+
+"@rollup/rollup-linux-arm64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz#426fce7b8b242ac5abd48a10a5020f5a468c6cb4"
+ integrity sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==
+
+"@rollup/rollup-linux-arm64-musl@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz#65bf944530d759b50d7ffd00dfbdf4125a43406f"
+ integrity sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz#494ba3b31095e9a45df9c3f646d21400fb631a95"
+ integrity sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz#8b88ed0a40724cce04aa15374ebe5ba4092d679f"
+ integrity sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==
+
+"@rollup/rollup-linux-s390x-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz#09c9e5ec57a0f6ec3551272c860bb9a04b96d70f"
+ integrity sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==
+
+"@rollup/rollup-linux-x64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz#197f27fd481ad9c861021d5cbbf21793922a631c"
+ integrity sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==
+
+"@rollup/rollup-linux-x64-musl@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz#5cc0522f4942f2df625e9bfb6fb02c6580ffbce6"
+ integrity sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==
+
+"@rollup/rollup-win32-arm64-msvc@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz#a648122389d23a7543b261fba082e65fefefe4f6"
+ integrity sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==
+
+"@rollup/rollup-win32-ia32-msvc@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz#34727b5c7953c35fc6e1ae4f770ad3a2025f8e03"
+ integrity sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==
+
"@rollup/rollup-win32-x64-msvc@4.14.3":
version "4.14.3"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz"
@@ -2057,6 +2354,36 @@
magic-string "0.30.8"
unplugin "1.0.1"
+"@sentry/cli-darwin@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.31.0.tgz#59e0805db8926a55676c74690e5083a0a78ae11f"
+ integrity sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==
+
+"@sentry/cli-linux-arm64@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.31.0.tgz#38604d2d1e7c2e50d48610d38523e371d2104cd7"
+ integrity sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==
+
+"@sentry/cli-linux-arm@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.31.0.tgz#6e802a279011703d39e4b31de7b950c522a73261"
+ integrity sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==
+
+"@sentry/cli-linux-i686@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.31.0.tgz#d4586a18145f43b37324231e0f19f8f23793fc58"
+ integrity sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==
+
+"@sentry/cli-linux-x64@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.31.0.tgz#f89fd87b47a5eb10c292846f3a1a754cf97105fe"
+ integrity sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==
+
+"@sentry/cli-win32-i686@2.31.0":
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.31.0.tgz#cb3dbb539c8f8bcac4b1f95ab45a87b5143997ee"
+ integrity sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==
+
"@sentry/cli-win32-x64@2.31.0":
version "2.31.0"
resolved "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.31.0.tgz"
@@ -2248,7 +2575,7 @@
"@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
"@svgr/babel-plugin-transform-svg-component" "8.0.0"
-"@svgr/core@*", "@svgr/core@8.1.0":
+"@svgr/core@8.1.0":
version "8.1.0"
resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz"
integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
@@ -2433,7 +2760,7 @@
"@types/estree" "*"
"@types/json-schema" "*"
-"@types/estree@*", "@types/estree@^1.0.5", "@types/estree@1.0.5":
+"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.5":
version "1.0.5"
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
@@ -2458,6 +2785,21 @@
"@types/qs" "*"
"@types/serve-static" "*"
+"@types/fs-extra@^9.0.1":
+ version "9.0.13"
+ resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
+ integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/glob@^7.1.1":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
+ integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
+ dependencies:
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
"@types/html-minifier-terser@^6.0.0":
version "6.1.0"
resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz"
@@ -2518,6 +2860,11 @@
resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz"
integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==
+"@types/minimatch@*":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
"@types/node-forge@^1.3.0":
version "1.3.11"
resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz"
@@ -2525,7 +2872,7 @@
dependencies:
"@types/node" "*"
-"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.9.0":
+"@types/node@*", "@types/node@^20.9.0":
version "20.12.7"
resolved "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz"
integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==
@@ -2575,7 +2922,7 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@^18.2.25", "@types/react@^18.2.66":
+"@types/react@*", "@types/react@^18.2.66":
version "18.2.79"
resolved "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz"
integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==
@@ -2699,7 +3046,7 @@
semver "^7.6.0"
ts-api-utils "^1.3.0"
-"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.3.1":
+"@typescript-eslint/parser@^7.3.1":
version "7.7.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz"
integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==
@@ -2738,19 +3085,6 @@
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz"
integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==
-"@typescript-eslint/typescript-estree@^4.24.0":
- version "4.33.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz"
- integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
- dependencies:
- "@typescript-eslint/types" "4.33.0"
- "@typescript-eslint/visitor-keys" "4.33.0"
- debug "^4.3.1"
- globby "^11.0.3"
- is-glob "^4.0.1"
- semver "^7.3.5"
- tsutils "^3.21.0"
-
"@typescript-eslint/typescript-estree@7.7.0":
version "7.7.0"
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz"
@@ -2765,6 +3099,19 @@
semver "^7.6.0"
ts-api-utils "^1.3.0"
+"@typescript-eslint/typescript-estree@^4.24.0":
+ version "4.33.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz"
+ integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
+ dependencies:
+ "@typescript-eslint/types" "4.33.0"
+ "@typescript-eslint/visitor-keys" "4.33.0"
+ debug "^4.3.1"
+ globby "^11.0.3"
+ is-glob "^4.0.1"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
+
"@typescript-eslint/utils@7.7.0":
version "7.7.0"
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz"
@@ -2806,7 +3153,7 @@
dependencies:
"@babel/core" "^7.23.9"
-"@vanilla-extract/css@^1.0.0", "@vanilla-extract/css@^1.14.1", "@vanilla-extract/css@^1.14.2":
+"@vanilla-extract/css@^1.14.1", "@vanilla-extract/css@^1.14.2":
version "1.14.2"
resolved "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.14.2.tgz"
integrity sha512-OasEW4ojGqqRiUpsyEDUMrSkLnmwbChtafkogpCZ1eDAgAZ9eY9CHLYodj2nB8aV5T25kQ5shm92k25ngjYhhg==
@@ -2869,7 +3216,7 @@
dependencies:
resolve "^1.10.0"
-"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1":
+"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1":
version "1.12.1"
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz"
integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
@@ -2970,7 +3317,7 @@
"@webassemblyjs/wasm-gen" "1.12.1"
"@webassemblyjs/wasm-parser" "1.12.1"
-"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1":
+"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1":
version "1.12.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
@@ -3010,7 +3357,7 @@
resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"
integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
-abbrev@^1.0.0, abbrev@1:
+abbrev@1, abbrev@^1.0.0:
version "1.1.1"
resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
@@ -3038,31 +3385,24 @@ acorn-walk@^8.1.1:
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz"
integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
- version "8.11.3"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
- integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-
acorn@^7.4.0:
version "7.4.1"
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-agent-base@^6.0.2, agent-base@6:
+acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
+ version "8.11.3"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
+ integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+
+agent-base@6, agent-base@^6.0.2:
version "6.0.2"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
dependencies:
debug "4"
-agent-base@^7.0.2:
- version "7.1.1"
- resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz"
- integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
- dependencies:
- debug "^4.3.4"
-
-agent-base@^7.1.0:
+agent-base@^7.0.2, agent-base@^7.1.0:
version "7.1.1"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz"
integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
@@ -3103,7 +3443,7 @@ ajv-keywords@^5.1.0:
dependencies:
fast-deep-equal "^3.1.3"
-ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
+ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -3113,27 +3453,7 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ajv@^8.0.0:
- version "8.12.0"
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
-ajv@^8.0.1:
- version "8.12.0"
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
-ajv@^8.8.2, ajv@^8.9.0:
+ajv@^8.0.0, ajv@^8.0.1, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@@ -3184,12 +3504,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
-ansi-styles@^6.0.0:
- version "6.2.1"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
- integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
-
-ansi-styles@^6.1.0:
+ansi-styles@^6.0.0, ansi-styles@^6.1.0:
version "6.2.1"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
@@ -3365,6 +3680,18 @@ asap@^2.0.0:
resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+asar@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221"
+ integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==
+ dependencies:
+ chromium-pickle-js "^0.2.0"
+ commander "^5.0.0"
+ glob "^7.1.6"
+ minimatch "^3.0.4"
+ optionalDependencies:
+ "@types/glob" "^7.1.1"
+
astral-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
@@ -3566,7 +3893,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0":
+browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0:
version "4.23.0"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz"
integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
@@ -3794,6 +4121,11 @@ chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3:
resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz"
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+chromium-pickle-js@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
+ integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==
+
classnames@^2.5.1:
version "2.5.1"
resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz"
@@ -3905,14 +4237,7 @@ clone@^1.0.2:
resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^1.9.3:
+color-convert@^1.9.0, color-convert@^1.9.3:
version "1.9.3"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -3926,16 +4251,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
color-string@^1.6.0, color-string@^1.9.0:
version "1.9.1"
resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
@@ -4135,18 +4460,7 @@ cross-dirname@^0.1.0:
resolved "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz"
integrity sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==
-cross-spawn@^6.0.0:
- version "6.0.5"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^6.0.5:
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -4282,7 +4596,7 @@ cycle@1.0.x:
resolved "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"
integrity sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==
-d@^1.0.1, d@^1.0.2, d@1:
+d@1, d@^1.0.1, d@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/d/-/d-1.0.2.tgz"
integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
@@ -4335,27 +4649,20 @@ dayjs@^1.11.9:
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz"
integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
-debug@^2.2.0:
+debug@2.6.9, debug@^2.2.0:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@4:
+debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
-debug@2.6.9:
- version "2.6.9"
- resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
@@ -4388,7 +4695,7 @@ deep-object-diff@^1.1.9:
resolved "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz"
integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==
-deepmerge@^4.2.2, deepmerge@4.3.0:
+deepmerge@4.3.0, deepmerge@^4.2.2:
version "4.3.0"
resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz"
integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==
@@ -4450,16 +4757,16 @@ delegates@^1.0.0:
resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
- integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-
depd@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
deprecation@^2.0.0, deprecation@^2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz"
@@ -4633,6 +4940,50 @@ ee-first@1.1.1:
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+electron-installer-common@^0.10.2:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/electron-installer-common/-/electron-installer-common-0.10.3.tgz#40f9db644ca60eb28673d545b67ee0113aef4444"
+ integrity sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==
+ dependencies:
+ "@malept/cross-spawn-promise" "^1.0.0"
+ asar "^3.0.0"
+ debug "^4.1.1"
+ fs-extra "^9.0.0"
+ glob "^7.1.4"
+ lodash "^4.17.15"
+ parse-author "^2.0.0"
+ semver "^7.1.1"
+ tmp-promise "^3.0.2"
+ optionalDependencies:
+ "@types/fs-extra" "^9.0.1"
+
+electron-installer-debian@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/electron-installer-debian/-/electron-installer-debian-3.2.0.tgz#2a9c8220f50a57807de8f93619a0d61ec41271e0"
+ integrity sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==
+ dependencies:
+ "@malept/cross-spawn-promise" "^1.0.0"
+ debug "^4.1.1"
+ electron-installer-common "^0.10.2"
+ fs-extra "^9.0.0"
+ get-folder-size "^2.0.1"
+ lodash "^4.17.4"
+ word-wrap "^1.2.3"
+ yargs "^16.0.2"
+
+electron-installer-redhat@^3.2.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz#4a7f8d67b48b7d5b23bd1eb074f4b684ae43b192"
+ integrity sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==
+ dependencies:
+ "@malept/cross-spawn-promise" "^1.0.0"
+ debug "^4.1.1"
+ electron-installer-common "^0.10.2"
+ fs-extra "^9.0.0"
+ lodash "^4.17.15"
+ word-wrap "^1.2.3"
+ yargs "^16.0.2"
+
electron-squirrel-startup@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz"
@@ -4692,7 +5043,7 @@ encodeurl@~1.0.2:
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-encoding@^0.1.0, encoding@^0.1.12, encoding@^0.1.13:
+encoding@^0.1.12, encoding@^0.1.13:
version "0.1.13"
resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
@@ -5009,12 +5360,7 @@ escape-html@~1.0.3:
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-escape-string-regexp@^1.0.2:
- version "1.0.5"
- resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
@@ -5068,7 +5414,7 @@ eslint-plugin-react@^7.34.1:
semver "^6.3.1"
string.prototype.matchall "^4.0.10"
-eslint-scope@^5.1.1:
+eslint-scope@5.1.1, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -5084,14 +5430,6 @@ eslint-scope@^7.2.2:
esrecurse "^4.3.0"
estraverse "^5.2.0"
-eslint-scope@5.1.1:
- version "5.1.1"
- resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
@@ -5099,12 +5437,7 @@ eslint-utils@^2.1.0:
dependencies:
eslint-visitor-keys "^1.1.0"
-eslint-visitor-keys@^1.1.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
- integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-
-eslint-visitor-keys@^1.3.0:
+eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
@@ -5119,50 +5452,6 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
-"eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.56.0, eslint@^8.57.0, eslint@>=7.0.0:
- version "8.57.0"
- resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
- integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
- 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"
- "@humanwhocodes/module-importer" "^1.0.1"
- "@nodelib/fs.walk" "^1.2.8"
- "@ungap/structured-clone" "^1.2.0"
- ajv "^6.12.4"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.2.2"
- eslint-visitor-keys "^3.4.3"
- espree "^9.6.1"
- esquery "^1.4.2"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- find-up "^5.0.0"
- glob-parent "^6.0.2"
- globals "^13.19.0"
- graphemer "^1.4.0"
- ignore "^5.2.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- is-path-inside "^3.0.3"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.3"
- strip-ansi "^6.0.1"
- text-table "^0.2.0"
-
eslint@^7.27.0:
version "7.32.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz"
@@ -5209,6 +5498,50 @@ eslint@^7.27.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
+eslint@^8.57.0:
+ version "8.57.0"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
+ integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
+ 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"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@nodelib/fs.walk" "^1.2.8"
+ "@ungap/structured-clone" "^1.2.0"
+ ajv "^6.12.4"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.2.2"
+ eslint-visitor-keys "^3.4.3"
+ espree "^9.6.1"
+ esquery "^1.4.2"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ globals "^13.19.0"
+ graphemer "^1.4.0"
+ ignore "^5.2.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ is-path-inside "^3.0.3"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.3"
+ strip-ansi "^6.0.1"
+ text-table "^0.2.0"
+
esniff@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz"
@@ -5261,16 +5594,16 @@ estraverse-fb@^1.3.2:
resolved "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.2.tgz"
integrity sha512-wp3lfRrWy5EQD9TqesuYM1SKVP4ERT0cUatb4e8Vznf4K5IOpREhuyXZxGj3a9s9mvX5vGZKNHA4R9D4kp9Q9A==
-estraverse@*, estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
estraverse@^4.1.1:
version "4.3.0"
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
@@ -5364,7 +5697,7 @@ express-ws@^5.0.2:
dependencies:
ws "^7.4.6"
-"express@^4.0.0 || ^5.0.0-alpha.1", express@^4.17.1, express@^4.17.3:
+express@^4.17.1, express@^4.17.3:
version "4.19.2"
resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz"
integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
@@ -5660,16 +5993,7 @@ fs-extra@^10.0.0, fs-extra@^10.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs-extra@^11.1.0:
- version "11.2.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz"
- integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
-fs-extra@^11.1.1:
+fs-extra@^11.1.0, fs-extra@^11.1.1:
version "11.2.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz"
integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
@@ -5696,7 +6020,7 @@ fs-extra@^8.1.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@^9.0.1:
+fs-extra@^9.0.0, fs-extra@^9.0.1:
version "9.1.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
@@ -5723,6 +6047,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+fsevents@~2.3.2, fsevents@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -5757,6 +6086,11 @@ galactus@^1.0.0:
flora-colossus "^2.0.0"
fs-extra "^10.1.0"
+gar@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/gar/-/gar-1.0.4.tgz#f777bc7db425c0572fdeb52676172ca1ae9888b8"
+ integrity sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==
+
gauge@^3.0.0:
version "3.0.2"
resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz"
@@ -5796,6 +6130,14 @@ get-caller-file@^2.0.5:
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+get-folder-size@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/get-folder-size/-/get-folder-size-2.0.1.tgz#3fe0524dd3bad05257ef1311331417bcd020a497"
+ integrity sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==
+ dependencies:
+ gar "^1.0.4"
+ tiny-each-async "2.0.3"
+
get-installed-path@^2.0.3:
version "2.1.1"
resolved "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz"
@@ -5869,7 +6211,7 @@ github-url-to-object@^4.0.4:
dependencies:
is-url "^1.1.0"
-glob-parent@^5.1.2:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -5883,13 +6225,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
glob-to-regexp@^0.4.1:
version "0.4.1"
resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
@@ -5951,7 +6286,7 @@ global-agent@^3.0.0:
semver "^7.3.2"
serialize-error "^7.0.1"
-global-modules@^1.0.0, global-modules@1.0.0:
+global-modules@1.0.0, global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz"
integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
@@ -5976,14 +6311,7 @@ globals@^11.1.0:
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.19.0:
- version "13.24.0"
- resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
- integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
- dependencies:
- type-fest "^0.20.2"
-
-globals@^13.6.0, globals@^13.9.0:
+globals@^13.19.0, globals@^13.6.0, globals@^13.9.0:
version "13.24.0"
resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
@@ -6211,16 +6539,6 @@ http-deceiver@^1.2.7:
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
- integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
http-errors@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
@@ -6232,6 +6550,16 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
http-parser-js@>=0.5.1:
version "0.5.8"
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
@@ -6338,20 +6666,13 @@ i18next-browser-languagedetector@^7.2.0:
dependencies:
"@babel/runtime" "^7.23.2"
-i18next@^23.10.1, "i18next@>= 23.2.3":
+i18next@^23.10.1:
version "23.11.2"
resolved "https://registry.npmjs.org/i18next/-/i18next-23.11.2.tgz"
integrity sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA==
dependencies:
"@babel/runtime" "^7.23.2"
-iconv-lite@^0.6.2:
- version "0.6.3"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
- integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
- dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
-
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
@@ -6359,7 +6680,7 @@ iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@0.6.3:
+iconv-lite@0.6.3, iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
@@ -6422,7 +6743,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4:
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -6459,16 +6780,16 @@ ip-address@^9.0.5:
jsbn "1.1.0"
sprintf-js "^1.1.3"
-ipaddr.js@^2.0.1:
- version "2.1.0"
- resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
- integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
-
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+ipaddr.js@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
+ integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==
+
is-array-buffer@^3.0.4:
version "3.0.4"
resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz"
@@ -7073,7 +7394,7 @@ lodash.truncate@^4.4.2:
resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz"
integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
-lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21:
+lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -7325,7 +7646,7 @@ micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4:
braces "^3.0.2"
picomatch "^2.3.1"
-"mime-db@>= 1.43.0 < 2", mime-db@1.52.0:
+mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
version "1.52.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
@@ -7383,21 +7704,7 @@ minimatch@^8.0.2:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^9.0.1:
- version "9.0.4"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz"
- integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimatch@^9.0.3:
- version "9.0.4"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz"
- integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimatch@^9.0.4:
+minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4:
version "9.0.4"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz"
integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
@@ -7471,17 +7778,12 @@ minipass@^4.2.4:
resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz"
integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==
-"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
- version "7.0.4"
- resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz"
- integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
-
minipass@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
-minipass@^7.0.4:
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4:
version "7.0.4"
resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz"
integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
@@ -7541,16 +7843,16 @@ moo@^0.5.1:
resolved "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz"
integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==
-ms@^2.0.0, ms@^2.1.1, ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+ms@2.1.2, ms@^2.0.0, ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
ms@2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
@@ -7593,7 +7895,7 @@ natural-compare@^1.4.0:
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@^0.6.2, negotiator@^0.6.3, negotiator@0.6.3:
+negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
@@ -7664,6 +7966,22 @@ node-forge@^1:
resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz"
integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+node-gyp@8.x:
+ version "8.4.1"
+ resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz"
+ integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==
+ dependencies:
+ env-paths "^2.2.0"
+ glob "^7.1.4"
+ graceful-fs "^4.2.6"
+ make-fetch-happen "^9.1.0"
+ nopt "^5.0.0"
+ npmlog "^6.0.0"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ tar "^6.1.2"
+ which "^2.0.2"
+
node-gyp@^9.0.0:
version "9.4.1"
resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz"
@@ -7681,22 +7999,6 @@ node-gyp@^9.0.0:
tar "^6.1.2"
which "^2.0.2"
-node-gyp@8.x:
- version "8.4.1"
- resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz"
- integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==
- dependencies:
- env-paths "^2.2.0"
- glob "^7.1.4"
- graceful-fs "^4.2.6"
- make-fetch-happen "^9.1.0"
- nopt "^5.0.0"
- npmlog "^6.0.0"
- rimraf "^3.0.2"
- semver "^7.3.5"
- tar "^6.1.2"
- which "^2.0.2"
-
node-loader@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/node-loader/-/node-loader-2.0.0.tgz"
@@ -8152,12 +8454,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-path-key@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
- integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
-
-path-key@^2.0.1:
+path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
@@ -8298,7 +8595,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@^8.1.0, postcss@^8.4.33, postcss@^8.4.38:
+postcss@^8.4.33, postcss@^8.4.38:
version "8.4.38"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
@@ -8477,7 +8774,7 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.2.0, react-dom@>=16.8:
+react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -8503,7 +8800,7 @@ react-loading-skeleton@^3.4.0:
resolved "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.4.0.tgz"
integrity sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==
-"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", react-redux@^9.1.0:
+react-redux@^9.1.0:
version "9.1.1"
resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.1.1.tgz"
integrity sha512-5ynfGDzxxsoV73+4czQM56qF43vsmgJsO22rmAvU5tZT2z5Xow/A2uhhxwXuGTxgdReF3zcp7A80gma2onRs1A==
@@ -8526,7 +8823,7 @@ react-router@6.22.3:
dependencies:
"@remix-run/router" "1.15.3"
-"react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.9.0 || ^17.0.0 || ^18", react@^18.0, react@^18.2.0, "react@>= 16.8.0", react@>=16.3, react@>=16.8, react@>=16.8.0, "react@15.x || 16.x || 17.x || 18.x":
+react@^18.2.0:
version "18.2.0"
resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
@@ -8627,7 +8924,7 @@ redux-thunk@^3.1.0:
resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz"
integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==
-redux@^5.0.0, redux@^5.0.1:
+redux@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz"
integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
@@ -8920,21 +9217,16 @@ safe-array-concat@^1.1.2:
has-symbols "^1.0.3"
isarray "^2.0.5"
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
safe-identifier@^0.4.1:
version "0.4.2"
resolved "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz"
@@ -9015,38 +9307,23 @@ semver-compare@^1.0.0:
resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz"
integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==
-semver@^5.5.0:
+"semver@2 || 3 || 4 || 5", semver@^5.5.0:
version "5.7.2"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^6.0.0:
+semver@^6.0.0, semver@^6.2.0, semver@^6.3.1:
version "6.3.1"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^6.2.0:
- version "6.3.1"
- resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^6.3.1:
- version "6.3.1"
- resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.5.4, semver@^7.6.0:
+semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.5.4, semver@^7.6.0:
version "7.6.0"
resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz"
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
-"semver@2 || 3 || 4 || 5":
- version "5.7.2"
- resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz"
- integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-
send@0.18.0:
version "0.18.0"
resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
@@ -9385,7 +9662,7 @@ sprintf-js@~1.0.2:
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-sqlite3@^5.0.3, sqlite3@^5.1.7:
+sqlite3@^5.1.7:
version "5.1.7"
resolved "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz"
integrity sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==
@@ -9416,16 +9693,16 @@ stack-trace@0.0.x:
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-
statuses@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+"statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
stream-transform@^2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz"
@@ -9433,20 +9710,6 @@ stream-transform@^2.1.3:
dependencies:
mixme "^0.5.1"
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
"string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
@@ -9465,25 +9728,7 @@ string_decoder@~1.1.1:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^5.0.0:
- version "5.1.2"
- resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
- integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
- dependencies:
- eastasianwidth "^0.2.0"
- emoji-regex "^9.2.2"
- strip-ansi "^7.0.1"
-
-string-width@^5.0.1:
- version "5.1.2"
- resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
- integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
- dependencies:
- eastasianwidth "^0.2.0"
- emoji-regex "^9.2.2"
- strip-ansi "^7.0.1"
-
-string-width@^5.1.2:
+string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
@@ -9538,6 +9783,20 @@ string.prototype.trimstart@^1.0.8:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
version "6.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@@ -9738,7 +9997,7 @@ terser-webpack-plugin@^5.3.10:
serialize-javascript "^6.0.1"
terser "^5.26.0"
-terser@^5.10.0, terser@^5.26.0, terser@^5.4.0:
+terser@^5.10.0, terser@^5.26.0:
version "5.30.3"
resolved "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz"
integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==
@@ -9782,6 +10041,23 @@ thunky@^1.0.2:
resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz"
integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
+tiny-each-async@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/tiny-each-async/-/tiny-each-async-2.0.3.tgz#8ebbbfd6d6295f1370003fbb37162afe5a0a51d1"
+ integrity sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==
+
+tmp-promise@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7"
+ integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==
+ dependencies:
+ tmp "^0.2.0"
+
+tmp@^0.2.0:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae"
+ integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
@@ -9849,7 +10125,7 @@ ts-loader@^9.2.2:
semver "^7.3.4"
source-map "^0.7.4"
-ts-node@^10.0.0, ts-node@^10.7.0:
+ts-node@^10.0.0:
version "10.9.2"
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz"
integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
@@ -10010,7 +10286,7 @@ typeorm@^0.3.20:
uuid "^9.0.0"
yargs "^17.6.2"
-typescript@*, typescript@^5.4.3, typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.2.0, typescript@>=4.9.5, typescript@>3.6.0:
+typescript@^5.4.3:
version "5.4.5"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz"
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
@@ -10111,7 +10387,7 @@ universalify@^2.0.0:
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
-unpipe@~1.0.0, unpipe@1.0.0:
+unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
@@ -10358,7 +10634,7 @@ webpack-virtual-modules@^0.5.0:
resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==
-"webpack@^4 || ^5", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.30.0 || ^5.20.2", "webpack@^4.37.0 || ^5.0.0", webpack@^5, webpack@^5.0.0, webpack@^5.1.0, webpack@^5.11.0, webpack@^5.20.0, webpack@^5.69.1, webpack@>=4.40.0:
+webpack@^5, webpack@^5.69.1:
version "5.91.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz"
integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==
@@ -10388,7 +10664,7 @@ webpack-virtual-modules@^0.5.0:
watchpack "^2.4.1"
webpack-sources "^3.2.3"
-websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
+websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
version "0.7.4"
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
@@ -10480,14 +10756,7 @@ which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9:
gopd "^1.0.1"
has-tostringtag "^1.0.2"
-which@^1.2.14:
- version "1.3.1"
- resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^1.2.9:
+which@^1.2.14, which@^1.2.9:
version "1.3.1"
resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -10551,6 +10820,11 @@ winston@^3.12.0:
triple-beam "^1.3.0"
winston-transport "^4.7.0"
+word-wrap@^1.2.3:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version "7.0.0"
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
@@ -10588,12 +10862,7 @@ ws@^7.4.6:
resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-ws@^8.13.0:
- version "8.16.0"
- resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
- integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
-
-ws@^8.16.0:
+ws@^8.13.0, ws@^8.16.0:
version "8.16.0"
resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
@@ -10623,7 +10892,7 @@ xterm-addon-search@^0.8.0:
resolved "https://registry.npmjs.org/xterm-addon-search/-/xterm-addon-search-0.8.2.tgz"
integrity sha512-I1863mjn8P6uVrqm/X+btalVsqjAKLhnhpbP7SavAOpEkI1jJhbHU2UTp7NjeRtcKTks6UWk/ycgds5snDSejg==
-xterm@^4.0.0, xterm@^4.9.0:
+xterm@^4.9.0:
version "4.19.0"
resolved "https://registry.npmjs.org/xterm/-/xterm-4.19.0.tgz"
integrity sha512-c3Cp4eOVsYY5Q839dR5IejghRPpxciGmLWWaP9g+ppfMeBChMeLa1DCA+pmX/jyDZ+zxFOmlJL/82qVdayVoGQ==
@@ -10663,7 +10932,7 @@ yargs-parser@^21.1.1:
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^16.0.0:
+yargs@^16.0.0, yargs@^16.0.2:
version "16.2.0"
resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==