diff --git a/dist-back/index.js b/dist-back/index.js
index f24d44b..36354c5 100644
--- a/dist-back/index.js
+++ b/dist-back/index.js
@@ -22,6 +22,7 @@ __reExport(index_exports, require("./consulta"), module.exports);
__reExport(index_exports, require("./ecosistema"), module.exports);
__reExport(index_exports, require("./extensoes"), module.exports);
__reExport(index_exports, require("./logger"), module.exports);
+__reExport(index_exports, require("./testes-de-variaveis"), module.exports);
__reExport(index_exports, require("./texto_busca"), module.exports);
__reExport(index_exports, require("./tipagemRotas"), module.exports);
__reExport(index_exports, require("./unidades_medida"), module.exports);
@@ -36,6 +37,7 @@ __reExport(index_exports, require("./variaveisComuns"), module.exports);
...require("./ecosistema"),
...require("./extensoes"),
...require("./logger"),
+ ...require("./testes-de-variaveis"),
...require("./texto_busca"),
...require("./tipagemRotas"),
...require("./unidades_medida"),
diff --git a/dist-back/logger.js b/dist-back/logger.js
index 8f5983c..0283d3f 100644
--- a/dist-back/logger.js
+++ b/dist-back/logger.js
@@ -33,7 +33,7 @@ __export(logger_exports, {
postLogger: () => postLogger
});
module.exports = __toCommonJS(logger_exports);
-var import_cross_fetch = __toESM(require("cross-fetch"));
+var import_cross_fetch = __toESM(require("cross-fetch"), 1);
var import_variaveisComuns = require("./variaveisComuns");
const LOKI_BASE_URL = "https://log.idz.one";
const LOKI_ENDPOINT = "/loki/api/v1/push";
diff --git a/dist-back/testes-de-variaveis/index.js b/dist-back/testes-de-variaveis/index.js
new file mode 100644
index 0000000..6263622
--- /dev/null
+++ b/dist-back/testes-de-variaveis/index.js
@@ -0,0 +1,24 @@
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+var testes_de_variaveis_exports = {};
+module.exports = __toCommonJS(testes_de_variaveis_exports);
+__reExport(testes_de_variaveis_exports, require("./umaFuncao"), module.exports);
+__reExport(testes_de_variaveis_exports, require("./umaVariavel"), module.exports);
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ ...require("./umaFuncao"),
+ ...require("./umaVariavel")
+});
diff --git a/dist-back/tsup/tsup.config.js b/dist-back/testes-de-variaveis/umaFuncao.js
similarity index 64%
rename from dist-back/tsup/tsup.config.js
rename to dist-back/testes-de-variaveis/umaFuncao.js
index 0a33815..c1d2b86 100644
--- a/dist-back/tsup/tsup.config.js
+++ b/dist-back/testes-de-variaveis/umaFuncao.js
@@ -16,12 +16,13 @@ var __copyProps = (to, from, except, desc) => {
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var tsup_config_exports = {};
-__export(tsup_config_exports, {
- default: () => tsup_config_default
+var umaFuncao_exports = {};
+__export(umaFuncao_exports, {
+ umaFuncao: () => umaFuncao
+});
+module.exports = __toCommonJS(umaFuncao_exports);
+const umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)";
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ umaFuncao
});
-module.exports = __toCommonJS(tsup_config_exports);
-var import_tsup = require("tsup");
-var import_tsup_config = require("./tsup.config.back");
-var import_tsup_config2 = require("./tsup.config.front");
-var tsup_config_default = (0, import_tsup.defineConfig)([import_tsup_config.tsup_config_back, import_tsup_config2.tsup_config_front]);
diff --git a/dist-back/testes-de-variaveis/umaVariavel.js b/dist-back/testes-de-variaveis/umaVariavel.js
new file mode 100644
index 0000000..6560bb5
--- /dev/null
+++ b/dist-back/testes-de-variaveis/umaVariavel.js
@@ -0,0 +1,28 @@
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+var umaVariavel_exports = {};
+__export(umaVariavel_exports, {
+ umaVariavel: () => umaVariavel
+});
+module.exports = __toCommonJS(umaVariavel_exports);
+const umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)";
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ umaVariavel
+});
diff --git a/dist-back/tsup/tsup.config.back.js b/dist-back/tsup/tsup.config.back.js
deleted file mode 100644
index 933659f..0000000
--- a/dist-back/tsup/tsup.config.back.js
+++ /dev/null
@@ -1,54 +0,0 @@
-"use strict";
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __hasOwnProp = Object.prototype.hasOwnProperty;
-var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, { get: all[name], enumerable: true });
-};
-var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
- }
- return to;
-};
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var tsup_config_back_exports = {};
-__export(tsup_config_back_exports, {
- default: () => tsup_config_back_default,
- tsup_config_back: () => tsup_config_back
-});
-module.exports = __toCommonJS(tsup_config_back_exports);
-var import_tsup = require("tsup");
-const tsup_config_back = {
- /** Não mecher aqui */
- entry: ["src/**/*.ts", "src/**/*.tsx"],
- // Adicionado .tsx para compatibilidade, se aplicável
- format: "cjs",
- // Gera módulos CommonJS, padrão para Node.js
- target: "node20",
- // Compila para o ambiente Node.js versão 20 (ou sua versão alvo)
- outDir: "dist-back",
- // Diretório de saída para os arquivos transpilados
- clean: true,
- // Limpa o diretório de saída antes de cada build
- bundle: false,
- // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
- splitting: false,
- // Desnecessário quando bundle é false
- dts: false,
- // RECOMENDADO: Gera arquivos de declaração TypeScript (.d.ts)
- // legacyOutput e outExtension foram removidos por não serem necessários
- sourcemap: false,
- minify: false,
- // Geralmente não minificamos o código do backend em produção, mas você pode mudar
- outExtension: () => ({ js: ".js" })
-};
-var tsup_config_back_default = (0, import_tsup.defineConfig)(tsup_config_back);
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- tsup_config_back
-});
diff --git a/dist-back/tsup/tsup.config.front.js b/dist-back/tsup/tsup.config.front.js
deleted file mode 100644
index 427f28d..0000000
--- a/dist-back/tsup/tsup.config.front.js
+++ /dev/null
@@ -1,53 +0,0 @@
-"use strict";
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __hasOwnProp = Object.prototype.hasOwnProperty;
-var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, { get: all[name], enumerable: true });
-};
-var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
- }
- return to;
-};
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var tsup_config_front_exports = {};
-__export(tsup_config_front_exports, {
- default: () => tsup_config_front_default,
- tsup_config_front: () => tsup_config_front
-});
-module.exports = __toCommonJS(tsup_config_front_exports);
-var import_tsup = require("tsup");
-const tsup_config_front = {
- entry: ["src/**/*.ts", "src/**/*.tsx"],
- // Adicionado .tsx para compatibilidade, se aplicável
- format: "esm",
- // Gera módulos ES para import/export no navegador
- target: "es2022",
- // Ou 'esnext' para os recursos mais recentes
- outDir: "dist-front",
- // Diretório de saída para os arquivos transpilados
- clean: true,
- // Limpa o diretório de saída antes de cada build
- bundle: false,
- // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
- splitting: false,
- // Desnecessário quando bundle é false
- dts: false,
- // Não gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS
- // legacyOutput e outExtension foram removidos por não serem necessários
- sourcemap: false,
- minify: false,
- // Recomendado para builds de produção
- outExtension: () => ({ js: ".js" })
-};
-var tsup_config_front_default = (0, import_tsup.defineConfig)(tsup_config_front);
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- tsup_config_front
-});
diff --git a/dist-front/aleatorio.js b/dist-front/aleatorio.js
deleted file mode 100644
index a6cfad6..0000000
--- a/dist-front/aleatorio.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
-const aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`;
-export {
- aleatorio
-};
diff --git a/dist-front/cacheMemoria.js b/dist-front/cacheMemoria.js
deleted file mode 100644
index 658175a..0000000
--- a/dist-front/cacheMemoria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const _cache = {};
-const cacheM = (chave, valor, validadeSeg) => {
- const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave));
- const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3;
- if (valor !== void 0) {
- _cache[txChave] = {
- valor,
- validade
- };
- }
- const busca = _cache[txChave];
- if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) {
- return void 0;
- }
- return busca?.valor;
-};
-const verCacheM = () => _cache;
-const cacheMemoria = cacheM;
-export {
- cacheM,
- cacheMemoria,
- verCacheM
-};
diff --git a/dist-front/constantes.js b/dist-front/constantes.js
deleted file mode 100644
index 7df9929..0000000
--- a/dist-front/constantes.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const uuid_null = "00000000-0000-0000-0000-000000000000";
-var camposComuns = /* @__PURE__ */ ((camposComuns2) => {
- camposComuns2["codigo"] = "codigo";
- camposComuns2["excluido"] = "excluido";
- camposComuns2["data_hora_criacao"] = "data_hora_criacao";
- camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao";
- camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao";
- camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao";
- camposComuns2["versao"] = "versao";
- return camposComuns2;
-})(camposComuns || {});
-var tx = /* @__PURE__ */ ((tx2) => {
- tx2["token"] = "token";
- return tx2;
-})(tx || {});
-var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => {
- tipoUsuarioResiduos2["Usuario"] = "usuario";
- tipoUsuarioResiduos2["Fornecedor"] = "fornecedor";
- return tipoUsuarioResiduos2;
-})(tipoUsuarioResiduos || {});
-export {
- camposComuns,
- tipoUsuarioResiduos,
- tx,
- uuid_null
-};
diff --git a/dist-front/consulta.js b/dist-front/consulta.js
deleted file mode 100644
index 0d6b41c..0000000
--- a/dist-front/consulta.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var operadores = /* @__PURE__ */ ((operadores2) => {
- operadores2["="] = "=";
- operadores2["!="] = "!=";
- operadores2[">"] = ">";
- operadores2[">="] = ">=";
- operadores2["<"] = "<";
- operadores2["<="] = "<=";
- operadores2["like"] = "like";
- operadores2["in"] = "in";
- return operadores2;
-})(operadores || {});
-export {
- operadores
-};
diff --git a/dist-front/ecosistema/index.js b/dist-front/ecosistema/index.js
deleted file mode 100644
index 5071338..0000000
--- a/dist-front/ecosistema/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./urls";
diff --git a/dist-front/ecosistema/urls.js b/dist-front/ecosistema/urls.js
deleted file mode 100644
index 4f82572..0000000
--- a/dist-front/ecosistema/urls.js
+++ /dev/null
@@ -1,4 +0,0 @@
-const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";
-export {
- cdn_carro_de_boi
-};
diff --git a/dist-front/extensoes.js b/dist-front/extensoes.js
deleted file mode 100644
index 77c9e5e..0000000
--- a/dist-front/extensoes.js
+++ /dev/null
@@ -1,161 +0,0 @@
-const extensoes = [
- {
- ext: "gif",
- tipo: "imagem",
- mime: "image/gif"
- },
- {
- ext: "jpg",
- tipo: "imagem",
- mime: "image/jpeg"
- },
- {
- ext: "jpeg",
- tipo: "imagem",
- mime: "image/jpeg"
- },
- {
- ext: "png",
- tipo: "imagem",
- mime: "image/png"
- },
- {
- ext: "bmp",
- tipo: "imagem",
- mime: "image/bmp"
- },
- {
- ext: "webp",
- tipo: "imagem",
- mime: "image/webp"
- },
- {
- ext: "tiff",
- tipo: "imagem",
- mime: "image/tiff"
- },
- {
- ext: "svg",
- tipo: "imagem",
- mime: "image/svg+xml"
- },
- {
- ext: "ico",
- tipo: "imagem",
- mime: "image/x-icon"
- },
- {
- ext: "pdf",
- tipo: "documento",
- mime: "application/pdf"
- },
- {
- ext: "doc",
- tipo: "documento",
- mime: "application/msword"
- },
- {
- ext: "docx",
- tipo: "documento",
- mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
- },
- {
- ext: "xls",
- tipo: "documento",
- mime: "application/vnd.ms-excel"
- },
- {
- ext: "xlsx",
- tipo: "documento",
- mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
- },
- {
- ext: "ppt",
- tipo: "documento",
- mime: "application/vnd.ms-powerpoint"
- },
- {
- ext: "pptx",
- tipo: "documento",
- mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation"
- },
- {
- ext: "txt",
- tipo: "documento",
- mime: "text/plain"
- },
- {
- ext: "odt",
- tipo: "documento",
- mime: "application/vnd.oasis.opendocument.text"
- },
- {
- ext: "ods",
- tipo: "documento",
- mime: "application/vnd.oasis.opendocument.spreadsheet"
- },
- {
- ext: "rtf",
- tipo: "documento",
- mime: "application/rtf"
- },
- {
- ext: "csv",
- tipo: "documento",
- mime: "text/csv"
- },
- {
- ext: "mp4",
- tipo: "v\xEDdeo",
- mime: "video/mp4"
- },
- {
- ext: "avi",
- tipo: "v\xEDdeo",
- mime: "video/x-msvideo"
- },
- {
- ext: "mkv",
- tipo: "v\xEDdeo",
- mime: "video/x-matroska"
- },
- {
- ext: "mov",
- tipo: "v\xEDdeo",
- mime: "video/quicktime"
- },
- {
- ext: "wmv",
- tipo: "v\xEDdeo",
- mime: "video/x-ms-wmv"
- },
- {
- ext: "flv",
- tipo: "v\xEDdeo",
- mime: "video/x-flv"
- },
- {
- ext: "webm",
- tipo: "v\xEDdeo",
- mime: "video/webm"
- },
- {
- ext: "3gp",
- tipo: "v\xEDdeo",
- mime: "video/3gpp"
- },
- {
- ext: "mpeg",
- tipo: "v\xEDdeo",
- mime: "video/mpeg"
- }
-];
-const tipoArquivo = (nomeArquivo) => {
- const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop();
- const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo);
- return extensao?.tipo || "outros";
-};
-export {
- extensoes,
- tipoArquivo
-};
diff --git a/dist-front/index.js b/dist-front/index.js
deleted file mode 100644
index 2e58fa8..0000000
--- a/dist-front/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-export * from "./aleatorio";
-export * from "./cacheMemoria";
-export * from "./constantes";
-export * from "./consulta";
-export * from "./ecosistema";
-export * from "./extensoes";
-export * from "./logger";
-export * from "./texto_busca";
-export * from "./tipagemRotas";
-export * from "./unidades_medida";
-export * from "./uuid";
-export * from "./variaveisComuns";
diff --git a/dist-front/index.mjs b/dist-front/index.mjs
new file mode 100644
index 0000000..347f76f
--- /dev/null
+++ b/dist-front/index.mjs
@@ -0,0 +1,484 @@
+// src/aleatorio.ts
+var alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
+var aleatorio = (tamanho) => `eli-${Array.from({ length: tamanho || 8 }).map(() => alfabeto[(999 * Math.random() | 0) % alfabeto.length]).join("")}`;
+
+// src/cacheMemoria.ts
+var _cache = {};
+var cacheM = (chave, valor, validadeSeg) => {
+ const txChave = typeof chave == "string" ? chave : typeof chave == "number" ? String(chave) : encodeURIComponent(JSON.stringify(chave));
+ const validade = validadeSeg && (/* @__PURE__ */ new Date()).getTime() + validadeSeg * 1e3;
+ if (valor !== void 0) {
+ _cache[txChave] = {
+ valor,
+ validade
+ };
+ }
+ const busca = _cache[txChave];
+ if (busca?.validade && busca.validade < (/* @__PURE__ */ new Date()).getTime()) {
+ return void 0;
+ }
+ return busca?.valor;
+};
+var verCacheM = () => _cache;
+var cacheMemoria = cacheM;
+
+// src/constantes.ts
+var uuid_null = "00000000-0000-0000-0000-000000000000";
+var camposComuns = /* @__PURE__ */ ((camposComuns2) => {
+ camposComuns2["codigo"] = "codigo";
+ camposComuns2["excluido"] = "excluido";
+ camposComuns2["data_hora_criacao"] = "data_hora_criacao";
+ camposComuns2["data_hora_atualizacao"] = "data_hora_atualizacao";
+ camposComuns2["codigo_usuario_criacao"] = "codigo_usuario_criacao";
+ camposComuns2["codigo_usuario_atualizacao"] = "codigo_usuario_atualizacao";
+ camposComuns2["versao"] = "versao";
+ return camposComuns2;
+})(camposComuns || {});
+var tx = /* @__PURE__ */ ((tx2) => {
+ tx2["token"] = "token";
+ return tx2;
+})(tx || {});
+var tipoUsuarioResiduos = /* @__PURE__ */ ((tipoUsuarioResiduos2) => {
+ tipoUsuarioResiduos2["Usuario"] = "usuario";
+ tipoUsuarioResiduos2["Fornecedor"] = "fornecedor";
+ return tipoUsuarioResiduos2;
+})(tipoUsuarioResiduos || {});
+
+// src/consulta.ts
+var operadores = /* @__PURE__ */ ((operadores2) => {
+ operadores2["="] = "=";
+ operadores2["!="] = "!=";
+ operadores2[">"] = ">";
+ operadores2[">="] = ">=";
+ operadores2["<"] = "<";
+ operadores2["<="] = "<=";
+ operadores2["like"] = "like";
+ operadores2["in"] = "in";
+ return operadores2;
+})(operadores || {});
+
+// src/ecosistema/urls.ts
+var cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";
+
+// src/extensoes.ts
+var extensoes = [
+ {
+ ext: "gif",
+ tipo: "imagem",
+ mime: "image/gif"
+ },
+ {
+ ext: "jpg",
+ tipo: "imagem",
+ mime: "image/jpeg"
+ },
+ {
+ ext: "jpeg",
+ tipo: "imagem",
+ mime: "image/jpeg"
+ },
+ {
+ ext: "png",
+ tipo: "imagem",
+ mime: "image/png"
+ },
+ {
+ ext: "bmp",
+ tipo: "imagem",
+ mime: "image/bmp"
+ },
+ {
+ ext: "webp",
+ tipo: "imagem",
+ mime: "image/webp"
+ },
+ {
+ ext: "tiff",
+ tipo: "imagem",
+ mime: "image/tiff"
+ },
+ {
+ ext: "svg",
+ tipo: "imagem",
+ mime: "image/svg+xml"
+ },
+ {
+ ext: "ico",
+ tipo: "imagem",
+ mime: "image/x-icon"
+ },
+ {
+ ext: "pdf",
+ tipo: "documento",
+ mime: "application/pdf"
+ },
+ {
+ ext: "doc",
+ tipo: "documento",
+ mime: "application/msword"
+ },
+ {
+ ext: "docx",
+ tipo: "documento",
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ },
+ {
+ ext: "xls",
+ tipo: "documento",
+ mime: "application/vnd.ms-excel"
+ },
+ {
+ ext: "xlsx",
+ tipo: "documento",
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+ },
+ {
+ ext: "ppt",
+ tipo: "documento",
+ mime: "application/vnd.ms-powerpoint"
+ },
+ {
+ ext: "pptx",
+ tipo: "documento",
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+ },
+ {
+ ext: "txt",
+ tipo: "documento",
+ mime: "text/plain"
+ },
+ {
+ ext: "odt",
+ tipo: "documento",
+ mime: "application/vnd.oasis.opendocument.text"
+ },
+ {
+ ext: "ods",
+ tipo: "documento",
+ mime: "application/vnd.oasis.opendocument.spreadsheet"
+ },
+ {
+ ext: "rtf",
+ tipo: "documento",
+ mime: "application/rtf"
+ },
+ {
+ ext: "csv",
+ tipo: "documento",
+ mime: "text/csv"
+ },
+ {
+ ext: "mp4",
+ tipo: "v\xEDdeo",
+ mime: "video/mp4"
+ },
+ {
+ ext: "avi",
+ tipo: "v\xEDdeo",
+ mime: "video/x-msvideo"
+ },
+ {
+ ext: "mkv",
+ tipo: "v\xEDdeo",
+ mime: "video/x-matroska"
+ },
+ {
+ ext: "mov",
+ tipo: "v\xEDdeo",
+ mime: "video/quicktime"
+ },
+ {
+ ext: "wmv",
+ tipo: "v\xEDdeo",
+ mime: "video/x-ms-wmv"
+ },
+ {
+ ext: "flv",
+ tipo: "v\xEDdeo",
+ mime: "video/x-flv"
+ },
+ {
+ ext: "webm",
+ tipo: "v\xEDdeo",
+ mime: "video/webm"
+ },
+ {
+ ext: "3gp",
+ tipo: "v\xEDdeo",
+ mime: "video/3gpp"
+ },
+ {
+ ext: "mpeg",
+ tipo: "v\xEDdeo",
+ mime: "video/mpeg"
+ }
+];
+var tipoArquivo = (nomeArquivo) => {
+ const extArquivo = String(nomeArquivo || "").toLocaleLowerCase().split(".").pop();
+ const extensao = extensoes.find((extensao2) => extensao2.ext === extArquivo);
+ return extensao?.tipo || "outros";
+};
+
+// src/logger.ts
+import crossFetch from "cross-fetch";
+
+// src/variaveisComuns.ts
+var esperar = (ms) => new Promise(
+ (resolve) => setTimeout(() => resolve(true), ms)
+);
+var nomeVariavel = (v) => Object.keys(v).join("/");
+
+// src/logger.ts
+var LOKI_BASE_URL = "https://log.idz.one";
+var LOKI_ENDPOINT = "/loki/api/v1/push";
+var postLogger = async ({
+ objeto
+}) => {
+ const response = await crossFetch(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify(objeto)
+ }).catch((a) => a);
+ if (!response.ok) {
+ return [objeto, `Erro ${response.status}: ${await response?.text?.()}`];
+ }
+ return [objeto];
+};
+var cwd = "";
+var defineCwd = (novoCwd) => {
+ cwd = novoCwd;
+};
+var logger = ({ app: app_e, eProducao, parametros: parametrosAmbiente }) => ({ inquilino, usuario, parametros: parametrosSessao }) => async (level, mensagem, op_tipoLog) => {
+ let {
+ __filename,
+ detalhes,
+ local,
+ parametros: parametrosLog
+ } = op_tipoLog || {};
+ const app = `${eProducao ? "" : "DEV-"}${app_e}`;
+ if (cwd && __filename) {
+ __filename = __filename.replace(cwd, "");
+ }
+ if (local) {
+ detalhes = [`${nomeVariavel({ local })}="${local}"`, ...detalhes || []];
+ }
+ if (__filename) {
+ detalhes = [
+ `${nomeVariavel({ __filename })}="${__filename}"`,
+ ...detalhes || []
+ ];
+ }
+ const timestamp = `${Date.now()}000000`;
+ const mainLog = detalhes?.length ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" | ")}` : mensagem;
+ const payload = {
+ stream: {
+ app,
+ inquilino,
+ usuario,
+ level,
+ ...parametrosAmbiente || {},
+ ...parametrosSessao || {},
+ ...parametrosLog || {}
+ },
+ values: [
+ [
+ timestamp,
+ mainLog
+ // Linha de log direta
+ ]
+ ]
+ };
+ const objeto = { streams: [payload] };
+ const response = await postLogger({ objeto });
+ return response;
+};
+
+// src/testes-de-variaveis/umaFuncao.ts
+var umaFuncao = () => "Ol\xE1 Mundo! (fun\xE7\xE3o)";
+
+// src/testes-de-variaveis/umaVariavel.ts
+var umaVariavel = "Ol\xE1 Mundo! (vari\xE1vel)";
+
+// src/texto_busca.ts
+var texto_busca = (...texto) => texto.map(
+ (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase()
+).join(" ");
+
+// src/tipagemRotas.ts
+var TipagemRotas = class {
+ /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
+ ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
+ */
+ constructor({
+ caminho,
+ acaoIr
+ }) {
+ this._partesCaminho = [];
+ this._acaoIr = acaoIr;
+ this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).flatMap((a) => a.split("/")).filter(Boolean);
+ }
+ /** Retorna o caminho completo da rota
+ ** console.log(mCaminho.caminho)
+ ** "/caminho"
+ */
+ get caminho() {
+ const ret = `/${this._partesCaminho.join("/")}`;
+ return ret;
+ }
+ /** Define o caminho completo da rota
+ ** mCaminho.caminho = "/novoCaminho"
+ ** console.log(mCaminho.caminho)
+ ** "/novoCaminho"
+ ** */
+ set caminho(caminhoParcial) {
+ this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte);
+ }
+ /** Retorna o caminho completo da rota com a query
+ ** console.log(mCaminho.resolve({q:"query"}))
+ ** "http://localhost:3000/caminho?q=query"
+ */
+ endereco(query, usarComoHash) {
+ const url = new URL(
+ typeof window !== "undefined" ? window.location.href : "http://localhost"
+ );
+ url.pathname = this.caminho;
+ url.search = "";
+ const queryKeys = Object.entries(query);
+ for (const [key, value] of queryKeys) {
+ url.searchParams.set(
+ String(key),
+ value === void 0 || value === null ? "" : value
+ );
+ }
+ url.hash = "";
+ if (usarComoHash) {
+ url.hash = `#${url.search}`;
+ url.search = "";
+ }
+ return url.href;
+ }
+ /** Vai para a url
+ ** mCaminho.ir({q:"query"})
+ ** window.location.href = "http://localhost:3000/caminho?q=query"
+ */
+ ir(query) {
+ if (this._acaoIr) {
+ this._acaoIr(this.endereco(query));
+ } else {
+ if (typeof window != "undefined") {
+ window.location.href = this.endereco(query);
+ }
+ }
+ }
+ /** Retorna os parametros da url
+ ** console.log(mCaminho.parametros())
+ ** {q:"query"}
+ */
+ get parametros() {
+ const url = new URL(
+ typeof window !== "undefined" ? window.location.href : "http://localhost"
+ );
+ const query = url.searchParams;
+ const queryObj = Object.fromEntries(query.entries());
+ const hash = url.hash;
+ if (hash) {
+ const hashObj = Object.fromEntries(
+ new URLSearchParams(hash.slice(1)).entries()
+ );
+ return { ...queryObj, ...hashObj };
+ }
+ return queryObj;
+ }
+};
+
+// src/unidades_medida.ts
+var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => {
+ siglas_unidades_medida2["UN"] = "UN";
+ siglas_unidades_medida2["KG"] = "KG";
+ siglas_unidades_medida2["TON"] = "TON";
+ siglas_unidades_medida2["g"] = "g";
+ siglas_unidades_medida2["M\xB3"] = "M\xB3";
+ siglas_unidades_medida2["Lt"] = "Lt";
+ return siglas_unidades_medida2;
+})(siglas_unidades_medida || {});
+var unidades_medida = [
+ {
+ sigla_unidade: "KG",
+ nome: "Quilograma",
+ sigla_normalizada: "KG",
+ normalizar: (valor) => valor,
+ tipo: "massa"
+ },
+ {
+ sigla_unidade: "g",
+ nome: "Grama",
+ sigla_normalizada: "KG",
+ normalizar: (valor) => valor / 1e3,
+ tipo: "massa"
+ },
+ {
+ sigla_unidade: "TON",
+ nome: "Tonelada",
+ sigla_normalizada: "KG",
+ normalizar: (valor) => valor * 1e3,
+ tipo: "massa"
+ },
+ {
+ sigla_unidade: "Lt",
+ nome: "Litro",
+ sigla_normalizada: "Lt",
+ normalizar: (valor) => valor,
+ tipo: "volume"
+ },
+ {
+ sigla_unidade: "M\xB3",
+ nome: "Metro C\xFAbico",
+ sigla_normalizada: "Lt",
+ normalizar: (valor) => valor * 1e3,
+ tipo: "volume"
+ },
+ {
+ sigla_unidade: "UN",
+ nome: "Unidade",
+ sigla_normalizada: "UN",
+ normalizar: (valor) => valor,
+ tipo: "unidade"
+ }
+];
+
+// src/uuid.ts
+var letras = "0123456789abcdef".split("");
+var uuid = () => {
+ letras.sort(() => Math.random() - 0.5);
+ const modelo = "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx".split("");
+ const retorno = modelo.map(
+ (letra) => letra === "x" ? letras[(1e3 * Math.random() | 0) % letras.length] : letra
+ ).join("");
+ return retorno;
+};
+export {
+ TipagemRotas,
+ aleatorio,
+ cacheM,
+ cacheMemoria,
+ camposComuns,
+ cdn_carro_de_boi,
+ defineCwd,
+ esperar,
+ extensoes,
+ logger,
+ nomeVariavel,
+ operadores,
+ postLogger,
+ siglas_unidades_medida,
+ texto_busca,
+ tipoArquivo,
+ tipoUsuarioResiduos,
+ tx,
+ umaFuncao,
+ umaVariavel,
+ unidades_medida,
+ uuid,
+ uuid_null,
+ verCacheM
+};
diff --git a/dist-front/logger.js b/dist-front/logger.js
deleted file mode 100644
index a5a240a..0000000
--- a/dist-front/logger.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import crossFetch from "cross-fetch";
-import { nomeVariavel } from "./variaveisComuns";
-const LOKI_BASE_URL = "https://log.idz.one";
-const LOKI_ENDPOINT = "/loki/api/v1/push";
-const postLogger = async ({
- objeto
-}) => {
- const response = await crossFetch(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, {
- method: "POST",
- headers: { "Content-Type": "application/json" },
- body: JSON.stringify(objeto)
- }).catch((a) => a);
- if (!response.ok) {
- return [objeto, `Erro ${response.status}: ${await response?.text?.()}`];
- }
- return [objeto];
-};
-let cwd = "";
-const defineCwd = (novoCwd) => {
- cwd = novoCwd;
-};
-const logger = ({ app: app_e, eProducao, parametros: parametrosAmbiente }) => ({ inquilino, usuario, parametros: parametrosSessao }) => async (level, mensagem, op_tipoLog) => {
- let {
- __filename,
- detalhes,
- local,
- parametros: parametrosLog
- } = op_tipoLog || {};
- const app = `${eProducao ? "" : "DEV-"}${app_e}`;
- if (cwd && __filename) {
- __filename = __filename.replace(cwd, "");
- }
- if (local) {
- detalhes = [`${nomeVariavel({ local })}="${local}"`, ...detalhes || []];
- }
- if (__filename) {
- detalhes = [
- `${nomeVariavel({ __filename })}="${__filename}"`,
- ...detalhes || []
- ];
- }
- const timestamp = `${Date.now()}000000`;
- const mainLog = detalhes?.length ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" | ")}` : mensagem;
- const payload = {
- stream: {
- app,
- inquilino,
- usuario,
- level,
- ...parametrosAmbiente || {},
- ...parametrosSessao || {},
- ...parametrosLog || {}
- },
- values: [
- [
- timestamp,
- mainLog
- // Linha de log direta
- ]
- ]
- };
- const objeto = { streams: [payload] };
- const response = await postLogger({ objeto });
- return response;
-};
-export {
- defineCwd,
- logger,
- postLogger
-};
diff --git a/dist-front/teste.js b/dist-front/teste.js
deleted file mode 100644
index 29422ff..0000000
--- a/dist-front/teste.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import { cacheM } from "./cacheMemoria";
-import { texto_busca } from "./texto_busca";
-console.log("Vari\xE1veis funcionando", texto_busca);
-cacheM(1, { Jaca: Promise.resolve() });
-console.log("cache:", cacheM(1));
diff --git a/dist-front/texto_busca.js b/dist-front/texto_busca.js
deleted file mode 100644
index ac4cec1..0000000
--- a/dist-front/texto_busca.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const texto_busca = (...texto) => texto.map(
- (txt) => txt === null || txt === void 0 ? "" : String(txt).normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ").toLowerCase()
-).join(" ");
-export {
- texto_busca
-};
diff --git a/dist-front/tipagemRotas.js b/dist-front/tipagemRotas.js
deleted file mode 100644
index dace273..0000000
--- a/dist-front/tipagemRotas.js
+++ /dev/null
@@ -1,88 +0,0 @@
-class TipagemRotas {
- /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
- ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
- */
- constructor({
- caminho,
- acaoIr
- }) {
- this._partesCaminho = [];
- this._acaoIr = acaoIr;
- this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).flatMap((a) => a.split("/")).filter(Boolean);
- }
- /** Retorna o caminho completo da rota
- ** console.log(mCaminho.caminho)
- ** "/caminho"
- */
- get caminho() {
- const ret = `/${this._partesCaminho.join("/")}`;
- return ret;
- }
- /** Define o caminho completo da rota
- ** mCaminho.caminho = "/novoCaminho"
- ** console.log(mCaminho.caminho)
- ** "/novoCaminho"
- ** */
- set caminho(caminhoParcial) {
- this._partesCaminho = caminhoParcial.split("/").filter((parte) => parte);
- }
- /** Retorna o caminho completo da rota com a query
- ** console.log(mCaminho.resolve({q:"query"}))
- ** "http://localhost:3000/caminho?q=query"
- */
- endereco(query, usarComoHash) {
- const url = new URL(
- typeof window !== "undefined" ? window.location.href : "http://localhost"
- );
- url.pathname = this.caminho;
- url.search = "";
- const queryKeys = Object.entries(query);
- for (const [key, value] of queryKeys) {
- url.searchParams.set(
- String(key),
- value === void 0 || value === null ? "" : value
- );
- }
- url.hash = "";
- if (usarComoHash) {
- url.hash = `#${url.search}`;
- url.search = "";
- }
- return url.href;
- }
- /** Vai para a url
- ** mCaminho.ir({q:"query"})
- ** window.location.href = "http://localhost:3000/caminho?q=query"
- */
- ir(query) {
- if (this._acaoIr) {
- this._acaoIr(this.endereco(query));
- } else {
- if (typeof window != "undefined") {
- window.location.href = this.endereco(query);
- }
- }
- }
- /** Retorna os parametros da url
- ** console.log(mCaminho.parametros())
- ** {q:"query"}
- */
- get parametros() {
- const url = new URL(
- typeof window !== "undefined" ? window.location.href : "http://localhost"
- );
- const query = url.searchParams;
- const queryObj = Object.fromEntries(query.entries());
- const hash = url.hash;
- if (hash) {
- const hashObj = Object.fromEntries(
- new URLSearchParams(hash.slice(1)).entries()
- );
- return { ...queryObj, ...hashObj };
- }
- return queryObj;
- }
-}
-export {
- TipagemRotas
-};
diff --git a/dist-front/tsup/tsup.config.back.js b/dist-front/tsup/tsup.config.back.js
deleted file mode 100644
index b95e08e..0000000
--- a/dist-front/tsup/tsup.config.back.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import { defineConfig } from "tsup";
-const tsup_config_back = {
- /** Não mecher aqui */
- entry: ["src/**/*.ts", "src/**/*.tsx"],
- // Adicionado .tsx para compatibilidade, se aplicável
- format: "cjs",
- // Gera módulos CommonJS, padrão para Node.js
- target: "node20",
- // Compila para o ambiente Node.js versão 20 (ou sua versão alvo)
- outDir: "dist-back",
- // Diretório de saída para os arquivos transpilados
- clean: true,
- // Limpa o diretório de saída antes de cada build
- bundle: false,
- // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
- splitting: false,
- // Desnecessário quando bundle é false
- dts: false,
- // RECOMENDADO: Gera arquivos de declaração TypeScript (.d.ts)
- // legacyOutput e outExtension foram removidos por não serem necessários
- sourcemap: false,
- minify: false,
- // Geralmente não minificamos o código do backend em produção, mas você pode mudar
- outExtension: () => ({ js: ".js" })
-};
-var tsup_config_back_default = defineConfig(tsup_config_back);
-export {
- tsup_config_back_default as default,
- tsup_config_back
-};
diff --git a/dist-front/tsup/tsup.config.front.js b/dist-front/tsup/tsup.config.front.js
deleted file mode 100644
index bcda060..0000000
--- a/dist-front/tsup/tsup.config.front.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { defineConfig } from "tsup";
-const tsup_config_front = {
- entry: ["src/**/*.ts", "src/**/*.tsx"],
- // Adicionado .tsx para compatibilidade, se aplicável
- format: "esm",
- // Gera módulos ES para import/export no navegador
- target: "es2022",
- // Ou 'esnext' para os recursos mais recentes
- outDir: "dist-front",
- // Diretório de saída para os arquivos transpilados
- clean: true,
- // Limpa o diretório de saída antes de cada build
- bundle: false,
- // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
- splitting: false,
- // Desnecessário quando bundle é false
- dts: false,
- // Não gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS
- // legacyOutput e outExtension foram removidos por não serem necessários
- sourcemap: false,
- minify: false,
- // Recomendado para builds de produção
- outExtension: () => ({ js: ".js" })
-};
-var tsup_config_front_default = defineConfig(tsup_config_front);
-export {
- tsup_config_front_default as default,
- tsup_config_front
-};
diff --git a/dist-front/tsup/tsup.config.js b/dist-front/tsup/tsup.config.js
deleted file mode 100644
index 6903b0a..0000000
--- a/dist-front/tsup/tsup.config.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { defineConfig } from "tsup";
-import { tsup_config_back } from "./tsup.config.back";
-import { tsup_config_front } from "./tsup.config.front";
-var tsup_config_default = defineConfig([tsup_config_back, tsup_config_front]);
-export {
- tsup_config_default as default
-};
diff --git a/dist-front/unidades_medida.js b/dist-front/unidades_medida.js
deleted file mode 100644
index 956e6d1..0000000
--- a/dist-front/unidades_medida.js
+++ /dev/null
@@ -1,57 +0,0 @@
-var siglas_unidades_medida = /* @__PURE__ */ ((siglas_unidades_medida2) => {
- siglas_unidades_medida2["UN"] = "UN";
- siglas_unidades_medida2["KG"] = "KG";
- siglas_unidades_medida2["TON"] = "TON";
- siglas_unidades_medida2["g"] = "g";
- siglas_unidades_medida2["M\xB3"] = "M\xB3";
- siglas_unidades_medida2["Lt"] = "Lt";
- return siglas_unidades_medida2;
-})(siglas_unidades_medida || {});
-const unidades_medida = [
- {
- sigla_unidade: "KG",
- nome: "Quilograma",
- sigla_normalizada: "KG",
- normalizar: (valor) => valor,
- tipo: "massa"
- },
- {
- sigla_unidade: "g",
- nome: "Grama",
- sigla_normalizada: "KG",
- normalizar: (valor) => valor / 1e3,
- tipo: "massa"
- },
- {
- sigla_unidade: "TON",
- nome: "Tonelada",
- sigla_normalizada: "KG",
- normalizar: (valor) => valor * 1e3,
- tipo: "massa"
- },
- {
- sigla_unidade: "Lt",
- nome: "Litro",
- sigla_normalizada: "Lt",
- normalizar: (valor) => valor,
- tipo: "volume"
- },
- {
- sigla_unidade: "M\xB3",
- nome: "Metro C\xFAbico",
- sigla_normalizada: "Lt",
- normalizar: (valor) => valor * 1e3,
- tipo: "volume"
- },
- {
- sigla_unidade: "UN",
- nome: "Unidade",
- sigla_normalizada: "UN",
- normalizar: (valor) => valor,
- tipo: "unidade"
- }
-];
-export {
- siglas_unidades_medida,
- unidades_medida
-};
diff --git a/dist-front/uuid.js b/dist-front/uuid.js
deleted file mode 100644
index 0ad8150..0000000
--- a/dist-front/uuid.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const letras = "0123456789abcdef".split("");
-const uuid = () => {
- letras.sort(() => Math.random() - 0.5);
- const modelo = "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx".split("");
- const retorno = modelo.map(
- (letra) => letra === "x" ? letras[(1e3 * Math.random() | 0) % letras.length] : letra
- ).join("");
- return retorno;
-};
-export {
- uuid
-};
diff --git a/dist-front/variaveisComuns.js b/dist-front/variaveisComuns.js
deleted file mode 100644
index 6758f24..0000000
--- a/dist-front/variaveisComuns.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const esperar = (ms) => new Promise(
- (resolve) => setTimeout(() => resolve(true), ms)
-);
-const nomeVariavel = (v) => Object.keys(v).join("/");
-export {
- esperar,
- nomeVariavel
-};
diff --git a/package.json b/package.json
index dbeeb2f..5194728 100644
--- a/package.json
+++ b/package.json
@@ -1,19 +1,20 @@
{
"name": "p-comuns",
- "version": "0.158.0",
+ "version": "0.202.0",
"description": "",
- "main": "./src/index.ts",
+ "main": "./dist-back/index.js",
+ "module": "./dist-front/index.mjs",
+ "types": "./src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
- "import": "./dist-front/index.js",
+ "import": "./dist-front/index.mjs",
"require": "./dist-back/index.js"
}
},
- "types": "./src/index.ts",
"scripts": {
"biome": "npx @biomejs/biome check --write ./src",
- "build": "npm --no-git-tag-version version minor && pnpm run biome && tsup --config ./src/tsup/tsup.config.ts"
+ "build": "npm --no-git-tag-version version minor && pnpm run biome && tsup --config ./tsup/tsup.config.ts"
},
"author": {
"name": "AZTECA SOFTWARE LTDA",
diff --git a/src/index.ts b/src/index.ts
index b5c6f4d..c042716 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -5,6 +5,7 @@ export * from "./consulta"
export * from "./ecosistema"
export * from "./extensoes"
export * from "./logger"
+export * from "./testes-de-variaveis"
export * from "./texto_busca"
export * from "./tipagemRotas"
export * from "./unidades_medida"
diff --git a/src/testes-de-variaveis/index.ts b/src/testes-de-variaveis/index.ts
new file mode 100644
index 0000000..3a0862b
--- /dev/null
+++ b/src/testes-de-variaveis/index.ts
@@ -0,0 +1,2 @@
+export * from "./umaFuncao"
+export * from "./umaVariavel"
diff --git a/src/testes-de-variaveis/umaFuncao.ts b/src/testes-de-variaveis/umaFuncao.ts
new file mode 100644
index 0000000..2429a9b
--- /dev/null
+++ b/src/testes-de-variaveis/umaFuncao.ts
@@ -0,0 +1 @@
+export const umaFuncao = () => "Olá Mundo! (função)"
diff --git a/src/testes-de-variaveis/umaVariavel.ts b/src/testes-de-variaveis/umaVariavel.ts
new file mode 100644
index 0000000..5096dac
--- /dev/null
+++ b/src/testes-de-variaveis/umaVariavel.ts
@@ -0,0 +1 @@
+export const umaVariavel = "Olá Mundo! (variável)"
diff --git a/src/tsup/como usar.md b/src/tsup/como usar.md
deleted file mode 100644
index abf3492..0000000
--- a/src/tsup/como usar.md
+++ /dev/null
@@ -1,14 +0,0 @@
-"tsup --config tsup.config.ts"
-
-tsup --config ./node_modules/p-comuns/src/tsup/tsup.config.ts
-
-
- "main": "./src/index.ts",
- "exports": {
- ".": {
- "types": "./src/index.ts",
- "import": "./dist-front/index.js",
- "require": "./dist-back/index.js"
- }
- },
- "types": "./src/index.ts",
\ No newline at end of file
diff --git a/testes/node/index.ts b/testes/node/index.ts
new file mode 100644
index 0000000..1b4eb12
--- /dev/null
+++ b/testes/node/index.ts
@@ -0,0 +1,3 @@
+import {umaFuncao, umaVariavel} from 'p-comuns'
+console.log(umaVariavel)
+console.log(umaFuncao())
\ No newline at end of file
diff --git a/testes/node/package.json b/testes/node/package.json
new file mode 100644
index 0000000..b55611d
--- /dev/null
+++ b/testes/node/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "node",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "p-comuns": "link:../.."
+ }
+}
diff --git a/testes/node/pnpm-lock.yaml b/testes/node/pnpm-lock.yaml
new file mode 100644
index 0000000..4064f3d
--- /dev/null
+++ b/testes/node/pnpm-lock.yaml
@@ -0,0 +1,13 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ p-comuns:
+ specifier: link:../..
+ version: link:../..
diff --git a/testes/react-app/.gitignore b/testes/react-app/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/testes/react-app/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/testes/react-app/README.md b/testes/react-app/README.md
new file mode 100644
index 0000000..7959ce4
--- /dev/null
+++ b/testes/react-app/README.md
@@ -0,0 +1,69 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
+
+```js
+export default tseslint.config([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+
+ // Remove tseslint.configs.recommended and replace with this
+ ...tseslint.configs.recommendedTypeChecked,
+ // Alternatively, use this for stricter rules
+ ...tseslint.configs.strictTypeChecked,
+ // Optionally, add this for stylistic rules
+ ...tseslint.configs.stylisticTypeChecked,
+
+ // Other configs...
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
+
+You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
+
+```js
+// eslint.config.js
+import reactX from 'eslint-plugin-react-x'
+import reactDom from 'eslint-plugin-react-dom'
+
+export default tseslint.config([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ // Other configs...
+ // Enable lint rules for React
+ reactX.configs['recommended-typescript'],
+ // Enable lint rules for React DOM
+ reactDom.configs.recommended,
+ ],
+ languageOptions: {
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ // other options...
+ },
+ },
+])
+```
diff --git a/testes/react-app/eslint.config.js b/testes/react-app/eslint.config.js
new file mode 100644
index 0000000..d94e7de
--- /dev/null
+++ b/testes/react-app/eslint.config.js
@@ -0,0 +1,23 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+import tseslint from 'typescript-eslint'
+import { globalIgnores } from 'eslint/config'
+
+export default tseslint.config([
+ globalIgnores(['dist']),
+ {
+ files: ['**/*.{ts,tsx}'],
+ extends: [
+ js.configs.recommended,
+ tseslint.configs.recommended,
+ reactHooks.configs['recommended-latest'],
+ reactRefresh.configs.vite,
+ ],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ },
+ },
+])
diff --git a/testes/react-app/index.html b/testes/react-app/index.html
new file mode 100644
index 0000000..e4b78ea
--- /dev/null
+++ b/testes/react-app/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite + React + TS
+
+
+
+
+
+
diff --git a/testes/react-app/package.json b/testes/react-app/package.json
new file mode 100644
index 0000000..fe95ab8
--- /dev/null
+++ b/testes/react-app/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "react-app",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "p-comuns": "link:../..",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.30.1",
+ "@types/react": "^19.1.8",
+ "@types/react-dom": "^19.1.6",
+ "@vitejs/plugin-react": "^4.6.0",
+ "eslint": "^9.30.1",
+ "eslint-plugin-react-hooks": "^5.2.0",
+ "eslint-plugin-react-refresh": "^0.4.20",
+ "globals": "^16.3.0",
+ "typescript": "~5.8.3",
+ "typescript-eslint": "^8.35.1",
+ "vite": "^7.0.4"
+ }
+}
diff --git a/testes/react-app/pnpm-lock.yaml b/testes/react-app/pnpm-lock.yaml
new file mode 100644
index 0000000..b8fae1b
--- /dev/null
+++ b/testes/react-app/pnpm-lock.yaml
@@ -0,0 +1,2082 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ p-comuns:
+ specifier: link:../..
+ version: link:../..
+ react:
+ specifier: ^19.1.0
+ version: 19.1.0
+ react-dom:
+ specifier: ^19.1.0
+ version: 19.1.0(react@19.1.0)
+ devDependencies:
+ '@eslint/js':
+ specifier: ^9.30.1
+ version: 9.31.0
+ '@types/react':
+ specifier: ^19.1.8
+ version: 19.1.8
+ '@types/react-dom':
+ specifier: ^19.1.6
+ version: 19.1.6(@types/react@19.1.8)
+ '@vitejs/plugin-react':
+ specifier: ^4.6.0
+ version: 4.7.0(vite@7.0.5)
+ eslint:
+ specifier: ^9.30.1
+ version: 9.31.0
+ eslint-plugin-react-hooks:
+ specifier: ^5.2.0
+ version: 5.2.0(eslint@9.31.0)
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.20
+ version: 0.4.20(eslint@9.31.0)
+ globals:
+ specifier: ^16.3.0
+ version: 16.3.0
+ typescript:
+ specifier: ~5.8.3
+ version: 5.8.3
+ typescript-eslint:
+ specifier: ^8.35.1
+ version: 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ vite:
+ specifier: ^7.0.4
+ version: 7.0.5
+
+packages:
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.0':
+ resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.0':
+ resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.0':
+ resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.27.3':
+ resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.27.6':
+ resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.0':
+ resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1':
+ resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1':
+ resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.0':
+ resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.1':
+ resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@esbuild/aix-ppc64@0.25.6':
+ resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.25.6':
+ resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.6':
+ resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.6':
+ resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.6':
+ resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.6':
+ resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.6':
+ resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.6':
+ resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.6':
+ resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.6':
+ resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.6':
+ resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.6':
+ resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.6':
+ resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.6':
+ resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.6':
+ resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.6':
+ resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.6':
+ resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.6':
+ resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.6':
+ resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.6':
+ resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.6':
+ resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.6':
+ resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.6':
+ resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.6':
+ resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.6':
+ resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.6':
+ resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.7.0':
+ resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/config-helpers@0.3.0':
+ resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.15.1':
+ resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.31.0':
+ resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.3.3':
+ resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
+
+ '@jridgewell/gen-mapping@0.3.12':
+ resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.4':
+ resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
+
+ '@jridgewell/trace-mapping@0.3.29':
+ resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@rolldown/pluginutils@1.0.0-beta.27':
+ resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+
+ '@rollup/rollup-android-arm-eabi@4.45.1':
+ resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.45.1':
+ resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.45.1':
+ resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.45.1':
+ resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.45.1':
+ resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.45.1':
+ resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.45.1':
+ resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.45.1':
+ resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.45.1':
+ resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.45.1':
+ resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.45.1':
+ resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.45.1':
+ resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.45.1':
+ resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-musl@4.45.1':
+ resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.45.1':
+ resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.45.1':
+ resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.45.1':
+ resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.45.1':
+ resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.45.1':
+ resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.45.1':
+ resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==}
+ cpu: [x64]
+ os: [win32]
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.20.7':
+ resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/react-dom@19.1.6':
+ resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==}
+ peerDependencies:
+ '@types/react': ^19.0.0
+
+ '@types/react@19.1.8':
+ resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
+
+ '@typescript-eslint/eslint-plugin@8.37.0':
+ resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.37.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/parser@8.37.0':
+ resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/project-service@8.37.0':
+ resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/scope-manager@8.37.0':
+ resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/tsconfig-utils@8.37.0':
+ resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/type-utils@8.37.0':
+ resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/types@8.37.0':
+ resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.37.0':
+ resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/utils@8.37.0':
+ resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ '@typescript-eslint/visitor-keys@8.37.0':
+ resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@vitejs/plugin-react@4.7.0':
+ resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ brace-expansion@1.1.12:
+ resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist@4.25.1:
+ resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ caniuse-lite@1.0.30001727:
+ resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ debug@4.4.1:
+ resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ electron-to-chromium@1.5.187:
+ resolution: {integrity: sha512-cl5Jc9I0KGUoOoSbxvTywTa40uspGJt/BDBoDLoxJRSBpWh4FFXBsjNRHfQrONsV/OoEjDfHUmZQa2d6Ze4YgA==}
+
+ esbuild@0.25.6:
+ resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ eslint-plugin-react-hooks@5.2.0:
+ resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+
+ eslint-plugin-react-refresh@0.4.20:
+ resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==}
+ peerDependencies:
+ eslint: '>=8.40'
+
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.31.0:
+ resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fdir@6.4.6:
+ resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@16.3.0:
+ resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
+ engines: {node: '>=18'}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-dom@19.1.0:
+ resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
+ peerDependencies:
+ react: ^19.1.0
+
+ react-refresh@0.17.0:
+ resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
+ engines: {node: '>=0.10.0'}
+
+ react@19.1.0:
+ resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rollup@4.45.1:
+ resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ scheduler@0.26.0:
+ resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ tinyglobby@0.2.14:
+ resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
+ engines: {node: '>=12.0.0'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ typescript-eslint@8.37.0:
+ resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.9.0'
+
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ vite@7.0.5:
+ resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ lightningcss: ^1.21.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+snapshots:
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
+
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.27.1
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.0': {}
+
+ '@babel/core@7.28.0':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.0
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0)
+ '@babel/helpers': 7.27.6
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.1
+ convert-source-map: 2.0.0
+ debug: 4.4.1
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.28.0':
+ dependencies:
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.1
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
+ jsesc: 3.1.0
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.25.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.27.1': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helpers@7.27.6':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.1
+
+ '@babel/parser@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.1
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.1
+
+ '@babel/traverse@7.28.0':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.0
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.1
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.28.1':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
+ '@esbuild/aix-ppc64@0.25.6':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/android-arm@0.25.6':
+ optional: true
+
+ '@esbuild/android-x64@0.25.6':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.6':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.6':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.6':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.6':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.6':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.6':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.6':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.6':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.6':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.6':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.6':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.6':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.6':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.6':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.6':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.6':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0)':
+ dependencies:
+ eslint: 9.31.0
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.12.1': {}
+
+ '@eslint/config-array@0.21.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.1
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/config-helpers@0.3.0': {}
+
+ '@eslint/core@0.15.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/eslintrc@3.3.1':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.4.1
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.31.0': {}
+
+ '@eslint/object-schema@2.1.6': {}
+
+ '@eslint/plugin-kit@0.3.3':
+ dependencies:
+ '@eslint/core': 0.15.1
+ levn: 0.4.1
+
+ '@humanfs/core@0.19.1': {}
+
+ '@humanfs/node@0.16.6':
+ dependencies:
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.3.1
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.3.1': {}
+
+ '@humanwhocodes/retry@0.4.3': {}
+
+ '@jridgewell/gen-mapping@0.3.12':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.4
+ '@jridgewell/trace-mapping': 0.3.29
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.4': {}
+
+ '@jridgewell/trace-mapping@0.3.29':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.4
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.19.1
+
+ '@rolldown/pluginutils@1.0.0-beta.27': {}
+
+ '@rollup/rollup-android-arm-eabi@4.45.1':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.45.1':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.45.1':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.45.1':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.45.1':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.45.1':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.45.1':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.45.1':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.45.1':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.45.1':
+ optional: true
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.1
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.7
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.28.1
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.1
+
+ '@types/babel__traverse@7.20.7':
+ dependencies:
+ '@babel/types': 7.28.1
+
+ '@types/estree@1.0.8': {}
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/react-dom@19.1.6(@types/react@19.1.8)':
+ dependencies:
+ '@types/react': 19.1.8
+
+ '@types/react@19.1.8':
+ dependencies:
+ csstype: 3.1.3
+
+ '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.37.0
+ eslint: 9.31.0
+ graphemer: 1.4.0
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.37.0
+ debug: 4.4.1
+ eslint: 9.31.0
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/project-service@8.37.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.37.0
+ debug: 4.4.1
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/scope-manager@8.37.0':
+ dependencies:
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/visitor-keys': 8.37.0
+
+ '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.8.3)':
+ dependencies:
+ typescript: 5.8.3
+
+ '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0)(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ debug: 4.4.1
+ eslint: 9.31.0
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/types@8.37.0': {}
+
+ '@typescript-eslint/typescript-estree@8.37.0(typescript@5.8.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/visitor-keys': 8.37.0
+ debug: 4.4.1
+ fast-glob: 3.3.3
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.7.2
+ ts-api-utils: 2.1.0(typescript@5.8.3)
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.37.0(eslint@9.31.0)(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0)
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ eslint: 9.31.0
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/visitor-keys@8.37.0':
+ dependencies:
+ '@typescript-eslint/types': 8.37.0
+ eslint-visitor-keys: 4.2.1
+
+ '@vitejs/plugin-react@4.7.0(vite@7.0.5)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0)
+ '@rolldown/pluginutils': 1.0.0-beta.27
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.17.0
+ vite: 7.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
+ acorn@8.15.0: {}
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ argparse@2.0.1: {}
+
+ balanced-match@1.0.2: {}
+
+ brace-expansion@1.1.12:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ browserslist@4.25.1:
+ dependencies:
+ caniuse-lite: 1.0.30001727
+ electron-to-chromium: 1.5.187
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.25.1)
+
+ callsites@3.1.0: {}
+
+ caniuse-lite@1.0.30001727: {}
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ concat-map@0.0.1: {}
+
+ convert-source-map@2.0.0: {}
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ csstype@3.1.3: {}
+
+ debug@4.4.1:
+ dependencies:
+ ms: 2.1.3
+
+ deep-is@0.1.4: {}
+
+ electron-to-chromium@1.5.187: {}
+
+ esbuild@0.25.6:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.6
+ '@esbuild/android-arm': 0.25.6
+ '@esbuild/android-arm64': 0.25.6
+ '@esbuild/android-x64': 0.25.6
+ '@esbuild/darwin-arm64': 0.25.6
+ '@esbuild/darwin-x64': 0.25.6
+ '@esbuild/freebsd-arm64': 0.25.6
+ '@esbuild/freebsd-x64': 0.25.6
+ '@esbuild/linux-arm': 0.25.6
+ '@esbuild/linux-arm64': 0.25.6
+ '@esbuild/linux-ia32': 0.25.6
+ '@esbuild/linux-loong64': 0.25.6
+ '@esbuild/linux-mips64el': 0.25.6
+ '@esbuild/linux-ppc64': 0.25.6
+ '@esbuild/linux-riscv64': 0.25.6
+ '@esbuild/linux-s390x': 0.25.6
+ '@esbuild/linux-x64': 0.25.6
+ '@esbuild/netbsd-arm64': 0.25.6
+ '@esbuild/netbsd-x64': 0.25.6
+ '@esbuild/openbsd-arm64': 0.25.6
+ '@esbuild/openbsd-x64': 0.25.6
+ '@esbuild/openharmony-arm64': 0.25.6
+ '@esbuild/sunos-x64': 0.25.6
+ '@esbuild/win32-arm64': 0.25.6
+ '@esbuild/win32-ia32': 0.25.6
+ '@esbuild/win32-x64': 0.25.6
+
+ escalade@3.2.0: {}
+
+ escape-string-regexp@4.0.0: {}
+
+ eslint-plugin-react-hooks@5.2.0(eslint@9.31.0):
+ dependencies:
+ eslint: 9.31.0
+
+ eslint-plugin-react-refresh@0.4.20(eslint@9.31.0):
+ dependencies:
+ eslint: 9.31.0
+
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-visitor-keys@3.4.3: {}
+
+ eslint-visitor-keys@4.2.1: {}
+
+ eslint@9.31.0:
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0)
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.3.0
+ '@eslint/core': 0.15.1
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.31.0
+ '@eslint/plugin-kit': 0.3.3
+ '@humanfs/node': 0.16.6
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ transitivePeerDependencies:
+ - supports-color
+
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 4.2.1
+
+ esquery@1.6.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@5.3.0: {}
+
+ esutils@2.0.3: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fast-json-stable-stringify@2.1.0: {}
+
+ fast-levenshtein@2.0.6: {}
+
+ fastq@1.19.1:
+ dependencies:
+ reusify: 1.1.0
+
+ fdir@6.4.6(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+
+ file-entry-cache@8.0.0:
+ dependencies:
+ flat-cache: 4.0.1
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ flat-cache@4.0.1:
+ dependencies:
+ flatted: 3.3.3
+ keyv: 4.5.4
+
+ flatted@3.3.3: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ gensync@1.0.0-beta.2: {}
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ globals@14.0.0: {}
+
+ globals@16.3.0: {}
+
+ graphemer@1.4.0: {}
+
+ has-flag@4.0.0: {}
+
+ ignore@5.3.2: {}
+
+ ignore@7.0.5: {}
+
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ imurmurhash@0.1.4: {}
+
+ is-extglob@2.1.1: {}
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-number@7.0.0: {}
+
+ isexe@2.0.0: {}
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
+ jsesc@3.1.0: {}
+
+ json-buffer@3.0.1: {}
+
+ json-schema-traverse@0.4.1: {}
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+ json5@2.2.3: {}
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ levn@0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
+ lodash.merge@4.6.2: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ merge2@1.4.1: {}
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.12
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.2
+
+ ms@2.1.3: {}
+
+ nanoid@3.3.11: {}
+
+ natural-compare@1.4.0: {}
+
+ node-releases@2.0.19: {}
+
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.5
+
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ path-exists@4.0.0: {}
+
+ path-key@3.1.1: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ picomatch@4.0.3: {}
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prelude-ls@1.2.1: {}
+
+ punycode@2.3.1: {}
+
+ queue-microtask@1.2.3: {}
+
+ react-dom@19.1.0(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ scheduler: 0.26.0
+
+ react-refresh@0.17.0: {}
+
+ react@19.1.0: {}
+
+ resolve-from@4.0.0: {}
+
+ reusify@1.1.0: {}
+
+ rollup@4.45.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.45.1
+ '@rollup/rollup-android-arm64': 4.45.1
+ '@rollup/rollup-darwin-arm64': 4.45.1
+ '@rollup/rollup-darwin-x64': 4.45.1
+ '@rollup/rollup-freebsd-arm64': 4.45.1
+ '@rollup/rollup-freebsd-x64': 4.45.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.45.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.45.1
+ '@rollup/rollup-linux-arm64-gnu': 4.45.1
+ '@rollup/rollup-linux-arm64-musl': 4.45.1
+ '@rollup/rollup-linux-loongarch64-gnu': 4.45.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.45.1
+ '@rollup/rollup-linux-riscv64-musl': 4.45.1
+ '@rollup/rollup-linux-s390x-gnu': 4.45.1
+ '@rollup/rollup-linux-x64-gnu': 4.45.1
+ '@rollup/rollup-linux-x64-musl': 4.45.1
+ '@rollup/rollup-win32-arm64-msvc': 4.45.1
+ '@rollup/rollup-win32-ia32-msvc': 4.45.1
+ '@rollup/rollup-win32-x64-msvc': 4.45.1
+ fsevents: 2.3.3
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ scheduler@0.26.0: {}
+
+ semver@6.3.1: {}
+
+ semver@7.7.2: {}
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ source-map-js@1.2.1: {}
+
+ strip-json-comments@3.1.1: {}
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ tinyglobby@0.2.14:
+ dependencies:
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ ts-api-utils@2.1.0(typescript@5.8.3):
+ dependencies:
+ typescript: 5.8.3
+
+ type-check@0.4.0:
+ dependencies:
+ prelude-ls: 1.2.1
+
+ typescript-eslint@8.37.0(eslint@9.31.0)(typescript@5.8.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)
+ '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3)
+ eslint: 9.31.0
+ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ typescript@5.8.3: {}
+
+ update-browserslist-db@1.1.3(browserslist@4.25.1):
+ dependencies:
+ browserslist: 4.25.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ vite@7.0.5:
+ dependencies:
+ esbuild: 0.25.6
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.45.1
+ tinyglobby: 0.2.14
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ word-wrap@1.2.5: {}
+
+ yallist@3.1.1: {}
+
+ yocto-queue@0.1.0: {}
diff --git a/testes/react-app/src/App.tsx b/testes/react-app/src/App.tsx
new file mode 100644
index 0000000..40089d6
--- /dev/null
+++ b/testes/react-app/src/App.tsx
@@ -0,0 +1,12 @@
+import { umaFuncao, umaVariavel } from "p-comuns"
+
+function App() {
+ return (
+ <>
+ {umaFuncao()}
+ {umaVariavel}
+ >
+ )
+}
+
+export default App
diff --git a/testes/react-app/src/main.tsx b/testes/react-app/src/main.tsx
new file mode 100644
index 0000000..4aff025
--- /dev/null
+++ b/testes/react-app/src/main.tsx
@@ -0,0 +1,9 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import App from './App.tsx'
+
+createRoot(document.getElementById('root')!).render(
+
+
+ ,
+)
diff --git a/testes/react-app/src/vite-env.d.ts b/testes/react-app/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/testes/react-app/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/testes/react-app/tsconfig.app.json b/testes/react-app/tsconfig.app.json
new file mode 100644
index 0000000..227a6c6
--- /dev/null
+++ b/testes/react-app/tsconfig.app.json
@@ -0,0 +1,27 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2022",
+ "useDefineForClassFields": true,
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}
diff --git a/testes/react-app/tsconfig.json b/testes/react-app/tsconfig.json
new file mode 100644
index 0000000..1ffef60
--- /dev/null
+++ b/testes/react-app/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "files": [],
+ "references": [
+ { "path": "./tsconfig.app.json" },
+ { "path": "./tsconfig.node.json" }
+ ]
+}
diff --git a/testes/react-app/tsconfig.node.json b/testes/react-app/tsconfig.node.json
new file mode 100644
index 0000000..f85a399
--- /dev/null
+++ b/testes/react-app/tsconfig.node.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "target": "ES2023",
+ "lib": ["ES2023"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/testes/react-app/vite.config.ts b/testes/react-app/vite.config.ts
new file mode 100644
index 0000000..9f0266d
--- /dev/null
+++ b/testes/react-app/vite.config.ts
@@ -0,0 +1,12 @@
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+import {umaFuncao,umaVariavel} from 'p-comuns'
+
+
+console.log('Dentro do vitConfig', umaVariavel, umaFuncao())
+
+export default defineConfig({
+ plugins: [react()],server:{ watch: {
+ ignored: ['**/node_modules/**'] // evita watchers pesados
+ }}
+})
diff --git a/tsconfig.json b/tsconfig.json
index deebe41..94f44cd 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,5 +21,5 @@
"strict": true, /* Habilita todas as opções de verificação estrita de tipos. */
"skipLibCheck": true /* Ignora a verificação de tipos em arquivos de declaração de bibliotecas. */
},
- "include": ["src/**/*"] /* Inclui todos os arquivos TypeScript dentro da pasta src. */
+ "include": ["src/**/*", "tsup"] /* Inclui todos os arquivos TypeScript dentro da pasta src. */
}
diff --git a/tsup/como usar.md b/tsup/como usar.md
new file mode 100644
index 0000000..b51cc8f
--- /dev/null
+++ b/tsup/como usar.md
@@ -0,0 +1,14 @@
+"tsup --config tsup.config.ts"
+
+tsup --config ./node_modules/p-comuns/tsup/tsup.config.ts
+
+ "main": "./dist-back/index.js",
+ "module": "./dist-front/index.mjs",
+ "types": "./src/index.ts",
+ "exports": {
+ ".": {
+ "types": "./src/index.ts",
+ "import": "./dist-front/index.mjs",
+ "require": "./dist-back/index.js"
+ }
+ },
\ No newline at end of file
diff --git a/src/tsup/tsup.config.back.ts b/tsup/tsup.config.back.ts
similarity index 98%
rename from src/tsup/tsup.config.back.ts
rename to tsup/tsup.config.back.ts
index 68aa4a7..cffbdf4 100644
--- a/src/tsup/tsup.config.back.ts
+++ b/tsup/tsup.config.back.ts
@@ -16,6 +16,7 @@ export const tsup_config_back: Options = {
// legacyOutput e outExtension foram removidos por não serem necessários
sourcemap: false,
minify: false, // Geralmente não minificamos o código do backend em produção, mas você pode mudar
+ platform: "node",
outExtension: () => ({ js: ".js" }),
}
diff --git a/src/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts
similarity index 81%
rename from src/tsup/tsup.config.front.ts
rename to tsup/tsup.config.front.ts
index 7274289..c015ab3 100644
--- a/src/tsup/tsup.config.front.ts
+++ b/tsup/tsup.config.front.ts
@@ -4,18 +4,19 @@ import { defineConfig, type Options } from "tsup"
// Definimos as opções em uma constante para clareza, como você fez.
// Exportamos para que possam ser reutilizadas ou inspecionadas.
export const tsup_config_front: Options = {
- entry: ["src/**/*.ts", "src/**/*.tsx"], // Adicionado .tsx para compatibilidade, se aplicável
+ entry: ["src/index.ts"], // Adicionado .tsx para compatibilidade, se aplicável
format: "esm", // Gera módulos ES para import/export no navegador
target: "es2022", // Ou 'esnext' para os recursos mais recentes
outDir: "dist-front", // Diretório de saída para os arquivos transpilados
clean: true, // Limpa o diretório de saída antes de cada build
- bundle: false, // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
+ bundle: true, // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
splitting: false, // Desnecessário quando bundle é false
dts: false, // Não gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS
// legacyOutput e outExtension foram removidos por não serem necessários
sourcemap: false,
minify: false, // Recomendado para builds de produção
- outExtension: () => ({ js: ".js" }),
+ platform: "browser",
+ outExtension: () => ({ js: ".mjs" }),
}
// Exporta a configuração padrão usando defineConfig
diff --git a/src/tsup/tsup.config.ts b/tsup/tsup.config.ts
similarity index 100%
rename from src/tsup/tsup.config.ts
rename to tsup/tsup.config.ts