`
-- **Atributos em multiline** quando há mais de 2 props
-
-### TSX (componentes em `.tsx`)
-
-```tsx
-// Componente funcional Vue em TSX
-import { defineComponent, ref } from "vue"
-
-export const MeuComponente = defineComponent({
- props: {
- titulo: { type: String, required: true },
- },
- setup(props) {
- const contador = ref(0)
- return () => (
-
-
{props.titulo}
-
-
- )
- },
-})
-```
-
----
-
-## 🔧 Biome — Regras de Lint Importantes
-
-### Erros (bloqueiam o build)
-
-| Regra | Descrição |
-|-------|-----------|
-| `noUnusedVariables` | Variáveis definidas e não usadas |
-| `noUnusedImports` | Imports não utilizados |
-| `noVoidTypeReturn` | Função `void` retornando valor |
-| `noVueDataObjectDeclaration` | Vue 2 `data: {}` — usar função |
-| `noVueDuplicateKeys` | Chaves duplicadas em objetos Vue |
-| `noVueSetupPropsReactivityLoss` | Desestruturar `props` em `setup()` |
-| `noVueVIfWithVFor` | `v-if` + `v-for` no mesmo elemento |
-| `useVueVForKey` | `v-for` sem `:key` |
-| `useVueValidTemplateRoot` | Template sem raiz única (Vue 2) |
-
-### Warnings (code smells — corrija quando possível)
-
-| Regra | Descrição |
-|-------|-----------|
-| `useArrowFunction` | **Sempre use arrow function** — `function` é erro |
-| `noNonNullAssertion` | Evite `!` — trate o null |
-| `noDelete` | `delete obj.prop` é lento |
-| `noEmptyBlockStatements` | Blocos `{}` vazios |
-| `noArrayIndexKey` | `:key` com índice do array |
-| `noDangerouslySetInnerHtml` | `innerHTML` perigoso |
-| `noExcessiveCognitiveComplexity` | Função muito complexa (max: 20) |
-
----
-
-## 📦 Como Outros Projetos Consomem Este Pacote
-
-```json
-// biome.json do subprojeto (ex: PILAO-FRONT)
-{
- "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
- "extends": ["./node_modules/p-comuns/Documentos/biome.json"],
- "files": {
- "includes": ["src/**/*.{js,ts,jsx,tsx,vue}"]
- }
-}
-```
-
-```json
-// .vscode/settings.json do subprojeto
-{
- "editor.defaultFormatter": "biomejs.biome",
- "editor.formatOnSave": true,
- "editor.codeActionsOnSave": {
- "source.organizeImports.biome": "always",
- "source.fixAll.biome": "always"
- },
- "[vue]": { "editor.defaultFormatter": "biomejs.biome" },
- "[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
- "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
- "editor.rulers": [100],
- "files.eol": "\n"
-}
-```
-
----
-
-## 🚀 Scripts
-
-```bash
-pnpm biome # Formata + lint com auto-fix
-pnpm check # biome + tsc --noEmit (sem emitir arquivos)
-pnpm build # Bump de versão + biome + tsup + pack
-pnpm teste # Vitest (testes unitários)
-```
-
----
-
-## ⚠️ O que NÃO fazer
-
-- ❌ Não use `eslint` — o projeto usa Biome
-- ❌ Não use `prettier` — o projeto usa Biome
-- ❌ Não use `function` nomeada — sempre arrow function (`const fn = () => {}`)
-- ❌ Não use Vue Options API — sempre Composition API
-- ❌ Não desestrure `props` diretamente (quebra reatividade)
-- ❌ Não use `any` — use `unknown` + type narrowing
-- ❌ Não use índice como `:key` no `v-for`
-- ❌ Não quebre linhas com mais de 100 caracteres
-- ❌ Não use ponto-e-vírgula no final (Biome removerá)
-
----
-
-## 📚 Referências
-
-- [Biome 2.x Docs](https://biomejs.dev)
-- [Vue 3 Composition API](https://vuejs.org/guide/composition-api)
-- [Zod v4](https://zod.dev)
-- [tsup](https://tsup.egoist.dev)
diff --git a/Documentos/biome.json b/Documentos/biome.json
index 6c65440..c27b1f0 100755
--- a/Documentos/biome.json
+++ b/Documentos/biome.json
@@ -6,20 +6,12 @@
"enabled": true,
"rules": {
"recommended": true,
-
"correctness": {
"noUnusedVariables": "error",
"noUnusedImports": "error",
"noEmptyPattern": "off",
- "useExhaustiveDependencies": "off",
- "noVoidTypeReturn": "error",
- "noVueDataObjectDeclaration": "error",
- "noVueDuplicateKeys": "error",
- "noVueReservedKeys": "error",
- "noVueReservedProps": "error",
- "noVueSetupPropsReactivityLoss": "warn"
+ "useExhaustiveDependencies": "off"
},
-
"style": {
"noParameterAssign": "error",
"useAsConstAssertion": "error",
@@ -29,125 +21,44 @@
"useSingleVarDeclarator": "error",
"noUnusedTemplateLiteral": "error",
"useNumberNamespace": "error",
- "noInferrableTypes": "error",
- "useArrayLiterals": "error",
- "useConsistentArrayType": {
- "level": "error",
- "options": { "syntax": "shorthand" }
- },
- "useShorthandAssign": "error",
- "noNonNullAssertion": "warn"
+ "noInferrableTypes": "error"
},
-
"suspicious": {
"noDebugger": "off",
"noDoubleEquals": "off",
"noExplicitAny": "off",
"noApproximativeNumericConstant": "off",
- "noAsyncPromiseExecutor": "off",
- "noEmptyBlockStatements": "off",
- "noConsole": "off",
- "noArrayIndexKey": "warn"
+ "noAsyncPromiseExecutor": "off"
},
-
"complexity": {
"noUselessConstructor": "off",
"noBannedTypes": "off",
"useLiteralKeys": "off",
- "useArrowFunction": "error",
+ "useArrowFunction": "warn",
"useDateNow": "off",
- "noUselessFragments": "off",
- "noExcessiveCognitiveComplexity": "off",
- "noImportantStyles": "off"
+ "noUselessFragments": "off"
},
-
"performance": {
- "noAccumulatingSpread": "off",
- "noDelete": "off"
+ "noAccumulatingSpread": "off"
},
-
"a11y": {
- "useSemanticElements": "off",
- "useAltText": "warn",
- "useButtonType": "warn"
- },
-
- "security": {
- "noDangerouslySetInnerHtml": "warn"
- },
-
- "nursery": {
- "noVueArrowFuncInWatch": "warn",
- "noVueVIfWithVFor": "error",
- "useVueConsistentDefinePropsDeclaration": "warn",
- "useVueConsistentVBindStyle": "warn",
- "useVueConsistentVOnStyle": "warn",
- "useVueDefineMacrosOrder": "warn",
- "useVueVForKey": "error",
- "useVueValidTemplateRoot": "error",
- "useVueValidVBind": "error",
- "useVueValidVIf": "error",
- "useVueValidVElse": "error",
- "useVueValidVElseIf": "error",
- "useVueValidVOn": "warn",
- "useVueValidVHtml": "warn"
+ "useSemanticElements": "off"
}
}
},
-
"formatter": {
"enabled": true,
"indentStyle": "space",
- "indentWidth": 2,
- "lineWidth": 100,
- "lineEnding": "lf"
+ "indentWidth": 2
},
-
"javascript": {
- "globals": [
- "defineProps",
- "defineEmits",
- "defineExpose",
- "withDefaults",
- "defineModel",
- "defineOptions",
- "defineSlots"
- ],
- "parser": {
- "unsafeParameterDecoratorsEnabled": true
- },
"formatter": {
"enabled": true,
"semicolons": "asNeeded",
"arrowParentheses": "always",
"bracketSameLine": false,
"trailingCommas": "all",
- "attributePosition": "multiline",
- "quoteStyle": "double",
- "jsxQuoteStyle": "double",
- "bracketSpacing": true
- }
- },
-
- "css": {
- "formatter": {
- "enabled": true,
- "indentStyle": "space",
- "indentWidth": 2,
- "lineWidth": 100,
- "quoteStyle": "double"
- },
- "linter": {
- "enabled": true
- }
- },
-
- "html": {
- "formatter": {
- "enabled": true,
- "indentStyle": "space",
- "indentWidth": 2,
- "lineWidth": 100
+ "attributePosition": "multiline"
}
}
}
diff --git a/README.md b/README.md
index be02418..566b352 100755
--- a/README.md
+++ b/README.md
@@ -1,143 +1,124 @@
-# `p-comuns` — Pacote Compartilhado e-licencie
+## ✅ Uso do BiomeJS para Autoformatação
-Pacote de tipos, utilitários e configurações compartilhadas entre todos os subprojetos da plataforma **e-licencie** (back-end Node.js, front-end Vue 3 / TSX).
+Este guia mostra como configurar o [BiomeJS](https://biomejs.dev) para formatar e analisar código JavaScript/TypeScript no seu projeto.
---
-## ✅ Configuração do BiomeJS nos Subprojetos
+### 1. Incluir o pacote de configuração comum
-Este guia mostra como usar a configuração base do Biome disponível neste pacote (`Documentos/biome.json`). Todos os subprojetos herdam essas regras via `extends`.
+Certifique-se de que o pacote `p-comuns` (ou outro com a configuração compartilhada) esteja disponível no seu projeto. Ele deve conter o arquivo `Documentos/biome.json`.
-### 1. Adicionar o `p-comuns` como dependência
-
-```bash
-pnpm add --save-dev p-comuns
-# ou atualizar se já existir:
pnpm up p-comuns
-```
---
-### 2. Instalar o Biome
+### 2. Instalar o Biome com `pnpm`
```bash
-pnpm add --save-dev --save-exact @biomejs/biome@2.4.0
+pnpm add --save-dev --save-exact @biomejs/biome@2.1.4
```
> 🎯 Use `--save-exact` para garantir consistência de versões entre ambientes.
---
-### 3. Criar `biome.json` na raiz do subprojeto
+### 3. Criar o arquivo de configuração na raiz do projeto
+
+Crie um arquivo chamado `biome.json` com o seguinte conteúdo:
```json
{
- "$schema": "node_modules/@biomejs/biome/configuration_schema.json",
- "extends": ["node_modules/p-comuns/Documentos/biome.json"],
- "vcs": {
- "enabled": true,
- "clientKind": "git",
- "useIgnoreFile": true
- },
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
+ "extends": ["./node_modules/p-comuns/Documentos/biome.json"],
"files": {
- "includes": ["**/*.{ts,tsx,vue}"]
+ "includes": ["src/**/*.{js,ts,jsx,tsx}"]
}
}
```
-> `vcs.useIgnoreFile: true` faz o Biome respeitar o `.gitignore` automaticamente — arquivos como `dist/`, `node_modules/` etc. são ignorados sem configuração adicional.
+> ⚠️ Verifique o caminho correto do `extends` relativo à raiz do seu projeto. Use `./` sempre que possível para evitar erros de resolução.
---
-### 4. Adicionar scripts no `package.json`
+### 4. Adicionar script no `package.json`
+
+Inclua o comando abaixo em `"scripts"`:
```json
{
"scripts": {
"biome": "pnpm exec biome check --write",
- "check": "pnpm run biome && npx tsc --noEmit"
}
}
```
+Isso permite executar:
+
+```bash
+pnpm biome
+```
+
+> O comando irá **formatar e aplicar as regras de lint** nos arquivos do diretório `src/`.
+
---
-### 5. Configurar o VS Code (`.vscode/settings.json`)
+### ✅ Dica extra: formatar todos os arquivos
+
+Se quiser aplicar o Biome a todo o projeto (não só `src/`), altere o include:
```json
+"includes": ["**/*.{js,ts,jsx,tsx}"]
+```
+
+
+
+adicionar em .vscode/settings.json
+
{
"editor.defaultFormatter": "biomejs.biome",
- "editor.formatOnSave": true,
- "editor.codeActionsOnSave": {
- "source.organizeImports.biome": "always",
- "source.fixAll.biome": "always"
- },
"[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
"[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" },
- "[vue]": { "editor.defaultFormatter": "biomejs.biome" },
- "[css]": { "editor.defaultFormatter": "biomejs.biome" },
"[json]": { "editor.defaultFormatter": "biomejs.biome" },
"[jsonc]": { "editor.defaultFormatter": "biomejs.biome" },
- "editor.rulers": [100],
- "files.eol": "\n",
- "files.trimTrailingWhitespace": true,
- "files.insertFinalNewline": true
+ "[vue]": {"editor.defaultFormatter": "octref.vetur"},
+ "editor.codeActionsOnSave": {
+ "source.organizeImports.biome": "always",
+ "source.fixAll.biome": "always"
+ }
}
-```
-
-> 💡 **Biome formata Vue `.vue` nativamente desde a v2.3** — não precisa do Prettier ou Vetur para formatação!
---
-## 🔑 Regras da configuração base (Documentos/biome.json)
+## ✅ Sistema de Filtros (tipoFiltro26)
-### O que está ativado:
-
-| Categoria | Regras notáveis |
-|-----------|----------------|
-| **Correctness** | `noUnusedVariables`, `noUnusedImports`, `noVueSetupPropsReactivityLoss` |
-| **Vue 3 específico** | `noVueVIfWithVFor`, `useVueVForKey`, `noVueDuplicateKeys`, `noVueReservedKeys` |
-| **Style** | `useAsConstAssertion`, `useSelfClosingElements`, `useConsistentArrayType` (shorthand `T[]`) |
-| **Nursery Vue** | `noVueArrowFuncInWatch`, `useVueDefineMacrosOrder`, `useVueConsistentVBindStyle` |
-| **Security** | `noDangerouslySetInnerHtml` (warn) |
-
-### Globals do Vue (sem necessidade de importar):
-
-`defineProps`, `defineEmits`, `defineExpose`, `withDefaults`, `defineModel`, `defineOptions`, `defineSlots`
-
-### Formatação:
-
-- Indentação: **2 espaços**
-- Linha máxima: **100 caracteres**
-- Aspas: **duplas**
-- Ponto-e-vírgula: **apenas quando necessário**
-- Trailing comma: **sempre**
-- Line ending: **LF (`\n`)**
-
----
-
-## ✅ Sistema de Filtros (filtroDelta)
-
-O sistema `filtroDelta` foi projetado para gerar automaticamente a tipagem de filtros compatíveis com operadores padrão do PostgreSQL, a partir de um tipo base `T`.
+O sistema `tipoFiltro26` foi projetado para gerar automaticamente a tipagem de filtros compatíveis com operadores padrão do PostgreSQL, a partir de um tipo base `T`.
**Principais características:**
-- Tipagem forte e segura (TypeScript)
+- Tipagem forte e segura (Typescript)
- Suporte a aninhamento de objetos
- Operadores lógicos `E` (AND) e `OU` (OR)
- Validação de operadores permitidos por tipo de dado (string, number, boolean)
### Estrutura do Filtro
+O filtro segue uma estrutura onde chaves representam campos (simples ou aninhados) e valores representam condições com operadores específicos.
+
#### 1. Campos Simples
```typescript
-{ idade: { ">=": 18 } }
+{
+ idade: { ">=": 18 }
+}
```
#### 2. Campos Aninhados
```typescript
-{ carro: { ano: { "=": 2020 } } }
+{
+ carro: {
+ ano: { "=": 2020 }
+ }
+}
```
#### 3. Operadores Lógicos
@@ -162,7 +143,7 @@ O sistema `filtroDelta` foi projetado para gerar automaticamente a tipagem de fi
}
```
-#### 4. Exemplo Complexo Completo
+#### 4. Exemplo Complexo Complet
```typescript
{
idade: { ">=": 18 },
@@ -178,25 +159,23 @@ O sistema `filtroDelta` foi projetado para gerar automaticamente a tipagem de fi
}
```
-### Operadores Suportados (`operadoresDelta`)
+### Operadores Suportados (`operadores26`)
-- **Number**: `=`, `!=`, `>`, `>=`, `<`, `<=`, `in`
-- **String**: `=`, `!=`, `like`, `in`
-- **Boolean**: `=`, `!=`, `in`
+Os operadores são fornecidos pelo enum `operadores26` e são restritos pelo tipo do campo:
+
+* **Number**: `=`, `!=`, `>`, `>=`, `<`, `<=`, `in`
+* **String**: `=`, `!=`, `like`, `in`
+* **Boolean**: `=`, `!=`, `in`
+
+> **Nota:** Atualmente não há suporte automático para `null`, `date`, `jsonb` ou `arrays` como tipos de campo raiz (exceto arrays dentro do operador `in`).
### Validação em Tempo de Execução (Zod)
+O sistema inclui um validador Zod `zFiltro26` para validação estrutural dos objetos de filtro recebidos (ex: via API).
+
```typescript
-import { zFiltroDelta } from "p-comuns"
+import { zFiltro26 } from './tipoFiltro.26';
// Valida a estrutura (não checa existência de colunas no DB)
-zFiltroDelta.parse(objetoFiltro)
+zFiltro26.parse(objetoFiltro);
```
-
----
-
-## 📚 Veja também
-
-- [`AGENTS.md`](./AGENTS.md) — Guia para assistentes de IA (padrões, convenções, arquitetura)
-- [Biome 2.x Docs](https://biomejs.dev)
-- [Vue 3 Composition API](https://vuejs.org/guide/composition-api)
diff --git a/biome.json b/biome.json
index 40d361a..92399f4 100755
--- a/biome.json
+++ b/biome.json
@@ -2,6 +2,6 @@
"$schema": "node_modules/@biomejs/biome/configuration_schema.json",
"extends": ["Documentos/biome.json"],
"files": {
- "includes": ["src/**/*.{js,ts,jsx,tsx,vue}"]
+ "includes": ["src/**/*.{js,ts,jsx,tsx}"]
}
}
diff --git a/dist-back/auditoria.js b/dist-back/auditoria.js
deleted file mode 100644
index afc970d..0000000
--- a/dist-back/auditoria.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var auditoria_exports = {};
-module.exports = __toCommonJS(auditoria_exports);
diff --git a/dist-back/consulta.js b/dist-back/consulta.js
index 32efd58..e3b422c 100644
--- a/dist-back/consulta.js
+++ b/dist-back/consulta.js
@@ -44,7 +44,6 @@ var operadores = /* @__PURE__ */ ((operadores2) => {
operadores2["like"] = "like";
operadores2["in"] = "in";
operadores2["isNull"] = "isNull";
- operadores2["notIn"] = "notIn";
return operadores2;
})(operadores || {});
const zOperadores = import_zod.default.enum([
@@ -56,8 +55,7 @@ const zOperadores = import_zod.default.enum([
"<=",
"like",
"in",
- "isNull",
- "notIn"
+ "isNull"
]);
const zFiltro = import_zod.default.object({
coluna: import_zod.default.string(),
diff --git a/dist-back/dayjs26.js b/dist-back/dayjs26.js
deleted file mode 100644
index c3606aa..0000000
--- a/dist-back/dayjs26.js
+++ /dev/null
@@ -1,52 +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 dayjs26_exports = {};
-__export(dayjs26_exports, {
- defineDayjsBr: () => defineDayjsBr,
- iniciarDayjsBr: () => iniciarDayjsBr
-});
-module.exports = __toCommonJS(dayjs26_exports);
-const iniciarDayjsBr = ({
- dayjs,
- duration,
- isSameOrAfter,
- isSameOrBefore,
- minMax,
- relativeTime,
- timezone,
- utc,
- weekOfYear
-}) => {
- dayjs.extend(utc);
- dayjs.extend(timezone);
- dayjs.extend(weekOfYear);
- dayjs.extend(isSameOrBefore);
- dayjs.extend(isSameOrAfter);
- dayjs.extend(minMax);
- dayjs.extend(relativeTime);
- dayjs.extend(duration);
- dayjs.locale("pt-br");
- return dayjs;
-};
-const defineDayjsBr = iniciarDayjsBr;
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- defineDayjsBr,
- iniciarDayjsBr
-});
diff --git a/dist-back/eLog.js b/dist-back/eLog.js
deleted file mode 100644
index fadcb9e..0000000
--- a/dist-back/eLog.js
+++ /dev/null
@@ -1,85 +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 eLog_exports = {};
-__export(eLog_exports, {
- NivelLog: () => NivelLog,
- NivelLogDetalhes: () => NivelLogDetalhes,
- iniciarELog: () => iniciarELog
-});
-module.exports = __toCommonJS(eLog_exports);
-var NivelLog = /* @__PURE__ */ ((NivelLog2) => {
- NivelLog2["RASTREAMENTO"] = "RASTREAMENTO";
- NivelLog2["DEPURACAO"] = "DEPURACAO";
- NivelLog2["INFORMACAO"] = "INFORMACAO";
- NivelLog2["AVISO"] = "AVISO";
- NivelLog2["ERRO"] = "ERRO";
- NivelLog2["CRITICO"] = "CRITICO";
- return NivelLog2;
-})(NivelLog || {});
-const NivelLogDetalhes = {
- ["RASTREAMENTO" /* RASTREAMENTO */]: { peso: 1, rotulo: "Rastreamento", emoji: "\u{1F50D}", metodo: "debug" },
- ["DEPURACAO" /* DEPURACAO */]: { peso: 2, rotulo: "Depura\xE7\xE3o", emoji: "\u{1F41B}", metodo: "debug" },
- ["INFORMACAO" /* INFORMACAO */]: { peso: 3, rotulo: "Informa\xE7\xE3o", emoji: "\u2139\uFE0F", metodo: "info" },
- ["AVISO" /* AVISO */]: { peso: 4, rotulo: "Aviso", emoji: "\u26A0\uFE0F", metodo: "warn" },
- ["ERRO" /* ERRO */]: { peso: 5, rotulo: "Erro", emoji: "\u274C", metodo: "error" },
- ["CRITICO" /* CRITICO */]: { peso: 6, rotulo: "Cr\xEDtico", emoji: "\u{1F525}", metodo: "error" }
-};
-const iniciarELog = (opcoes) => {
- const nivel = opcoes.nivelMinimo ?? "INFORMACAO" /* INFORMACAO */;
- const pesoMinimo = NivelLogDetalhes[nivel].peso;
- const emitir = (nivelLog, pr) => {
- const config = NivelLogDetalhes[nivelLog];
- if (config.peso < pesoMinimo) return;
- const entrada = {
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
- nivel: nivelLog,
- app: opcoes.app,
- origem: pr.origem,
- mensagem: pr.mensagem,
- ...pr.dados !== void 0 ? { dados: pr.dados } : {}
- };
- console[config.metodo](
- `${config.emoji} [${config.rotulo}] [${opcoes.app}] [${pr.origem}] ${pr.mensagem}`,
- pr.dados !== void 0 ? pr.dados : ""
- );
- if (opcoes.arquivamento) {
- opcoes.arquivamento(entrada, { app: opcoes.app, nivelMinimo: nivel });
- }
- };
- return {
- rastreamento: (pr) => emitir("RASTREAMENTO" /* RASTREAMENTO */, pr),
- depuracao: (pr) => emitir("DEPURACAO" /* DEPURACAO */, pr),
- info: (pr) => emitir("INFORMACAO" /* INFORMACAO */, pr),
- aviso: (pr) => emitir("AVISO" /* AVISO */, pr),
- erro: (pr) => emitir("ERRO" /* ERRO */, pr),
- critico: (pr) => emitir("CRITICO" /* CRITICO */, pr)
- };
-};
-const _log = iniciarELog({
- app: "testando",
- nivelMinimo: "INFORMACAO" /* INFORMACAO */,
- arquivamento: () => {
- }
-});
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- NivelLog,
- NivelLogDetalhes,
- iniciarELog
-});
diff --git a/dist-back/filtroDelta.js b/dist-back/filtroDelta.js
deleted file mode 100644
index 9714ebc..0000000
--- a/dist-back/filtroDelta.js
+++ /dev/null
@@ -1,159 +0,0 @@
-"use strict";
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
-));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var filtroDelta_exports = {};
-__export(filtroDelta_exports, {
- criarFiltroDelta: () => criarFiltroDelta,
- iniciarFiltroDelta: () => iniciarFiltroDelta,
- operadorFiltroDeltaDetalhes: () => operadorFiltroDeltaDetalhes,
- zColunaFiltroDelta: () => zColunaFiltroDelta,
- zCondicaoFiltroDelta: () => zCondicaoFiltroDelta,
- zFiltroDelta: () => zFiltroDelta,
- zOperadorFiltroDelta: () => zOperadorFiltroDelta
-});
-module.exports = __toCommonJS(filtroDelta_exports);
-var import_zod = __toESM(require("zod"));
-const zOperadorFiltroDelta = import_zod.default.enum([">", "<", ">=", "<=", "=", "!=", "in", "like", "\u2229"]);
-const operadorFiltroDeltaDetalhes = {
- ">": {
- rotulo: "Maior que",
- descricao: "O valor de A deve ser maior que o valor de B"
- },
- "<": {
- rotulo: "Menor que",
- descricao: "O valor de A deve ser menor que o valor de B"
- },
- ">=": {
- rotulo: "Maior ou igual a",
- descricao: "O valor de A deve ser maior ou igual ao valor de B"
- },
- "<=": {
- rotulo: "Menor ou igual a",
- descricao: "O valor de A deve ser menor ou igual ao valor de B"
- },
- "=": {
- rotulo: "Igual a",
- descricao: "O valor de A deve ser igual ao valor de B"
- },
- "!=": {
- rotulo: "Diferente de",
- descricao: "O valor de A deve ser diferente do valor de B"
- },
- in: {
- rotulo: "Est\xE1 em",
- descricao: "O valor de A deve estar presente na cole\xE7\xE3o ou lista definida em B"
- },
- like: {
- rotulo: "Cont\xE9m",
- descricao: "O valor de A deve conter o texto informado em B"
- },
- "\u2229": {
- rotulo: "Interse\xE7\xE3o",
- descricao: "A e B devem possuir pelo menos um elemento em comum"
- }
-};
-const regexIdCondicaoFiltroDelta = /^\{[\w:]+\}$/;
-const regexColunaFiltroDelta = /^\w+(\.\w+)*$/;
-const zColunaFiltroDelta = import_zod.default.string().regex(regexColunaFiltroDelta, "Coluna inv\xE1lida").describe("nome da coluna ou caminho aninhado do jsonb");
-const zCondicaoFiltroDelta = import_zod.default.object({
- /**
- * Identificador único da condição.
- *
- * Exemplo:
- * {1}
- */
- id: import_zod.default.string().describe("id da condi\xE7\xE3o do filtro").regex(regexIdCondicaoFiltroDelta, "O id deve seguir o formato {identificador}"),
- /**
- * Nome da coluna ou caminho jsonb.
- */
- coluna: zColunaFiltroDelta,
- /**
- * Operador da comparação.
- */
- operador: zOperadorFiltroDelta,
- /**
- * Valor utilizado na comparação.
- */
- valor: import_zod.default.any().describe("valor de compara\xE7\xE3o")
-});
-const formulaFiltroDeltaValida = (formula) => {
- const tokensPermitidos = formula.match(/\{[\w:]+\}|\bNAO\b|\bE\b|\bOU\b|\(|\)/g) || [];
- const formulaReconstruida = tokensPermitidos.join("");
- const formulaOriginalSemEspacos = formula.replace(/\s+/g, "");
- const formulaReconstruidaSemEspacos = formulaReconstruida.replace(/\s+/g, "");
- if (formulaOriginalSemEspacos !== formulaReconstruidaSemEspacos) {
- return false;
- }
- const expressaoLogica = formula.replace(/\{[\w:]+\}/g, "true").replace(/\bNAO\b/g, "!").replace(/\bE\b/g, "&&").replace(/\bOU\b/g, "||");
- try {
- new Function(`return (${expressaoLogica})`)();
- return true;
- } catch {
- return false;
- }
-};
-const zFiltroDelta = import_zod.default.object({
- /**
- * Lista de condições disponíveis.
- */
- condicoes: import_zod.default.array(zCondicaoFiltroDelta),
- /**
- * Fórmula lógica que combina as condições.
- */
- formula: import_zod.default.string().refine(formulaFiltroDeltaValida, {
- message: "F\xF3rmula inv\xE1lida. Use apenas refer\xEAncias de condi\xE7\xF5es {id} ou {id:sufixo}, operadores E/OU/NAO e par\xEAnteses."
- })
-}).superRefine((value, ctx) => {
- const idsCondicoes = new Set(value.condicoes.map((condicao) => condicao.id));
- const referenciasFormula = value.formula.match(/\{[\w:]+\}/g) || [];
- for (const referencia of referenciasFormula) {
- if (!idsCondicoes.has(referencia)) {
- ctx.addIssue({
- code: "custom",
- path: ["formula"],
- message: `A refer\xEAncia ${referencia} n\xE3o existe em condicoes.`
- });
- }
- }
-});
-const criarFiltroDelta = (filtro) => zFiltroDelta.parse(filtro);
-const iniciarFiltroDelta = () => {
- return {
- criarFiltroDelta
- };
-};
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- criarFiltroDelta,
- iniciarFiltroDelta,
- operadorFiltroDeltaDetalhes,
- zColunaFiltroDelta,
- zCondicaoFiltroDelta,
- zFiltroDelta,
- zOperadorFiltroDelta
-});
diff --git a/dist-back/index.js b/dist-back/index.js
index 0526ae9..487f583 100644
--- a/dist-back/index.js
+++ b/dist-back/index.js
@@ -16,16 +16,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
var index_exports = {};
module.exports = __toCommonJS(index_exports);
__reExport(index_exports, require("./aleatorio"), module.exports);
-__reExport(index_exports, require("./auditoria"), module.exports);
__reExport(index_exports, require("./cacheMemoria"), module.exports);
__reExport(index_exports, require("./constantes"), module.exports);
__reExport(index_exports, require("./consulta"), module.exports);
-__reExport(index_exports, require("./dayjs26"), module.exports);
+__reExport(index_exports, require("./dayjs"), module.exports);
__reExport(index_exports, require("./ecosistema"), module.exports);
-__reExport(index_exports, require("./eLog"), module.exports);
__reExport(index_exports, require("./extensoes"), module.exports);
__reExport(index_exports, require("./extensoes"), module.exports);
-__reExport(index_exports, require("./filtroDelta"), module.exports);
__reExport(index_exports, require("./local"), module.exports);
__reExport(index_exports, require("./postgres"), module.exports);
__reExport(index_exports, require("./produtos"), module.exports);
@@ -34,25 +31,20 @@ __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("./tipagemRotas"), module.exports);
+__reExport(index_exports, require("./tipoFiltro.26"), module.exports);
__reExport(index_exports, require("./unidades_medida"), module.exports);
__reExport(index_exports, require("./uuid"), module.exports);
__reExport(index_exports, require("./variaveisComuns"), module.exports);
-__reExport(index_exports, require("./zCoordenadas"), module.exports);
-__reExport(index_exports, require("./zDocumento"), module.exports);
-__reExport(index_exports, require("./zodCustomizados"), module.exports);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
...require("./aleatorio"),
- ...require("./auditoria"),
...require("./cacheMemoria"),
...require("./constantes"),
...require("./consulta"),
- ...require("./dayjs26"),
+ ...require("./dayjs"),
...require("./ecosistema"),
- ...require("./eLog"),
...require("./extensoes"),
...require("./extensoes"),
- ...require("./filtroDelta"),
...require("./local"),
...require("./postgres"),
...require("./produtos"),
@@ -61,10 +53,8 @@ __reExport(index_exports, require("./zodCustomizados"), module.exports);
...require("./texto_busca"),
...require("./tipagemRotas"),
...require("./tipagemRotas"),
+ ...require("./tipoFiltro.26"),
...require("./unidades_medida"),
...require("./uuid"),
- ...require("./variaveisComuns"),
- ...require("./zCoordenadas"),
- ...require("./zDocumento"),
- ...require("./zodCustomizados")
+ ...require("./variaveisComuns")
});
diff --git a/dist-back/tipagemRotas.js b/dist-back/tipagemRotas.js
index e68b6ce..ce1d130 100644
--- a/dist-back/tipagemRotas.js
+++ b/dist-back/tipagemRotas.js
@@ -97,7 +97,9 @@ class TipagemRotas {
let queryObj = Object.fromEntries(query.entries());
const hash = url.hash;
if (hash) {
- const hashObj = Object.fromEntries(new URLSearchParams(hash.slice(1)).entries());
+ const hashObj = Object.fromEntries(
+ new URLSearchParams(hash.slice(1)).entries()
+ );
queryObj = { ...queryObj, ...hashObj };
}
for (const chave in queryObj) {
diff --git a/dist-back/tipoFiltro.26.js b/dist-back/tipoFiltro.26.js
new file mode 100644
index 0000000..fe14814
--- /dev/null
+++ b/dist-back/tipoFiltro.26.js
@@ -0,0 +1,72 @@
+"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 tipoFiltro_26_exports = {};
+__export(tipoFiltro_26_exports, {
+ agrupadores26: () => agrupadores26,
+ criarFiltro26: () => criarFiltro26,
+ operadores26: () => operadores26,
+ zFiltro26: () => zFiltro26
+});
+module.exports = __toCommonJS(tipoFiltro_26_exports);
+var import_zod = require("zod");
+var operadores26 = /* @__PURE__ */ ((operadores262) => {
+ operadores262["="] = "=";
+ operadores262["!="] = "!=";
+ operadores262[">"] = ">";
+ operadores262[">="] = ">=";
+ operadores262["<"] = "<";
+ operadores262["<="] = "<=";
+ operadores262["like"] = "like";
+ operadores262["in"] = "in";
+ return operadores262;
+})(operadores26 || {});
+var agrupadores26 = /* @__PURE__ */ ((agrupadores262) => {
+ agrupadores262["E"] = "E";
+ agrupadores262["OU"] = "OU";
+ return agrupadores262;
+})(agrupadores26 || {});
+const zOperadores = import_zod.z.nativeEnum(operadores26);
+const zValor = import_zod.z.any();
+const zCondicao = import_zod.z.record(zOperadores, zValor);
+const zFiltro26 = import_zod.z.lazy(
+ () => import_zod.z.object({
+ E: import_zod.z.array(zFiltro26).optional(),
+ OU: import_zod.z.array(zFiltro26).optional()
+ }).catchall(import_zod.z.union([zCondicao, zFiltro26]))
+);
+const criarFiltro26 = (filtro) => filtro;
+const _filtro = criarFiltro26({
+ idade: { [">=" /* >= */]: 18 },
+ ["OU" /* OU */]: [
+ { nome: { ["like" /* like */]: "%pa%" } },
+ {
+ ["E" /* E */]: [
+ { carro: { ano: { ["=" /* = */]: 2020 } } },
+ { carro: { modelo: { ["in" /* in */]: ["Civic", "Corolla"] } } }
+ ]
+ }
+ ]
+});
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ agrupadores26,
+ criarFiltro26,
+ operadores26,
+ zFiltro26
+});
diff --git a/dist-back/uuid.js b/dist-back/uuid.js
index d87f43c..6d8dfc0 100644
--- a/dist-back/uuid.js
+++ b/dist-back/uuid.js
@@ -25,143 +25,22 @@ __export(uuid_exports, {
validarUuid: () => validarUuid
});
module.exports = __toCommonJS(uuid_exports);
+var import_uuid = require("uuid");
const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
const validarUuid = (uuid2) => {
- return erUuid.test(String(uuid2 || ""));
-};
-const uuidV4 = () => globalThis.crypto.randomUUID();
-const uuid = uuidV4;
-const NIL_UUID = "00000000-0000-0000-0000-000000000000";
-const rotL = (x, n) => x << n | x >>> 32 - n;
-const md5 = (str) => {
- const msg = new TextEncoder().encode(str);
- const len = msg.length;
- const bits = len * 8;
- const padLen = len % 64 < 56 ? 56 - len % 64 : 120 - len % 64;
- const padded = new Uint8Array(len + padLen + 8);
- padded.set(msg);
- padded[len] = 128;
- const dv = new DataView(padded.buffer);
- dv.setUint32(len + padLen, bits >>> 0, true);
- dv.setUint32(len + padLen + 4, Math.floor(bits / 2 ** 32), true);
- const T = Array.from(
- { length: 64 },
- (_, i) => Math.abs(Math.sin(i + 1)) * 2 ** 32 >>> 0
- );
- const S = [
- 7,
- 12,
- 17,
- 22,
- 7,
- 12,
- 17,
- 22,
- 7,
- 12,
- 17,
- 22,
- 7,
- 12,
- 17,
- 22,
- 5,
- 9,
- 14,
- 20,
- 5,
- 9,
- 14,
- 20,
- 5,
- 9,
- 14,
- 20,
- 5,
- 9,
- 14,
- 20,
- 4,
- 11,
- 16,
- 23,
- 4,
- 11,
- 16,
- 23,
- 4,
- 11,
- 16,
- 23,
- 4,
- 11,
- 16,
- 23,
- 6,
- 10,
- 15,
- 21,
- 6,
- 10,
- 15,
- 21,
- 6,
- 10,
- 15,
- 21,
- 6,
- 10,
- 15,
- 21
- ];
- let a0 = 1732584193, b0 = 4023233417, c0 = 2562383102, d0 = 271733878;
- for (let off = 0; off < padded.length; off += 64) {
- const M = [];
- for (let j = 0; j < 16; j++) M[j] = dv.getUint32(off + j * 4, true);
- let [A, B, C, D] = [a0, b0, c0, d0];
- for (let i = 0; i < 64; i++) {
- let F, g;
- if (i < 16) {
- F = B & C | ~B & D;
- g = i;
- } else if (i < 32) {
- F = D & B | ~D & C;
- g = (5 * i + 1) % 16;
- } else if (i < 48) {
- F = B ^ C ^ D;
- g = (3 * i + 5) % 16;
- } else {
- F = C ^ (B | ~D);
- g = 7 * i % 16;
- }
- F = F + A + T[i] + M[g] >>> 0;
- A = D;
- D = C;
- C = B;
- B = B + rotL(F, S[i]) >>> 0;
- }
- a0 = a0 + A >>> 0;
- b0 = b0 + B >>> 0;
- c0 = c0 + C >>> 0;
- d0 = d0 + D >>> 0;
- }
- const toHexLE = (n) => {
- let s = "";
- for (let i = 0; i < 4; i++) s += (n >>> i * 8 & 255).toString(16).padStart(2, "0");
- return s;
- };
- return toHexLE(a0) + toHexLE(b0) + toHexLE(c0) + toHexLE(d0);
-};
-const formatarUuidV3 = (hash) => {
- const c = hash.slice(0, 32);
- const v = (Number.parseInt(c[16], 16) & 3 | 8).toString(16);
- return `${c.slice(0, 8)}-${c.slice(8, 12)}-3${c.slice(13, 16)}-${v}${c.slice(17, 20)}-${c.slice(20, 32)}`;
+ const retorno = erUuid.test(String(uuid2 || ""));
+ return retorno;
};
const uuidV3 = (chave, grupo) => {
- const namespace = grupo ? uuidV3(grupo) : NIL_UUID;
- const input = typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave);
- return formatarUuidV3(md5(namespace + input));
+ return (0, import_uuid.v3)(
+ // Converte a chave para string (de forma segura)
+ typeof chave === "string" ? chave : typeof chave === "number" ? String(chave) : JSON.stringify(chave),
+ // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL
+ grupo ? uuidV3(grupo) : import_uuid.NIL
+ );
};
+const uuidV4 = import_uuid.v4;
+const uuid = uuidV4;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
erUuid,
diff --git a/dist-back/variaveisComuns.js b/dist-back/variaveisComuns.js
index e90c5ef..8f40e1d 100644
--- a/dist-back/variaveisComuns.js
+++ b/dist-back/variaveisComuns.js
@@ -22,7 +22,9 @@ __export(variaveisComuns_exports, {
nomeVariavel: () => nomeVariavel
});
module.exports = __toCommonJS(variaveisComuns_exports);
-const esperar = (ms) => new Promise((resolve) => setTimeout(() => resolve(true), ms));
+const esperar = (ms) => new Promise(
+ (resolve) => setTimeout(() => resolve(true), ms)
+);
const nomeVariavel = (v) => Object.keys(v).join("/");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
diff --git a/dist-back/zCoordenadas.js b/dist-back/zCoordenadas.js
deleted file mode 100644
index 38896c2..0000000
--- a/dist-back/zCoordenadas.js
+++ /dev/null
@@ -1,44 +0,0 @@
-"use strict";
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
-));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var zCoordenadas_exports = {};
-__export(zCoordenadas_exports, {
- zCoordenadas: () => zCoordenadas
-});
-module.exports = __toCommonJS(zCoordenadas_exports);
-var import_zod = __toESM(require("zod"));
-const zCoordenadas = import_zod.default.object({
- formato: import_zod.default.literal("decimal").default("decimal"),
- datum: import_zod.default.literal("EPSG:4326").default("EPSG:4326"),
- latitude: import_zod.default.number(),
- longitude: import_zod.default.number()
-});
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- zCoordenadas
-});
diff --git a/dist-back/zDocumento.js b/dist-back/zDocumento.js
deleted file mode 100644
index 2198ff0..0000000
--- a/dist-back/zDocumento.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
-));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var zDocumento_exports = {};
-__export(zDocumento_exports, {
- zDocCnpj: () => zDocCnpj,
- zDocCpf: () => zDocCpf,
- zDocumento: () => zDocumento
-});
-module.exports = __toCommonJS(zDocumento_exports);
-var import_zod = __toESM(require("zod"));
-const regexCnpjNumerico = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;
-const regexCnpjAlfanumerico = /^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i;
-const yyyymm = Number((/* @__PURE__ */ new Date()).toISOString().slice(0, 7).replace("-", ""));
-const zDocCnpj = import_zod.default.string().regex(yyyymm < 202407 ? regexCnpjNumerico : regexCnpjAlfanumerico).describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX");
-const zDocCpf = import_zod.default.string().regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/).describe("Documento (CPF) no formato XXX.XXX.XXX-XX");
-const zDocumento = zDocCpf.or(zDocCnpj).describe("CPF ou CNPJ");
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- zDocCnpj,
- zDocCpf,
- zDocumento
-});
diff --git a/dist-back/zodCustomizados.js b/dist-back/zodCustomizados.js
deleted file mode 100644
index 56d1cdc..0000000
--- a/dist-back/zodCustomizados.js
+++ /dev/null
@@ -1,56 +0,0 @@
-"use strict";
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
-));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-var zodCustomizados_exports = {};
-__export(zodCustomizados_exports, {
- zNumero: () => zNumero,
- zNumeroInteiro: () => zNumeroInteiro,
- zNumeroPositivo: () => zNumeroPositivo
-});
-module.exports = __toCommonJS(zodCustomizados_exports);
-var import_zod = __toESM(require("zod"));
-const zPreprocessarNumero = (p) => {
- if (typeof p === "number") return p;
- if (typeof p !== "string") return p;
- let p2 = p;
- if (p2.includes(",")) {
- p2 = p2.replace(/\./g, "").replace(",", ".");
- }
- p2 = p2.replace(/[^0-9.]/g, "");
- if (p2 == "") return null;
- return Number(p2);
-};
-const zNumero = import_zod.default.preprocess(zPreprocessarNumero, import_zod.default.number());
-const zNumeroPositivo = import_zod.default.preprocess(zPreprocessarNumero, import_zod.default.number().positive());
-const zNumeroInteiro = import_zod.default.preprocess(zPreprocessarNumero, import_zod.default.number().int());
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- zNumero,
- zNumeroInteiro,
- zNumeroPositivo
-});
diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts
index 7850065..650b74c 100644
--- a/dist-front/index.d.mts
+++ b/dist-front/index.d.mts
@@ -1,40 +1,10 @@
-import z from 'zod';
-import _dayjs from 'dayjs';
+import z, { z as z$1 } from 'zod';
+import dayjs from 'dayjs';
export { Dayjs, ManipulateType } from 'dayjs';
-import _duration from 'dayjs/plugin/duration';
-import _isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
-import _isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
-import _minMax from 'dayjs/plugin/minMax';
-import _relativeTime from 'dayjs/plugin/relativeTime';
-import _timezone from 'dayjs/plugin/timezone';
-import _utc from 'dayjs/plugin/utc';
-import _weekOfYear from 'dayjs/plugin/weekOfYear';
+import { v4 } from 'uuid';
declare const aleatorio: (tamanho?: number) => string;
-type TipoPayloadAuditoria = {
- /** UUID do registro de auditoria */
- codigo?: string | null;
- /** UUID do usuario da acao (pode ser null se for processo do sistema que não registrou) */
- usuario_criacao: string | null;
- /** Timestamp ou data de criacao / execucao */
- data_criacao: string | Date;
- /** Nome exato da tabela no banco que originou o registro */
- tabela_origem: string;
- /** Código único (UUID) do registro na tabela original */
- codigo_origem: string;
- /** JSON contendo o snapshot das colunas novas / editadas */
- novo: Record;
- /** JSON contendo o snapshot das colunas antes da edição */
- anterior: Record;
- /** Hash ou controle de versao do item, usualmente preenchido por new.ver_seg */
- __versao: string;
- /** Tipo de operação que gerou a auditoria */
- acao: "criar" | "atualizar" | "deletar" | string;
- /** Versão do sistema no momento em que a ação ocorreu */
- versao_sistema: string;
-};
-
/** gerar uma função de cache para uso em memoria */
declare const cacheM: (chave: any, valor?: T, validadeSeg?: number) => T | undefined;
declare const verCacheM: () => {
@@ -77,8 +47,7 @@ declare enum operadores {
"<=" = "<=",
like = "like",
in = "in",
- isNull = "isNull",
- notIn = "notIn"
+ isNull = "isNull"
}
type tipoFiltro = {
coluna: string;
@@ -106,7 +75,6 @@ declare const zOperadores: z.ZodEnum<{
like: "like";
in: "in";
isNull: "isNull";
- notIn: "notIn";
}>;
declare const zFiltro: z.ZodObject<{
coluna: z.ZodString;
@@ -121,186 +89,14 @@ declare const zFiltro: z.ZodObject<{
like: "like";
in: "in";
isNull: "isNull";
- notIn: "notIn";
}>;
ou: z.ZodOptional;
}, z.core.$strip>;
-/**
- * Utilitário de configuração do Dayjs focado em compatibilidade com SSR.
- *
- * PROBLEMA:
- * A importação direta do `dayjs` e seus plugins frequentemente causa conflitos em ambientes
- * de Renderização do Lado do Servidor (SSR), como Nuxt ou Next.js, devido a discrepâncias
- * na resolução de módulos (ESM vs CJS) e instabilidades de importação.
- *
- * SOLUÇÃO:
- * Este módulo utiliza o padrão de Injeção de Dependência. Ele expõe apenas tipagens e
- * uma função de configuração (`defineDayjsBr`). A responsabilidade de importar as
- * bibliotecas "vivas" é delegada à aplicação consumidora (o cliente da função).
- *
- * Isso permite que o bundler da aplicação principal (Vite, Webpack, etc.) gerencie as
- * instâncias, garantindo consistência e evitando erros de "module not found" ou
- * instâncias duplicadas/não inicializadas adequadamente.
- */
-
-/**
- * Inicializa e configura o Dayjs com o locale 'pt-br' e plugins essenciais.
- *
- * MODO DE USO:
- * Importe os pacotes reais na sua aplicação e passe-os para esta função.
- *
- * @example
- * ```ts
- * // Em seu arquivo de configuração (ex: plugins/dayjs.ts):
- * import dayjs from "dayjs"
- * import duration from "dayjs/plugin/duration"
- * import isSameOrAfter from "dayjs/plugin/isSameOrAfter"
- * import isSameOrBefore from "dayjs/plugin/isSameOrBefore"
- * import minMax from "dayjs/plugin/minMax"
- * import relativeTime from "dayjs/plugin/relativeTime"
- * import timezone from "dayjs/plugin/timezone"
- * import utc from "dayjs/plugin/utc"
- * import weekOfYear from "dayjs/plugin/weekOfYear"
- * import { iniciarDayjsBr } from "p-comuns"
- * import "dayjs/locale/pt-br" // Importante: importar o locale!
-
- * export const dayjsbr = iniciarDayjsBr({
- * dayjs,
- * duration,
- * isSameOrAfter,
- * isSameOrBefore,
- * minMax,
- * relativeTime,
- * timezone,
- * utc,
- * weekOfYear,
- * })
- * ```
- */
-declare const iniciarDayjsBr: ({ dayjs, duration, isSameOrAfter, isSameOrBefore, minMax, relativeTime, timezone, utc, weekOfYear, }: {
- dayjs: typeof _dayjs;
- duration: typeof _duration;
- isSameOrAfter: typeof _isSameOrAfter;
- isSameOrBefore: typeof _isSameOrBefore;
- minMax: typeof _minMax;
- relativeTime: typeof _relativeTime;
- timezone: typeof _timezone;
- utc: typeof _utc;
- weekOfYear: typeof _weekOfYear;
-}) => typeof _dayjs;
-/**
- * @deprecated Use iniciarDayjsBr em vez de definirDayjsBr. O método defineDayjsBr está obsoleto e será removido em futuras versões.
- */
-declare const defineDayjsBr: ({ dayjs, duration, isSameOrAfter, isSameOrBefore, minMax, relativeTime, timezone, utc, weekOfYear, }: {
- dayjs: typeof _dayjs;
- duration: typeof _duration;
- isSameOrAfter: typeof _isSameOrAfter;
- isSameOrBefore: typeof _isSameOrBefore;
- minMax: typeof _minMax;
- relativeTime: typeof _relativeTime;
- timezone: typeof _timezone;
- utc: typeof _utc;
- weekOfYear: typeof _weekOfYear;
-}) => typeof _dayjs;
+declare const definirDayjsbr: (dayjsEntrada: typeof dayjs) => typeof dayjs;
declare const link_paiol = "https://paiol.idz.one";
-/** Níveis de severidade para o sistema de log estruturado. */
-declare enum NivelLog {
- /** O mais baixo nível, ideal para rastreamento detalhado de fluxo e execução. */
- RASTREAMENTO = "RASTREAMENTO",
- /** Usado para informações que ajudam a entender o estado do sistema durante a execução. */
- DEPURACAO = "DEPURACAO",
- /** Informações gerais e eventos do sistema. */
- INFORMACAO = "INFORMACAO",
- /** Eventos inesperados, mas que não impedem o funcionamento do sistema. */
- AVISO = "AVISO",
- /** Erros que impactam o funcionamento do sistema, mas que podem ser recuperados. */
- ERRO = "ERRO",
- /** O nível mais alto de severidade, indicando falhas que requerem atenção imediata. */
- CRITICO = "CRITICO"
-}
-type DetalheNivel = {
- peso: number;
- rotulo: string;
- emoji: string;
- metodo: "debug" | "info" | "warn" | "error";
-};
-/** Detalhes de cada nível de log — peso para filtragem, emoji e método do console. */
-declare const NivelLogDetalhes: Record;
-/** Estrutura de uma entrada de log emitida pelo sistema. */
-type EntradaLog = {
- timestamp: string;
- nivel: keyof typeof NivelLog;
- /** Identificador da aplicação/instância (ex: "front:e-licencie:12345"). */
- app: string;
- /** Local no código de onde o log foi emitido (ex: "criarUsuario()"). */
- origem: string;
- mensagem: string;
- dados?: unknown;
-};
-/** Interface pública do logger retornado por `iniciarELog`. */
-type ELogger = {
- rastreamento: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
- depuracao: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
- info: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
- aviso: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
- erro: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
- critico: (pr: {
- origem: string;
- mensagem: string;
- dados?: unknown;
- }) => void;
-};
-/** Opções de configuração do logger, disponíveis no callback de arquivamento. */
-type OpoesELogger = {
- app: string;
- nivelMinimo: keyof typeof NivelLog;
-};
-/** Tipo do callback de arquivamento de logs. */
-type ArquivamentoLog = (entrada: EntradaLog, opcoes: OpoesELogger) => void;
-/**
- * Inicializa o sistema de log estruturado.
- *
- * @param opcoes.app - Identificador da aplicação/instância (ex: `"front:e-licencie:12345"`)
- * @param opcoes.nivelMinimo - Nível mínimo para exibição no console (padrão: INFORMACAO)
- * @param opcoes.arquivamento - Callback opcional para persistir/enviar as entradas de log
- *
- * @example
- * ```ts
- * const log = iniciarELog({ app: "front:e-licencie:12345" })
- *
- * log.info({ origem: "criarUsuario()", mensagem: "Usuário criado", dados: { id: "abc-123" } })
- * // → ℹ️ [Informação] [front:e-licencie:12345] [criarUsuario()] Usuário criado
- * ```
- */
-declare const iniciarELog: (opcoes: {
- app: string;
- nivelMinimo?: keyof typeof NivelLog;
- arquivamento?: ArquivamentoLog;
-}) => ELogger;
-
type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros";
declare const extensoes: {
ext: string;
@@ -314,141 +110,6 @@ declare const extensoes: {
*/
declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo;
-/**
- * =============================================================================
- * FILTRO DELTA (zFiltroDelta)
- * =============================================================================
- *
- * OBJETIVO
- * -----------------------------------------------------------------------------
- * Novo sistema de filtros projetado para maior flexibilidade e geração segura
- * de instruções SQL dinâmicas (WHERE).
- *
- * REGRAS IMPORTANTES (PARA IA)
- * -----------------------------------------------------------------------------
- * - O filtro é composto de duas partes obrigatórias: `condicoes` e `formula`.
- * - Apenas referências aos `id`s das `condicoes` podem ser usadas na `formula`.
- * - Não use sintaxe baseada em objetos aninhados para agrupamento (ex: { E: [], OU: [] }). Use fórmulas em string.
- *
- * 1) CONDIÇÕES (`condicoes`):
- * Array de objetos contendo as definições isoladas de cada comparação.
- * Exemplo:
- * [
- * { id: "{1}", coluna: "idade", operador: ">=", valor: 18 },
- * { id: "{2}", coluna: "nome", operador: "like", valor: "%pa%" }
- * ]
- * - `id`: Deve SEMPRE seguir o formato {identificador}. Ex: `{c1}`, `{idade_min}`.
- * - `coluna`: O nome da coluna ou um path JSONB válido (ex: `veiculo.ano`).
- * - `operador`: Um dos valores do tipo `tipoOperadorFiltroDelta` (veja a constante).
- *
- * 2) FÓRMULA (`formula`):
- * String que define a expressão lógica relacionando as condições através de seus `id`s.
- * Operadores Lógicos Suportados (EM MAIÚSCULO):
- * - `E` (AND)
- * - `OU` (OR)
- * - `NAO` (NOT)
- * Suporta o agrupamento lógico usando parênteses `()`
- * Exemplo válido: "({1} E NAO({2})) OU {3}"
- *
- * =============================================================================
- */
-/**
- * Operadores permitidos para comparação.
- */
-declare const zOperadorFiltroDelta: z.ZodEnum<{
- "=": "=";
- "!=": "!=";
- ">": ">";
- ">=": ">=";
- "<": "<";
- "<=": "<=";
- like: "like";
- in: "in";
- "\u2229": "∩";
-}>;
-declare const operadorFiltroDeltaDetalhes: Record, {
- rotulo: string;
- descricao: string;
-}>;
-/**
- * Coluna simples ou caminho aninhado de jsonb.
- */
-declare const zColunaFiltroDelta: z.ZodString;
-/**
- * Estrutura individual de uma condição do filtro.
- */
-declare const zCondicaoFiltroDelta: z.ZodObject<{
- id: z.ZodString;
- coluna: z.ZodString;
- operador: z.ZodEnum<{
- "=": "=";
- "!=": "!=";
- ">": ">";
- ">=": ">=";
- "<": "<";
- "<=": "<=";
- like: "like";
- in: "in";
- "\u2229": "∩";
- }>;
- valor: z.ZodAny;
-}, z.core.$strip>;
-/**
- * Estrutura principal do filtro delta.
- */
-declare const zFiltroDelta: z.ZodObject<{
- condicoes: z.ZodArray": ">";
- ">=": ">=";
- "<": "<";
- "<=": "<=";
- like: "like";
- in: "in";
- "\u2229": "∩";
- }>;
- valor: z.ZodAny;
- }, z.core.$strip>>;
- formula: z.ZodString;
-}, z.core.$strip>;
-type tipoOperadorFiltroDelta = z.infer;
-type tipoColunaFiltroDelta = z.infer;
-type tipoCondicaoFiltroDelta = z.infer;
-type tipoFiltroDelta = z.infer;
-type tipoCondicaoFiltroDeltaTipado = tipoCondicaoFiltroDelta & {
- coluna: T;
-};
-type tipoFiltroDeltaColunaTipada = {
- condicoes: tipoCondicaoFiltroDeltaTipado[];
- formula: string;
-};
-declare const criarFiltroDelta: (filtro: tipoFiltroDeltaColunaTipada) => tipoFiltroDeltaColunaTipada;
-/**
- * Fábrica para criar filtros com colunas estritamente tipadas.
- * Útil para autocompletar os nomes das colunas e garantir a estrutura no TypeScript.
- *
- * @example
- * ```ts
- * const { criarFiltroDelta } = iniciarFiltroDelta<"nome" | "idade" | "jsonb.propriedade">()
- *
- * const filtro = criarFiltroDelta({
- * condicoes: [
- * { id: "{c1}", coluna: "idade", operador: ">", valor: 18 },
- * { id: "{c2}", coluna: "nome", operador: "=", valor: "luiz" },
- * { id: "{c3}", coluna: "jsonb.propriedade", operador: "=", valor: "valor" },
- * ],
- * formula: "({c1} E {c2}) OU {c3}",
- * })
- * ```
- */
-declare const iniciarFiltroDelta: () => {
- criarFiltroDelta: (filtro: tipoFiltroDeltaColunaTipada) => tipoFiltroDeltaColunaTipada;
-};
-
/**
* LocalStorage Tipado
* Lê ou grava um valor no localStorage, mantendo o tipo genérico .
@@ -593,6 +254,151 @@ declare class TipagemRotas;
}
+/**
+ * =============================================================================
+ * tipoFiltro26
+ * =============================================================================
+ *
+ * OBJETIVO
+ * -----------------------------------------------------------------------------
+ * Gerar automaticamente a tipagem de filtros compatíveis com operadores
+ * padrão do PostgreSQL, a partir de um tipo base T.
+ *
+ * Este tipo foi projetado para:
+ * - Construção de filtros dinâmicos
+ * - Geração posterior de WHERE (Knex / SQL)
+ * - Uso seguro por IA (evita filtros inválidos em nível de tipo)
+ *
+ *
+ * FORMATO DO FILTRO
+ * -----------------------------------------------------------------------------
+ * 1) Campos simples:
+ *
+ * {
+ * idade: { ">=": 18 }
+ * }
+ *
+ * 2) Campos aninhados:
+ *
+ * {
+ * carro: {
+ * ano: { "=": 2020 }
+ * }
+ * }
+ *
+ * 3) Operador E (AND):
+ *
+ * {
+ * E: [
+ * { idade: { ">=": 18 } },
+ * { nome: { like: "%pa%" } }
+ * ]
+ * }
+ *
+ * 4) Operador OU (OR):
+ *
+ * {
+ * OU: [
+ * { idade: { "<": 18 } },
+ * { idade: { ">=": 60 } }
+ * ]
+ * }
+ *
+ * 5) Combinação complexa:
+ *
+ * {
+ * idade: { ">=": 18 },
+ * OU: [
+ * { nome: { like: "%pa%" } },
+ * {
+ * E: [
+ * { carro: { ano: { "=": 2020 } } },
+ * { carro: { modelo: { in: ["Civic"] } } }
+ * ]
+ * }
+ * ]
+ * }
+ *
+ *
+ * REGRAS IMPORTANTES (PARA IA)
+ * -----------------------------------------------------------------------------
+ * - Apenas campos existentes em T podem ser usados.
+ * - Operadores são restritos por tipo do campo.
+ * - Objetos são tratados recursivamente.
+ * - Arrays NÃO são tratados como objeto recursivo.
+ * - Funções NÃO são consideradas campos filtráveis.
+ *
+ *
+ * OPERADORES SUPORTADOS
+ * -----------------------------------------------------------------------------
+ * number:
+ * =, !=, >, >=, <, <=, in
+ *
+ * string:
+ * =, !=, like, in
+ *
+ * boolean:
+ * =, !=, in
+ *
+ * Não há suporte automático a:
+ * - null
+ * - date
+ * - jsonb
+ * - arrays
+ *
+ * Essas extensões devem ser adicionadas explicitamente.
+ *
+ * =============================================================================
+ */
+declare enum operadores26 {
+ "=" = "=",
+ "!=" = "!=",
+ ">" = ">",
+ ">=" = ">=",
+ "<" = "<",
+ "<=" = "<=",
+ like = "like",
+ in = "in"
+}
+declare enum agrupadores26 {
+ E = "E",
+ OU = "OU"
+}
+type PgOpsNumber = {
+ [K in Extract" | ">=" | "<" | "<=">]?: number;
+} & {
+ [K in Extract]?: number[];
+};
+type PgOpsString = {
+ [K in Extract]?: string;
+} & {
+ [K in Extract]?: string[];
+};
+type PgOpsBoolean = {
+ [K in Extract]?: boolean;
+} & {
+ [K in Extract]?: boolean[];
+};
+type PgOpsFor = V extends number ? PgOpsNumber : V extends string ? PgOpsString : V extends boolean ? PgOpsBoolean : never;
+type IsPlainObject = T extends object ? T extends Function ? false : T extends readonly any[] ? false : true : false;
+type FiltroCampos = {
+ [K in keyof T]?: IsPlainObject extends true ? tipoFiltro26 : PgOpsFor;
+};
+type tipoFiltro26 = FiltroCampos & {
+ /**
+ * E => AND lógico
+ * Todos os filtros dentro do array devem ser verdadeiros.
+ */
+ E?: tipoFiltro26[];
+ /**
+ * OU => OR lógico
+ * Pelo menos um filtro dentro do array deve ser verdadeiro.
+ */
+ OU?: tipoFiltro26[];
+};
+declare const zFiltro26: z$1.ZodType;
+declare const criarFiltro26: (filtro: tipoFiltro26) => tipoFiltro26;
+
/**
* Essa variável se conecta a tabela_lidades
*
@@ -619,26 +425,35 @@ declare const unidades_medida: {
/**
* Valida se uma string é um UUID válido (qualquer versão).
+ *
+ * @param valor - A string que será validada.
+ * @returns booleano indicando se é um UUID válido.
*/
declare const erUuid: RegExp;
declare const validarUuid: (uuid: string | number | undefined | null) => boolean;
-/**
- * Gera um UUID v4 (aleatório, não determinístico).
- * Usa `globalThis.crypto.randomUUID()` — disponível em Node 19+, Bun e browsers modernos.
- */
-declare const uuidV4: () => string;
-/**
- * @deprecated Use uuidV4() diretamente.
- */
-declare const uuid: () => string;
/**
* Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace).
- * Implementação pura JS (MD5), sem dependência de Node.js — funciona em browser e server.
*
- * @param chave - Valor a serializar (string, number ou objeto).
- * @param grupo - Namespace opcional; se omitido, usa UUID nil.
+ * - Usa o algoritmo MD5 (RFC 4122).
+ * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo.
+ * - Caso o grupo não seja informado, usa o UUID "nil" como namespace.
+ *
+ * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto).
+ * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs.
+ * @returns UUID v3 (determinístico)
*/
-declare const uuidV3: (chave: unknown, grupo?: unknown) => string;
+declare const uuidV3: (chave: any, grupo?: any) => string;
+/**
+ * Gera um UUID v4 (aleatório, não determinístico).
+ *
+ * - Usado quando unicidade é necessária, mas não se exige que seja previsível.
+ */
+declare const uuidV4: typeof v4;
+/**
+ * @deprecated Esta variável será descontinuada em versões futuras.
+ * Use a função `uuidV4()` diretamente.
+ */
+declare const uuid: typeof v4;
declare const esperar: (ms: number) => Promise;
/**
@@ -652,37 +467,4 @@ declare const nomeVariavel: (v: {
[key: string]: any;
}) => string;
-/**
- * No futuro podemos melhorar este Zod para incluir mais formatos de coordenadas.
- *
- */
-
-declare const zCoordenadas: z.ZodObject<{
- formato: z.ZodDefault>;
- datum: z.ZodDefault>;
- latitude: z.ZodNumber;
- longitude: z.ZodNumber;
-}, z.core.$strip>;
-
-declare const zDocCnpj: z.ZodString;
-declare const zDocCpf: z.ZodString;
-declare const zDocumento: z.ZodUnion<[z.ZodString, z.ZodString]>;
-
-/**
- * Schema numérico que aceita strings legadas e normaliza para `number`.
- *
- * O campo **é** um número. O `preprocess` resolve compatibilidade com dados
- * antigos onde o frontend enviava strings formatadas (BR ou monetária).
- *
- * Formatos de entrada aceitos:
- * - `10` → number direto
- * - `10.1` → ponto decimal
- * - `10,1` → vírgula decimal (BR)
- * - `1.000,1` → milhar com ponto + vírgula decimal (BR)
- * - `R$ 10,01` → prefixo monetário legado
- */
-declare const zNumero: z.ZodPreprocess;
-declare const zNumeroPositivo: z.ZodPreprocess;
-declare const zNumeroInteiro: z.ZodPreprocess;
-
-export { type ArquivamentoLog, type ELogger, type EntradaLog, NivelLog, NivelLogDetalhes, type OpoesELogger, Produtos, TipagemRotas, type TipoPayloadAuditoria, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltroDelta, defineDayjsBr, erUuid, esperar, extensoes, iniciarDayjsBr, iniciarELog, iniciarFiltroDelta, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadorFiltroDeltaDetalhes, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoColunaFiltroDelta, type tipoCondicaoFiltroDelta, type tipoCondicaoFiltroDeltaTipado, type tipoFiltro, type tipoFiltroDelta, type tipoFiltroDeltaColunaTipada, type tipoOperadorFiltroDelta, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zColunaFiltroDelta, zCondicaoFiltroDelta, zCoordenadas, zDocCnpj, zDocCpf, zDocumento, zFiltro, zFiltroDelta, zNumero, zNumeroInteiro, zNumeroPositivo, zOperadorFiltroDelta, zOperadores };
+export { Produtos, TipagemRotas, agrupadores26, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltro26, definirDayjsbr, erUuid, esperar, extensoes, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadores, operadores26, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoFiltro26, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zFiltro26, zOperadores };
diff --git a/dist-front/index.mjs b/dist-front/index.mjs
index cc762c2..b162e5e 100644
--- a/dist-front/index.mjs
+++ b/dist-front/index.mjs
@@ -1 +1 @@
-var j="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),ce=e=>`eli-${Array.from({length:e||8}).map(()=>j[(999*Math.random()|0)%j.length]).join("")}`;var z={};globalThis.cacheMemoria_cache=z;var F=(e,o,t)=>{let i=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),r=t&&new Date().getTime()+t*1e3;o!==void 0&&(z[i]={valor:o,validade:r});let n=z[i];if(!(n?.validade&&n.validadez,ve=F,ye=e=>o=>F(e,o);var be="00000000-0000-0000-0000-000000000000",R=(s=>(s.codigo="codigo",s.excluido="excluido",s.data_hora_criacao="data_hora_criacao",s.data_hora_atualizacao="data_hora_atualizacao",s.codigo_usuario_criacao="codigo_usuario_criacao",s.codigo_usuario_atualizacao="codigo_usuario_atualizacao",s.versao="versao",s))(R||{}),U=(o=>(o.token="token",o))(U||{}),X=(t=>(t.Usuario="usuario",t.Fornecedor="fornecedor",t))(X||{});import b from"zod";var $=(r=>(r["="]="=",r["!="]="!=",r[">"]=">",r[">="]=">=",r["<"]="<",r["<="]="<=",r.like="like",r.in="in",r.isNull="isNull",r.notIn="notIn",r))($||{}),q=b.enum(["=","!=",">",">=","<","<=","like","in","isNull","notIn"]),Ae=b.object({coluna:b.string(),valor:b.any(),operador:q,ou:b.boolean().optional()});var P=({dayjs:e,duration:o,isSameOrAfter:t,isSameOrBefore:i,minMax:r,relativeTime:n,timezone:m,utc:s,weekOfYear:C})=>(e.extend(s),e.extend(m),e.extend(C),e.extend(i),e.extend(t),e.extend(r),e.extend(n),e.extend(o),e.locale("pt-br"),e),we=P;var ze="https://paiol.idz.one";var B=(m=>(m.RASTREAMENTO="RASTREAMENTO",m.DEPURACAO="DEPURACAO",m.INFORMACAO="INFORMACAO",m.AVISO="AVISO",m.ERRO="ERRO",m.CRITICO="CRITICO",m))(B||{}),k={RASTREAMENTO:{peso:1,rotulo:"Rastreamento",emoji:"\u{1F50D}",metodo:"debug"},DEPURACAO:{peso:2,rotulo:"Depura\xE7\xE3o",emoji:"\u{1F41B}",metodo:"debug"},INFORMACAO:{peso:3,rotulo:"Informa\xE7\xE3o",emoji:"\u2139\uFE0F",metodo:"info"},AVISO:{peso:4,rotulo:"Aviso",emoji:"\u26A0\uFE0F",metodo:"warn"},ERRO:{peso:5,rotulo:"Erro",emoji:"\u274C",metodo:"error"},CRITICO:{peso:6,rotulo:"Cr\xEDtico",emoji:"\u{1F525}",metodo:"error"}},V=e=>{let o=e.nivelMinimo??"INFORMACAO",t=k[o].peso,i=(r,n)=>{let m=k[r];if(m.pesoi("RASTREAMENTO",r),depuracao:r=>i("DEPURACAO",r),info:r=>i("INFORMACAO",r),aviso:r=>i("AVISO",r),erro:r=>i("ERRO",r),critico:r=>i("CRITICO",r)}},Fe=V({app:"testando",nivelMinimo:"INFORMACAO",arquivamento:()=>{}});var J=[{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"}],Ie=e=>{let o=String(e||"").toLocaleLowerCase().split(".").pop();return J.find(i=>i.ext===o)?.tipo||"outros"};import u from"zod";var G=u.enum([">","<",">=","<=","=","!=","in","like","\u2229"]),Re={">":{rotulo:"Maior que",descricao:"O valor de A deve ser maior que o valor de B"},"<":{rotulo:"Menor que",descricao:"O valor de A deve ser menor que o valor de B"},">=":{rotulo:"Maior ou igual a",descricao:"O valor de A deve ser maior ou igual ao valor de B"},"<=":{rotulo:"Menor ou igual a",descricao:"O valor de A deve ser menor ou igual ao valor de B"},"=":{rotulo:"Igual a",descricao:"O valor de A deve ser igual ao valor de B"},"!=":{rotulo:"Diferente de",descricao:"O valor de A deve ser diferente do valor de B"},in:{rotulo:"Est\xE1 em",descricao:"O valor de A deve estar presente na cole\xE7\xE3o ou lista definida em B"},like:{rotulo:"Cont\xE9m",descricao:"O valor de A deve conter o texto informado em B"},"\u2229":{rotulo:"Interse\xE7\xE3o",descricao:"A e B devem possuir pelo menos um elemento em comum"}},K=/^\{[\w:]+\}$/,Y=/^\w+(\.\w+)*$/,Z=u.string().regex(Y,"Coluna inv\xE1lida").describe("nome da coluna ou caminho aninhado do jsonb"),H=u.object({id:u.string().describe("id da condi\xE7\xE3o do filtro").regex(K,"O id deve seguir o formato {identificador}"),coluna:Z,operador:G,valor:u.any().describe("valor de compara\xE7\xE3o")}),Q=e=>{let t=(e.match(/\{[\w:]+\}|\bNAO\b|\bE\b|\bOU\b|\(|\)/g)||[]).join(""),i=e.replace(/\s+/g,""),r=t.replace(/\s+/g,"");if(i!==r)return!1;let n=e.replace(/\{[\w:]+\}/g,"true").replace(/\bNAO\b/g,"!").replace(/\bE\b/g,"&&").replace(/\bOU\b/g,"||");try{return new Function(`return (${n})`)(),!0}catch{return!1}},S=u.object({condicoes:u.array(H),formula:u.string().refine(Q,{message:"F\xF3rmula inv\xE1lida. Use apenas refer\xEAncias de condi\xE7\xF5es {id} ou {id:sufixo}, operadores E/OU/NAO e par\xEAnteses."})}).superRefine((e,o)=>{let t=new Set(e.condicoes.map(r=>r.id)),i=e.formula.match(/\{[\w:]+\}/g)||[];for(let r of i)t.has(r)||o.addIssue({code:"custom",path:["formula"],message:`A refer\xEAncia ${r} n\xE3o existe em condicoes.`})}),W=e=>S.parse(e),Ue=()=>({criarFiltroDelta:W});var $e=(e,o)=>{let t="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof t>"u")return null;let i=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{o!==void 0&&t.setItem(i,JSON.stringify(o));let r=t.getItem(i);if(r===null)return null;try{return JSON.parse(r)}catch{return r}}catch{return null}};var I=e=>{try{return Object.fromEntries(Object.entries(e).map(([o,t])=>[o,t===void 0||t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:JSON.stringify(t,null,2)]))}catch(o){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${o.message} ${o.stack}`)}},Pe=I,Be=I;var E=(e=>(e["e-licencie"]="e-licencie",e["gov.e-licencie"]="gov.e-licencie",e))(E||{});var ee=(a=>(a.modelo="000_modelo",a.vencida="100_vencida",a.expirado="200_expirado",a.alerta="300_alerta",a.protocoladafora="350_protocoladafora",a.protocolada="400_protocolada",a.protocoladaApenas="430_protocolada",a.protocolada_alteracao="450_protocolada",a.prazo="500_prazo",a.emitida="515_emitida",a.valida="518_valida",a.novo="520_novo",a.recebido="521_recebido",a.em_andamento="530_em_andamento",a.aguardando="530_aguardando",a.aguardandoresposta="540_aguardandoresposta",a.suspensaotemporaria="540_suspensaotemporaria",a.cancelada="550_cancelada",a.execucao="560_execucao",a.pendente="570_pendente",a.executadafora="600_executadafora",a.executada="700_executada",a.naoexecutada="701_naoexecutada",a.concluida="730_concluida",a.respondido_negado="740_respondido_negado",a.respondido_aceito="741_respondido_aceito",a.atendidoparcial="742_atendidoparcial",a.naoatendido="743_naoatendido",a.atendido="744_atendido",a.renovada="760_renovada",a.finalizada="800_finalizada",a.emitirnota="101_emitirnota",a.faturaatrasada="301_faturaatrasada",a.pagarfatura="302_pagarfatura",a.aguardandoconfirmacao="531_aguardandoconfirmacao",a.agendado="701_agendado",a.faturapaga="801_faturapaga",a.excluida="999_excluida",a.requerida="401_requerida",a.vigente="516_vigente",a.emrenovacao="402_emrenovacao",a.arquivada="801_arquivada",a.aguardando_sincronizacao="999_aguardando_sincronizacao",a.nao_conforme="710_nao_conforme",a.conforme="720_conforme",a.nao_aplicavel="730_nao_aplicavel",a.parcial="715_parcial",a))(ee||{});var Ke=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ze="Ol\xE1 Mundo! (vari\xE1vel)";var Ee=(...e)=>e.map(o=>o==null?"":String(o).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var L=class{constructor({caminho:o,acaoIr:t,rotulo:i}){this._partesCaminho=[];this._acaoIr=t,this._partesCaminho=(Array.isArray(o)?o:[o]).filter(Boolean).map(r=>String(r)).flatMap(r=>r.split("/")).filter(Boolean),this.rotulo=i}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(o){this._partesCaminho=o.split("/").filter(t=>t)}endereco(o,t){let i=typeof globalThis<"u"&&globalThis.window||void 0,r=new URL(i?i.location.href:"http://localhost");r.pathname=this.caminho,r.search="";let n=Object.entries(o);for(let[m,s]of n)r.searchParams.set(String(m),JSON.stringify(s));return r.hash="",t&&(r.hash=`#${r.search}`,r.search=""),r.href}ir(o){if(this._acaoIr)this._acaoIr(this.endereco({...o}));else{let t=typeof globalThis<"u"&&globalThis.window||void 0;t&&(t.location.href=this.endereco({...o}))}}parametros(o){let t=o?new URL(o):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),i=t.searchParams,r=Object.fromEntries(i.entries()),n=t.hash;if(n){let m=Object.fromEntries(new URLSearchParams(n.slice(1)).entries());r={...r,...m}}for(let m in r)try{r[m]=JSON.parse(r[m])}catch{console.log(`[${m}|${r[m]}] n\xE3o \xE9 um json v\xE1lido.`)}return r}};var oe=(n=>(n.UN="UN",n.KG="KG",n.TON="TON",n.g="g",n["M\xB3"]="M\xB3",n.Lt="Lt",n))(oe||{}),ro=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:e=>e,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:e=>e/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:e=>e*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:e=>e,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:e=>e*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:e=>e,tipo:"unidade"}];var re=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,ao=e=>re.test(String(e||"")),te=()=>globalThis.crypto.randomUUID(),no=te,ae="00000000-0000-0000-0000-000000000000",ne=(e,o)=>e<>>32-o,ie=e=>{let o=new TextEncoder().encode(e),t=o.length,i=t*8,r=t%64<56?56-t%64:120-t%64,n=new Uint8Array(t+r+8);n.set(o),n[t]=128;let m=new DataView(n.buffer);m.setUint32(t+r,i>>>0,!0),m.setUint32(t+r+4,Math.floor(i/2**32),!0);let s=Array.from({length:64},(v,g)=>Math.abs(Math.sin(g+1))*2**32>>>0),C=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],h=1732584193,A=4023233417,T=2562383102,w=271733878;for(let v=0;v>>0,c=p,p=f,f=l,l=l+ne(x,C[d])>>>0}h=h+c>>>0,A=A+l>>>0,T=T+f>>>0,w=w+p>>>0}let N=v=>{let g="";for(let c=0;c<4;c++)g+=(v>>>c*8&255).toString(16).padStart(2,"0");return g};return N(h)+N(A)+N(T)+N(w)},me=e=>{let o=e.slice(0,32),t=(Number.parseInt(o[16],16)&3|8).toString(16);return`${o.slice(0,8)}-${o.slice(8,12)}-3${o.slice(13,16)}-${t}${o.slice(17,20)}-${o.slice(20,32)}`},de=(e,o)=>{let t=o?de(o):ae,i=typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e);return me(ie(t+i))};var mo=e=>new Promise(o=>setTimeout(()=>o(!0),e)),so=e=>Object.keys(e).join("/");import O from"zod";var uo=O.object({formato:O.literal("decimal").default("decimal"),datum:O.literal("EPSG:4326").default("EPSG:4326"),latitude:O.number(),longitude:O.number()});import M from"zod";var se=/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/,le=/^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i,pe=Number(new Date().toISOString().slice(0,7).replace("-","")),ue=M.string().regex(pe<202407?se:le).describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX"),ge=M.string().regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/).describe("Documento (CPF) no formato XXX.XXX.XXX-XX"),fo=ge.or(ue).describe("CPF ou CNPJ");import y from"zod";var D=e=>{if(typeof e=="number"||typeof e!="string")return e;let o=e;return o.includes(",")&&(o=o.replace(/\./g,"").replace(",",".")),o=o.replace(/[^0-9.]/g,""),o==""?null:Number(o)},yo=y.preprocess(D,y.number()),_o=y.preprocess(D,y.number().positive()),bo=y.preprocess(D,y.number().int());export{B as NivelLog,k as NivelLogDetalhes,E as Produtos,L as TipagemRotas,ce as aleatorio,F as cacheM,ye as cacheMFixo,ve as cacheMemoria,R as camposComuns,W as criarFiltroDelta,we as defineDayjsBr,re as erUuid,mo as esperar,J as extensoes,P as iniciarDayjsBr,V as iniciarELog,Ue as iniciarFiltroDelta,ze as link_paiol,$e as localValor,so as nomeVariavel,Be as objetoPg,Re as operadorFiltroDeltaDetalhes,$ as operadores,I as paraObjetoRegistroPg,Pe as pgObjeto,oe as siglas_unidades_medida,Ee as texto_busca,Ie as tipoArquivo,X as tipoUsuarioResiduos,ee as tiposSituacoesElicencie,U as tx,Ke as umaFuncao,Ze as umaVariavel,ro as unidades_medida,no as uuid,de as uuidV3,te as uuidV4,be as uuid_null,ao as validarUuid,xe as verCacheM,Z as zColunaFiltroDelta,H as zCondicaoFiltroDelta,uo as zCoordenadas,ue as zDocCnpj,ge as zDocCpf,fo as zDocumento,Ae as zFiltro,S as zFiltroDelta,yo as zNumero,bo as zNumeroInteiro,_o as zNumeroPositivo,G as zOperadorFiltroDelta,q as zOperadores};
+var u="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),Q=o=>`eli-${Array.from({length:o||8}).map(()=>u[(999*Math.random()|0)%u.length]).join("")}`;var s={};globalThis.cacheMemoria_cache=s;var g=(o,a,r)=>{let n=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),t=r&&new Date().getTime()+r*1e3;a!==void 0&&(s[n]={valor:a,validade:t});let i=s[n];if(!(i?.validade&&i.validades,H=g,W=o=>a=>g(o,a);var S="00000000-0000-0000-0000-000000000000",y=(m=>(m.codigo="codigo",m.excluido="excluido",m.data_hora_criacao="data_hora_criacao",m.data_hora_atualizacao="data_hora_atualizacao",m.codigo_usuario_criacao="codigo_usuario_criacao",m.codigo_usuario_atualizacao="codigo_usuario_atualizacao",m.versao="versao",m))(y||{}),b=(a=>(a.token="token",a))(b||{}),v=(r=>(r.Usuario="usuario",r.Fornecedor="fornecedor",r))(v||{});import l from"zod";var h=(n=>(n["="]="=",n["!="]="!=",n[">"]=">",n[">="]=">=",n["<"]="<",n["<="]="<=",n.like="like",n.in="in",n.isNull="isNull",n))(h||{}),T=l.enum(["=","!=",">",">=","<","<=","like","in","isNull"]),eo=l.object({coluna:l.string(),valor:l.any(),operador:T,ou:l.boolean().optional()});import O from"dayjs/plugin/duration";import z from"dayjs/plugin/isSameOrAfter";import w from"dayjs/plugin/isSameOrBefore";import k from"dayjs/plugin/minMax";import j from"dayjs/plugin/relativeTime";import N from"dayjs/plugin/timezone";import F from"dayjs/plugin/utc";import P from"dayjs/plugin/weekOfYear";import"dayjs/locale/pt-br";var uo=o=>(o.locale("pt-br"),o.extend(F),o.extend(N),o.extend(P),o.extend(w),o.extend(z),o.extend(k),o.extend(j),o.extend(O),o);var xo="https://paiol.idz.one";var K=[{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"}],bo=o=>{let a=String(o||"").toLocaleLowerCase().split(".").pop();return K.find(n=>n.ext===a)?.tipo||"outros"};var ho=(o,a)=>{let r="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof r>"u")return null;let n=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{a!==void 0&&r.setItem(n,JSON.stringify(a));let t=r.getItem(n);if(t===null)return null;try{return JSON.parse(t)}catch{return t}}catch{return null}};var x=o=>{try{return Object.fromEntries(Object.entries(o).map(([a,r])=>[a,r===void 0||r==null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r,null,2)]))}catch(a){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${a.message} ${a.stack}`)}},Oo=x,zo=x;var U=(o=>(o["e-licencie"]="e-licencie",o["gov.e-licencie"]="gov.e-licencie",o))(U||{});var M=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(M||{});var No=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Po="Ol\xE1 Mundo! (vari\xE1vel)";var qo=(...o)=>o.map(a=>a==null?"":String(a).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var c=class{constructor({caminho:a,acaoIr:r,rotulo:n}){this._partesCaminho=[];this._acaoIr=r,this._partesCaminho=(Array.isArray(a)?a:[a]).filter(Boolean).map(t=>String(t)).flatMap(t=>t.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(a){this._partesCaminho=a.split("/").filter(r=>r)}endereco(a,r){let n=typeof globalThis<"u"&&globalThis.window||void 0,t=new URL(n?n.location.href:"http://localhost");t.pathname=this.caminho,t.search="";let i=Object.entries(a);for(let[d,m]of i)t.searchParams.set(String(d),JSON.stringify(m));return t.hash="",r&&(t.hash=`#${t.search}`,t.search=""),t.href}ir(a){if(this._acaoIr)this._acaoIr(this.endereco({...a}));else{let r=typeof globalThis<"u"&&globalThis.window||void 0;r&&(r.location.href=this.endereco({...a}))}}parametros(a){let r=a?new URL(a):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),n=r.searchParams,t=Object.fromEntries(n.entries()),i=r.hash;if(i){let d=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());t={...t,...d}}for(let d in t)try{t[d]=JSON.parse(t[d])}catch{console.log(`[${d}|${t[d]}] n\xE3o \xE9 um json v\xE1lido.`)}return t}};import{z as p}from"zod";var _=(r=>(r["="]="=",r["!="]="!=",r[">"]=">",r[">="]=">=",r["<"]="<",r["<="]="<=",r.like="like",r.in="in",r))(_||{}),L=(r=>(r.E="E",r.OU="OU",r))(L||{}),q=p.nativeEnum(_),C=p.any(),I=p.record(q,C),f=p.lazy(()=>p.object({E:p.array(f).optional(),OU:p.array(f).optional()}).catchall(p.union([I,f]))),A=o=>o,Vo=A({idade:{">=":18},OU:[{nome:{like:"%pa%"}},{E:[{carro:{ano:{"=":2020}}},{carro:{modelo:{in:["Civic","Corolla"]}}}]}]});var V=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(V||{}),Go=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:o=>o,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:o=>o/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:o=>o*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:o=>o,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:o=>o*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:o=>o,tipo:"unidade"}];import{NIL as J,v3 as G,v4 as $}from"uuid";var D=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Bo=o=>D.test(String(o||"")),B=(o,a)=>G(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),a?B(a):J),R=$,Ro=R;var Yo=o=>new Promise(a=>setTimeout(()=>a(!0),o)),Zo=o=>Object.keys(o).join("/");export{U as Produtos,c as TipagemRotas,L as agrupadores26,Q as aleatorio,g as cacheM,W as cacheMFixo,H as cacheMemoria,y as camposComuns,A as criarFiltro26,uo as definirDayjsbr,D as erUuid,Yo as esperar,K as extensoes,xo as link_paiol,ho as localValor,Zo as nomeVariavel,zo as objetoPg,h as operadores,_ as operadores26,x as paraObjetoRegistroPg,Oo as pgObjeto,V as siglas_unidades_medida,qo as texto_busca,bo as tipoArquivo,v as tipoUsuarioResiduos,M as tiposSituacoesElicencie,b as tx,No as umaFuncao,Po as umaVariavel,Go as unidades_medida,Ro as uuid,B as uuidV3,R as uuidV4,S as uuid_null,Bo as validarUuid,Z as verCacheM,eo as zFiltro,f as zFiltro26,T as zOperadores};
diff --git a/package.json b/package.json
index b691e01..65bc2d1 100644
--- a/package.json
+++ b/package.json
@@ -1,46 +1,47 @@
{
- "name": "p-comuns",
- "version": "0.355.0",
- "description": "",
- "main": "./dist-front/index.mjs",
- "module": "./dist-front/index.mjs",
- "types": "./dist-front/index.d.mts",
- "exports": {
- ".": {
- "types": "./dist-front/index.d.mts",
- "import": "./dist-front/index.mjs",
- "require": "./dist-back/index.js"
- }
- },
- "scripts": {
- "biome": "pnpm exec biome check --write",
- "check": "pnpm run biome && npx tsc --noEmit",
- "build": "npm --no-git-tag-version version minor && pnpm run biome && tsup --config ./tsup/tsup.config.ts && pnpm run pacote",
- "teste": "npx vitest run src/testes/TipagemRotas.test.ts",
- "pacote": "npm pack && npm pack && mv $(npm pack --silent) pacote.tgz",
- "postinstall": "node ./scripts/atualizar-biome.js"
- },
- "author": {
- "name": "AZTECA SOFTWARE LTDA",
- "email": "ti@e-licencie.com.br",
- "url": "https://e-licencie.com.br"
- },
- "license": "ISC",
- "dependencies": {},
- "devDependencies": {
- "uuid": "^11.1.0",
- "zod": "4.4.3",
- "dayjs": "^1.11.18",
- "@biomejs/biome": "2.4.12",
- "@types/node": "^22",
- "tsup": "8.5.1",
- "typescript": "^6",
- "unbuild": "^3.6.1",
- "vitest": "^3.2.4"
- },
- "peerDependencies": {
- "dayjs": "^1.11.18",
- "uuid": "^11.1.0",
- "zod": "4.4.3"
- }
+ "name": "p-comuns",
+ "version": "0.314.0",
+ "description": "",
+ "main": "./dist-front/index.mjs",
+ "module": "./dist-front/index.mjs",
+ "types": "./dist-front/index.d.mts",
+ "exports": {
+ ".": {
+ "types": "./dist-front/index.d.mts",
+ "import": "./dist-front/index.mjs",
+ "require": "./dist-back/index.js"
+ }
+ },
+ "scripts": {
+ "biome": "pnpm exec biome check --write",
+ "check": "pnpm run biome && npx tsc --noEmit",
+ "build": "npm --no-git-tag-version version minor && pnpm run biome && tsup --config ./tsup/tsup.config.ts && pnpm run pacote",
+ "teste": "npx vitest run src/testes/TipagemRotas.test.ts",
+ "pacote": "npm pack && npm pack && mv $(npm pack --silent) pacote.tgz"
+ },
+ "author": {
+ "name": "AZTECA SOFTWARE LTDA",
+ "email": "ti@e-licencie.com.br",
+ "url": "https://e-licencie.com.br"
+ },
+ "license": "ISC",
+ "dependencies": {},
+ "devDependencies": {
+ "cross-fetch": "4.1.0",
+ "uuid": "^11.1.0",
+ "zod": "4.1.4",
+ "dayjs": "^1.11.18",
+ "@biomejs/biome": "2.4.0",
+ "@types/node": "^20.19.22",
+ "tsup": "8.5.0",
+ "typescript": "~5.9.3",
+ "unbuild": "^3.6.1",
+ "vitest": "^3.2.4"
+ },
+ "peerDependencies": {
+ "cross-fetch": "4.1.0",
+ "dayjs": "^1.11.18",
+ "uuid": "^11.1.0",
+ "zod": "4.1.4"
+ }
}
diff --git a/pacote.tgz b/pacote.tgz
index 9505f93..0a5c2a7 100644
Binary files a/pacote.tgz and b/pacote.tgz differ
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f809977..fd8c817 100755
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,417 +9,262 @@ importers:
.:
devDependencies:
'@biomejs/biome':
- specifier: 2.4.12
- version: 2.4.12
+ specifier: 2.4.0
+ version: 2.4.0
'@types/node':
- specifier: ^22
- version: 22.20.1
+ specifier: ^20.19.22
+ version: 20.19.22
+ cross-fetch:
+ specifier: 4.1.0
+ version: 4.1.0
dayjs:
specifier: ^1.11.18
- version: 1.11.20
+ version: 1.11.19
tsup:
- specifier: 8.5.1
- version: 8.5.1(jiti@2.6.1)(postcss@8.5.9)(typescript@6.0.3)
+ specifier: 8.5.0
+ version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3)
typescript:
- specifier: ^6
- version: 6.0.3
+ specifier: ~5.9.3
+ version: 5.9.3
unbuild:
specifier: ^3.6.1
- version: 3.6.1(typescript@6.0.3)
+ version: 3.6.1(typescript@5.9.3)
uuid:
specifier: ^11.1.0
version: 11.1.0
vitest:
specifier: ^3.2.4
- version: 3.2.4(@types/node@22.20.1)(jiti@2.6.1)
+ version: 3.2.4(@types/node@20.19.22)(jiti@2.6.1)
zod:
- specifier: 4.4.3
- version: 4.4.3
+ specifier: 4.1.4
+ version: 4.1.4
packages:
- '@babel/code-frame@7.29.0':
- resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
- '@biomejs/biome@2.4.12':
- resolution: {integrity: sha512-Rro7adQl3NLq/zJCIL98eElXKI8eEiBtoeu5TbXF/U3qbjuSc7Jb5rjUbeHHcquDWeSf3HnGP7XI5qGrlRk/pA==}
+ '@biomejs/biome@2.4.0':
+ resolution: {integrity: sha512-iluT61cORUDIC5i/y42ljyQraCemmmcgbMLLCnYO+yh+2hjTmcMFcwY8G0zTzWCsPb3t3AyKc+0t/VuhPZULUg==}
engines: {node: '>=14.21.3'}
hasBin: true
- '@biomejs/cli-darwin-arm64@2.4.12':
- resolution: {integrity: sha512-BnMU4Pc3ciEVteVpZ0BK33MLr7X57F5w1dwDLDn+/iy/yTrA4Q/N2yftidFtsA4vrDh0FMXDpacNV/Tl3fbmng==}
+ '@biomejs/cli-darwin-arm64@2.4.0':
+ resolution: {integrity: sha512-L+YpOtPSuU0etomfvFTPWRsa7+8ejaJL3yaROEoT/96HDJbR6OsvZQk0C8JUYou+XFdP+JcGxqZknkp4n934RA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
- '@biomejs/cli-darwin-x64@2.4.12':
- resolution: {integrity: sha512-x9uJ0bI1rJsWICp3VH8w/5PnAVD3A7SqzDpbrfoUQX1QyWrK5jSU4fRLo/wSgGeplCivbxBRKmt5Xq4/nWvq8A==}
+ '@biomejs/cli-darwin-x64@2.4.0':
+ resolution: {integrity: sha512-Aq+S7ffpb5ynTyLgtnEjG+W6xuTd2F7FdC7J6ShpvRhZwJhjzwITGF9vrqoOnw0sv1XWkt2Q1Rpg+hleg/Xg7Q==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
- '@biomejs/cli-linux-arm64-musl@2.4.12':
- resolution: {integrity: sha512-FhfpkAAlKL6kwvcVap0Hgp4AhZmtd3YImg0kK1jd7C/aSoh4SfsB2f++yG1rU0lr8Y5MCFJrcSkmssiL9Xnnig==}
+ '@biomejs/cli-linux-arm64-musl@2.4.0':
+ resolution: {integrity: sha512-1rhDUq8sf7xX3tg7vbnU3WVfanKCKi40OXc4VleBMzRStmQHdeBY46aFP6VdwEomcVjyNiu+Zcr3LZtAdrZrjQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
- '@biomejs/cli-linux-arm64@2.4.12':
- resolution: {integrity: sha512-tOwuCuZZtKi1jVzbk/5nXmIsziOB6yqN8c9r9QM0EJYPU6DpQWf11uBOSCfFKKM4H3d9ZoarvlgMfbcuD051Pw==}
+ '@biomejs/cli-linux-arm64@2.4.0':
+ resolution: {integrity: sha512-u2p54IhvNAWB+h7+rxCZe3reNfQYFK+ppDw+q0yegrGclFYnDPZAntv/PqgUacpC3uxTeuWFgWW7RFe3lHuxOA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
- '@biomejs/cli-linux-x64-musl@2.4.12':
- resolution: {integrity: sha512-dwTIgZrGutzhkQCuvHynCkyW6hJxUuyZqKKO0YNfaS2GUoRO+tOvxXZqZB6SkWAOdfZTzwaw8IEdUnIkHKHoew==}
+ '@biomejs/cli-linux-x64-musl@2.4.0':
+ resolution: {integrity: sha512-Omo0xhl63z47X+CrE5viEWKJhejJyndl577VoXg763U/aoATrK3r5+8DPh02GokWPeODX1Hek00OtjjooGan9w==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
- '@biomejs/cli-linux-x64@2.4.12':
- resolution: {integrity: sha512-8pFeAnLU9QdW9jCIslB/v82bI0lhBmz2ZAKc8pVMFPO0t0wAHsoEkrUQUbMkIorTRIjbqyNZHA3lEXavsPWYSw==}
+ '@biomejs/cli-linux-x64@2.4.0':
+ resolution: {integrity: sha512-WVFOhsnzhrbMGOSIcB9yFdRV2oG2KkRRhIZiunI9gJqSU3ax9ErdnTxRfJUxZUI9NbzVxC60OCXNcu+mXfF/Tw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
- '@biomejs/cli-win32-arm64@2.4.12':
- resolution: {integrity: sha512-B0DLnx0vA9ya/3v7XyCaP+/lCpnbWbMOfUFFve+xb5OxyYvdHaS55YsSddr228Y+JAFk58agCuZTsqNiw2a6ig==}
+ '@biomejs/cli-win32-arm64@2.4.0':
+ resolution: {integrity: sha512-aqRwW0LJLV1v1NzyLvLWQhdLmDSAV1vUh+OBdYJaa8f28XBn5BZavo+WTfqgEzALZxlNfBmu6NGO6Al3MbCULw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
- '@biomejs/cli-win32-x64@2.4.12':
- resolution: {integrity: sha512-yMckRzTyZ83hkk8iDFWswqSdU8tvZxspJKnYNh7JZr/zhZNOlzH13k4ecboU6MurKExCe2HUkH75pGI/O2JwGA==}
+ '@biomejs/cli-win32-x64@2.4.0':
+ resolution: {integrity: sha512-g47s+V+OqsGxbSZN3lpav6WYOk0PIc3aCBAq+p6dwSynL3K5MA6Cg6nkzDOlu28GEHwbakW+BllzHCJCxnfK5Q==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
- '@colordx/core@5.0.3':
- resolution: {integrity: sha512-xBQ0MYRTNNxW3mS2sJtlQTT7C3Sasqgh1/PsHva7fyDb5uqYY+gv9V0utDdX8X80mqzbGz3u/IDJdn2d/uW09g==}
-
- '@esbuild/aix-ppc64@0.25.12':
- resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ '@esbuild/aix-ppc64@0.25.11':
+ resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.27.7':
- resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.25.12':
- resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ '@esbuild/android-arm64@0.25.11':
+ resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.27.7':
- resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.25.12':
- resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ '@esbuild/android-arm@0.25.11':
+ resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.27.7':
- resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.25.12':
- resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ '@esbuild/android-x64@0.25.11':
+ resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.27.7':
- resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.25.12':
- resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ '@esbuild/darwin-arm64@0.25.11':
+ resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.27.7':
- resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.25.12':
- resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ '@esbuild/darwin-x64@0.25.11':
+ resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.27.7':
- resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.25.12':
- resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ '@esbuild/freebsd-arm64@0.25.11':
+ resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.27.7':
- resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.25.12':
- resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ '@esbuild/freebsd-x64@0.25.11':
+ resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.27.7':
- resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.25.12':
- resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ '@esbuild/linux-arm64@0.25.11':
+ resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.27.7':
- resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.25.12':
- resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ '@esbuild/linux-arm@0.25.11':
+ resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.27.7':
- resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.25.12':
- resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ '@esbuild/linux-ia32@0.25.11':
+ resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.27.7':
- resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.25.12':
- resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ '@esbuild/linux-loong64@0.25.11':
+ resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.27.7':
- resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.25.12':
- resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ '@esbuild/linux-mips64el@0.25.11':
+ resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.27.7':
- resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.25.12':
- resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ '@esbuild/linux-ppc64@0.25.11':
+ resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.27.7':
- resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.25.12':
- resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ '@esbuild/linux-riscv64@0.25.11':
+ resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.27.7':
- resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.25.12':
- resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ '@esbuild/linux-s390x@0.25.11':
+ resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.27.7':
- resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.25.12':
- resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ '@esbuild/linux-x64@0.25.11':
+ resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.27.7':
- resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.25.12':
- resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ '@esbuild/netbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-arm64@0.27.7':
- resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.25.12':
- resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ '@esbuild/netbsd-x64@0.25.11':
+ resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.27.7':
- resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.25.12':
- resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ '@esbuild/openbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-arm64@0.27.7':
- resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.25.12':
- resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ '@esbuild/openbsd-x64@0.25.11':
+ resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.27.7':
- resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openharmony-arm64@0.25.12':
- resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ '@esbuild/openharmony-arm64@0.25.11':
+ resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/openharmony-arm64@0.27.7':
- resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
- '@esbuild/sunos-x64@0.25.12':
- resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ '@esbuild/sunos-x64@0.25.11':
+ resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.27.7':
- resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.25.12':
- resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ '@esbuild/win32-arm64@0.25.11':
+ resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.27.7':
- resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.25.12':
- resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ '@esbuild/win32-ia32@0.25.11':
+ resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.27.7':
- resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.25.12':
- resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ '@esbuild/win32-x64@0.25.11':
+ resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.27.7':
- resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
- '@jridgewell/remapping@2.3.5':
- resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
-
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
@@ -430,6 +275,10 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
'@rollup/plugin-alias@5.1.1':
resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==}
engines: {node: '>=14.0.0'}
@@ -466,8 +315,8 @@ packages:
rollup:
optional: true
- '@rollup/plugin-replace@6.0.3':
- resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==}
+ '@rollup/plugin-replace@6.0.2':
+ resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
@@ -484,133 +333,118 @@ packages:
rollup:
optional: true
- '@rollup/rollup-android-arm-eabi@4.60.1':
- resolution: {integrity: sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==}
+ '@rollup/rollup-android-arm-eabi@4.52.5':
+ resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.60.1':
- resolution: {integrity: sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==}
+ '@rollup/rollup-android-arm64@4.52.5':
+ resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.60.1':
- resolution: {integrity: sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==}
+ '@rollup/rollup-darwin-arm64@4.52.5':
+ resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.60.1':
- resolution: {integrity: sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==}
+ '@rollup/rollup-darwin-x64@4.52.5':
+ resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.60.1':
- resolution: {integrity: sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==}
+ '@rollup/rollup-freebsd-arm64@4.52.5':
+ resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.60.1':
- resolution: {integrity: sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==}
+ '@rollup/rollup-freebsd-x64@4.52.5':
+ resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.60.1':
- resolution: {integrity: sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
+ resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.60.1':
- resolution: {integrity: sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==}
+ '@rollup/rollup-linux-arm-musleabihf@4.52.5':
+ resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.60.1':
- resolution: {integrity: sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==}
+ '@rollup/rollup-linux-arm64-gnu@4.52.5':
+ resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.60.1':
- resolution: {integrity: sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==}
+ '@rollup/rollup-linux-arm64-musl@4.52.5':
+ resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-loong64-gnu@4.60.1':
- resolution: {integrity: sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==}
+ '@rollup/rollup-linux-loong64-gnu@4.52.5':
+ resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==}
cpu: [loong64]
os: [linux]
- '@rollup/rollup-linux-loong64-musl@4.60.1':
- resolution: {integrity: sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==}
- cpu: [loong64]
- os: [linux]
-
- '@rollup/rollup-linux-ppc64-gnu@4.60.1':
- resolution: {integrity: sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==}
+ '@rollup/rollup-linux-ppc64-gnu@4.52.5':
+ resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-ppc64-musl@4.60.1':
- resolution: {integrity: sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.60.1':
- resolution: {integrity: sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==}
+ '@rollup/rollup-linux-riscv64-gnu@4.52.5':
+ resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-riscv64-musl@4.60.1':
- resolution: {integrity: sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==}
+ '@rollup/rollup-linux-riscv64-musl@4.52.5':
+ resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.60.1':
- resolution: {integrity: sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==}
+ '@rollup/rollup-linux-s390x-gnu@4.52.5':
+ resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.60.1':
- resolution: {integrity: sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==}
+ '@rollup/rollup-linux-x64-gnu@4.52.5':
+ resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.60.1':
- resolution: {integrity: sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==}
+ '@rollup/rollup-linux-x64-musl@4.52.5':
+ resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-openbsd-x64@4.60.1':
- resolution: {integrity: sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==}
- cpu: [x64]
- os: [openbsd]
-
- '@rollup/rollup-openharmony-arm64@4.60.1':
- resolution: {integrity: sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==}
+ '@rollup/rollup-openharmony-arm64@4.52.5':
+ resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==}
cpu: [arm64]
os: [openharmony]
- '@rollup/rollup-win32-arm64-msvc@4.60.1':
- resolution: {integrity: sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==}
+ '@rollup/rollup-win32-arm64-msvc@4.52.5':
+ resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.60.1':
- resolution: {integrity: sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==}
+ '@rollup/rollup-win32-ia32-msvc@4.52.5':
+ resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-gnu@4.60.1':
- resolution: {integrity: sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==}
+ '@rollup/rollup-win32-x64-gnu@4.52.5':
+ resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==}
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.60.1':
- resolution: {integrity: sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==}
+ '@rollup/rollup-win32-x64-msvc@4.52.5':
+ resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==}
cpu: [x64]
os: [win32]
- '@types/chai@5.2.3':
- resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
+ '@types/chai@5.2.2':
+ resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
@@ -618,8 +452,8 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/node@22.20.1':
- resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==}
+ '@types/node@20.19.22':
+ resolution: {integrity: sha512-hRnu+5qggKDSyWHlnmThnUqg62l29Aj/6vcYgUaSFL9oc7DVjeWEQN3PRgdSc6F8d9QRMWkf36CLMch1Do/+RQ==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -653,11 +487,27 @@ packages:
'@vitest/utils@3.2.4':
resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
- acorn@8.16.0:
- resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
any-promise@1.3.0:
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
@@ -665,23 +515,28 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
- autoprefixer@10.5.0:
- resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==}
+ autoprefixer@10.4.21:
+ resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
- baseline-browser-mapping@2.10.19:
- resolution: {integrity: sha512-qCkNLi2sfBOn8XhZQ0FXsT1Ki/Yo5P90hrkRamVFRS7/KV9hpfA4HkoWNU152+8w0zPjnxo5psx5NL3PSGgv5g==}
- engines: {node: '>=6.0.0'}
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ baseline-browser-mapping@2.8.20:
+ resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==}
hasBin: true
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- browserslist@4.28.2:
- resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ browserslist@4.27.0:
+ resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -698,15 +553,15 @@ packages:
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- caniuse-lite@1.0.30001788:
- resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==}
+ caniuse-lite@1.0.30001751:
+ resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==}
chai@5.3.3:
resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
engines: {node: '>=18'}
- check-error@2.1.3:
- resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ check-error@2.1.1:
+ resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
chokidar@4.0.3:
@@ -716,6 +571,16 @@ packages:
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+ 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==}
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
commander@11.1.0:
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
engines: {node: '>=16'}
@@ -730,18 +595,22 @@ packages:
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- confbox@0.2.4:
- resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==}
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
consola@3.4.2:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
- convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ cross-fetch@4.1.0:
+ resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==}
- css-declaration-sorter@7.4.0:
- resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ css-declaration-sorter@7.3.0:
+ resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss: ^8.0.9
@@ -753,8 +622,8 @@ packages:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- css-tree@3.2.1:
- resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
css-what@6.2.2:
@@ -766,8 +635,8 @@ packages:
engines: {node: '>=4'}
hasBin: true
- cssnano-preset-default@7.0.13:
- resolution: {integrity: sha512-/XvjNeb+oitOT9ks3Tg0UAsnXeHR1dh3wBMK/D/zN8gqvAHOp25FZGiLoQbvBBU203WXVNITkaqyFp4O/Rns4w==}
+ cssnano-preset-default@7.0.9:
+ resolution: {integrity: sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -778,8 +647,8 @@ packages:
peerDependencies:
postcss: ^8.4.32
- cssnano@7.1.5:
- resolution: {integrity: sha512-4yEvjF2zcoAOWfNq6X687ORJc5SvM5xbg6EGuLSBmGoWZbsL69wpmw1tA3fZt7OwIG+G4ndjF95RSS4luvim7A==}
+ cssnano@7.1.1:
+ resolution: {integrity: sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -788,8 +657,8 @@ packages:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
- dayjs@1.11.20:
- resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
+ dayjs@1.11.19:
+ resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
@@ -808,8 +677,8 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
- defu@6.1.7:
- resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
@@ -824,27 +693,27 @@ packages:
domutils@3.2.2:
resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
- electron-to-chromium@1.5.336:
- resolution: {integrity: sha512-AbH9q9J455r/nLmdNZes0G0ZKcRX73FicwowalLs6ijwOmCJSRRrLX63lcAlzy9ux3dWK1w1+1nsBJEWN11hcQ==}
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ electron-to-chromium@1.5.240:
+ resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
- es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
-
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
- esbuild@0.25.12:
- resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
- engines: {node: '>=18'}
- hasBin: true
-
- esbuild@0.27.7:
- resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==}
+ esbuild@0.25.11:
+ resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
engines: {node: '>=18'}
hasBin: true
@@ -858,12 +727,12 @@ packages:
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- expect-type@1.3.0:
- resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ expect-type@1.2.2:
+ resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
engines: {node: '>=12.0.0'}
- exsolve@1.0.8:
- resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
@@ -877,8 +746,12 @@ packages:
fix-dts-default-cjs-exports@1.0.1:
resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==}
- fraction.js@5.3.4:
- resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
@@ -888,6 +761,10 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -899,12 +776,22 @@ packages:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
jiti@1.21.7:
resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
hasBin: true
@@ -923,8 +810,8 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
- knitwork@1.3.0:
- resolution: {integrity: sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==}
+ knitwork@1.2.0:
+ resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==}
lilconfig@3.1.3:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
@@ -940,20 +827,34 @@ packages:
lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+
lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
loupe@3.2.1:
resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
- magic-string@0.30.21:
- resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ magic-string@0.30.19:
+ resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
- mdn-data@2.27.1:
- resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+ mdn-data@2.12.2:
+ resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
mkdist@2.4.1:
resolution: {integrity: sha512-Ezk0gi04GJBkqMfsksICU5Rjoemc4biIekwgrONWVPor2EO/N9nBgN6MZXAf7Yw4mDDhrNyKbdETaHNevfumKg==}
@@ -976,8 +877,8 @@ packages:
vue-tsc:
optional: true
- mlly@1.8.2:
- resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==}
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -990,8 +891,21 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- node-releases@2.0.37:
- resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==}
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-releases@2.0.26:
+ resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@@ -1000,9 +914,20 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
@@ -1013,8 +938,8 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- picomatch@4.0.4:
- resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
pirates@4.0.7:
@@ -1033,20 +958,20 @@ packages:
peerDependencies:
postcss: ^8.4.38
- postcss-colormin@7.0.8:
- resolution: {integrity: sha512-VX0JOZx0jECwGK0GZejIKvXIU+80S1zkjet31FVUYPZ4O+IPU3ZlntrPdPKT2HnKRMOkc0wy3m/v+c4UNta02g==}
+ postcss-colormin@7.0.4:
+ resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
- postcss-convert-values@7.0.10:
- resolution: {integrity: sha512-hVqVH3cDkPyxL4Q0xpCquRAXjJDZ6hbpjC+PNWn8ZgHmNX3RZxLtruC3U2LY9EuNe+tp4QkcsZxg0htokmjydg==}
+ postcss-convert-values@7.0.7:
+ resolution: {integrity: sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
- postcss-discard-comments@7.0.6:
- resolution: {integrity: sha512-Sq+Fzj1Eg5/CPf1ERb0wS1Im5cvE2gDXCE+si4HCn1sf+jpQZxDI4DXEp8t77B/ImzDceWE2ebJQFXdqZ6GRJw==}
+ postcss-discard-comments@7.0.4:
+ resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1093,8 +1018,8 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-merge-rules@7.0.9:
- resolution: {integrity: sha512-XKMXkHAegyLeIymVylg1Ro4NNHITInHPvmvybsIUximYfsg5fRw2b5TeqLTQwwg5cXEDVa556AAxvMve1MJuJA==}
+ postcss-merge-rules@7.0.6:
+ resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1105,20 +1030,20 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-minify-gradients@7.0.3:
- resolution: {integrity: sha512-2znRFq3Pg+Zo0ttzQxO7qIJdY2er1TOZbclHW2qMqBcHMmz+i6nn3roAyG3kuEDQTzbzd3gn24TAIifEfth1PQ==}
+ postcss-minify-gradients@7.0.1:
+ resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
- postcss-minify-params@7.0.7:
- resolution: {integrity: sha512-OPmvW/9sjPEPQYnS2Sh6jvMW54wqk1IjjEMB8k/7V8SUIie71yMy3HQ9+w/ZHoL1YvgDGBQ/mCxP3n0Y/RxgqA==}
+ postcss-minify-params@7.0.4:
+ resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
- postcss-minify-selectors@7.0.6:
- resolution: {integrity: sha512-lIbC0jy3AAwDxEgciZlBullDiMBeBCT+fz5G8RcA9MWqh/hfUkpOI3vNDUNEZHgokaoiv0juB9Y8fGcON7rU/A==}
+ postcss-minify-selectors@7.0.5:
+ resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1165,8 +1090,8 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-normalize-unicode@7.0.7:
- resolution: {integrity: sha512-Kfm0mC3gTnOC+SsLgxQqNEZStRxJgBaYrMpBe9fDVB0/MjC1G++FAeDW2YxYc5Mbvav12/7mOBSOTW7HK9Knwg==}
+ postcss-normalize-unicode@7.0.4:
+ resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1189,8 +1114,8 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-reduce-initial@7.0.7:
- resolution: {integrity: sha512-evetDQPqkgrzHoP8g3HjE3KgH0j2W0je2Vt1pfTaO2KvmjulStxGC2IGeI2y0pdLi6ryEGc4nD08zpDRP9ge8w==}
+ postcss-reduce-initial@7.0.4:
+ resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1201,18 +1126,18 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-selector-parser@7.1.1:
- resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
engines: {node: '>=4'}
- postcss-svgo@7.1.1:
- resolution: {integrity: sha512-zU9H9oEDrUFKa0JB7w+IYL7Qs9ey1mZyjhbf0KLxwJDdDRtoPvCmaEfknzqfHj44QS9VD6c5sJnBAVYTLRg/Sg==}
+ postcss-svgo@7.1.0:
+ resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==}
engines: {node: ^18.12.0 || ^20.9.0 || >= 18}
peerDependencies:
postcss: ^8.4.32
- postcss-unique-selectors@7.0.5:
- resolution: {integrity: sha512-3QoYmEt4qg/rUWDn6Tc8+ZVPmbp4G1hXDtCNWDx0st8SjtCbRcxRXDDM1QrEiXGG3A45zscSJFb4QH90LViyxg==}
+ postcss-unique-selectors@7.0.4:
+ resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
@@ -1220,14 +1145,18 @@ packages:
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.5.9:
- resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==}
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
pretty-bytes@7.1.0:
resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==}
engines: {node: '>=20'}
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
@@ -1236,45 +1165,57 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve@1.22.12:
- resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ resolve@1.22.11:
+ resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
engines: {node: '>= 0.4'}
hasBin: true
- rollup-plugin-dts@6.4.1:
- resolution: {integrity: sha512-l//F3Zf7ID5GoOfLfD8kroBjQKEKpy1qfhtAdnpibFZMffPaylrg1CoDC2vGkPeTeyxUe4bVFCln2EFuL7IGGg==}
- engines: {node: '>=20'}
+ rollup-plugin-dts@6.2.3:
+ resolution: {integrity: sha512-UgnEsfciXSPpASuOelix7m4DrmyQgiaWBnvI0TM4GxuDh5FkqW8E5hu57bCxXB90VvR1WNfLV80yEDN18UogSA==}
+ engines: {node: '>=16'}
peerDependencies:
rollup: ^3.29.4 || ^4
- typescript: ^4.5 || ^5.0 || ^6.0
+ typescript: ^4.5 || ^5.0
- rollup@4.60.1:
- resolution: {integrity: sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==}
+ rollup@4.52.5:
+ resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- sax@1.6.0:
- resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
- engines: {node: '>=11.0.0'}
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
scule@1.3.0:
resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
- semver@7.7.4:
- resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
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'}
+
siginfo@2.0.0:
resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
- source-map@0.7.6:
- resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
- engines: {node: '>= 12'}
+ source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
@@ -1282,17 +1223,33 @@ packages:
std-env@3.10.0:
resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ engines: {node: '>=12'}
+
strip-literal@3.1.0:
resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
- stylehacks@7.0.9:
- resolution: {integrity: sha512-dgipCLBa16sZDoQ8BmXdRwV4SmFAxZ4KtbMhV0buow62M/2l6Jq6AkVsKUY/QFr8+VjgzXO5UVHx1f+vvY9DXw==}
+ stylehacks@7.0.6:
+ resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
peerDependencies:
postcss: ^8.4.32
- sucrase@3.35.1:
- resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==}
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
hasBin: true
@@ -1300,8 +1257,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- svgo@4.0.1:
- resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==}
+ svgo@4.0.0:
+ resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
engines: {node: '>=16'}
hasBin: true
@@ -1318,8 +1275,8 @@ packages:
tinyexec@0.3.2:
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
- tinyglobby@0.2.16:
- resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
tinypool@1.1.1:
@@ -1334,6 +1291,12 @@ packages:
resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
engines: {node: '>=14.0.0'}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+
tree-kill@1.2.2:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
@@ -1341,8 +1304,8 @@ packages:
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- tsup@8.5.1:
- resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==}
+ tsup@8.5.0:
+ resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
@@ -1360,13 +1323,13 @@ packages:
typescript:
optional: true
- typescript@6.0.3:
- resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
- ufo@1.6.3:
- resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
unbuild@3.6.1:
resolution: {integrity: sha512-+U5CdtrdjfWkZhuO4N9l5UhyiccoeMEXIc2Lbs30Haxb+tRwB3VwB8AoZRxlAzORXunenSo+j6lh45jx+xkKgg==}
@@ -1384,8 +1347,8 @@ packages:
resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==}
hasBin: true
- update-browserslist-db@1.2.3:
- resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
+ update-browserslist-db@1.1.4:
+ resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -1402,8 +1365,8 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite@7.3.2:
- resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==}
+ vite@7.1.10:
+ resolution: {integrity: sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1470,17 +1433,42 @@ packages:
jsdom:
optional: true
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ whatwg-url@7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
why-is-node-running@2.3.0:
resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
engines: {node: '>=8'}
hasBin: true
- zod@4.4.3:
- resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ zod@4.1.4:
+ resolution: {integrity: sha512-2YqJuWkU6IIK9qcE4k1lLLhyZ6zFw7XVRdQGpV97jEIZwTrscUw+DY31Xczd8nwaoksyJUIxCojZXwckJovWxA==}
snapshots:
- '@babel/code-frame@7.29.0':
+ '@babel/code-frame@7.27.1':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
@@ -1490,209 +1478,133 @@ snapshots:
'@babel/helper-validator-identifier@7.28.5':
optional: true
- '@biomejs/biome@2.4.12':
+ '@biomejs/biome@2.4.0':
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 2.4.12
- '@biomejs/cli-darwin-x64': 2.4.12
- '@biomejs/cli-linux-arm64': 2.4.12
- '@biomejs/cli-linux-arm64-musl': 2.4.12
- '@biomejs/cli-linux-x64': 2.4.12
- '@biomejs/cli-linux-x64-musl': 2.4.12
- '@biomejs/cli-win32-arm64': 2.4.12
- '@biomejs/cli-win32-x64': 2.4.12
+ '@biomejs/cli-darwin-arm64': 2.4.0
+ '@biomejs/cli-darwin-x64': 2.4.0
+ '@biomejs/cli-linux-arm64': 2.4.0
+ '@biomejs/cli-linux-arm64-musl': 2.4.0
+ '@biomejs/cli-linux-x64': 2.4.0
+ '@biomejs/cli-linux-x64-musl': 2.4.0
+ '@biomejs/cli-win32-arm64': 2.4.0
+ '@biomejs/cli-win32-x64': 2.4.0
- '@biomejs/cli-darwin-arm64@2.4.12':
+ '@biomejs/cli-darwin-arm64@2.4.0':
optional: true
- '@biomejs/cli-darwin-x64@2.4.12':
+ '@biomejs/cli-darwin-x64@2.4.0':
optional: true
- '@biomejs/cli-linux-arm64-musl@2.4.12':
+ '@biomejs/cli-linux-arm64-musl@2.4.0':
optional: true
- '@biomejs/cli-linux-arm64@2.4.12':
+ '@biomejs/cli-linux-arm64@2.4.0':
optional: true
- '@biomejs/cli-linux-x64-musl@2.4.12':
+ '@biomejs/cli-linux-x64-musl@2.4.0':
optional: true
- '@biomejs/cli-linux-x64@2.4.12':
+ '@biomejs/cli-linux-x64@2.4.0':
optional: true
- '@biomejs/cli-win32-arm64@2.4.12':
+ '@biomejs/cli-win32-arm64@2.4.0':
optional: true
- '@biomejs/cli-win32-x64@2.4.12':
+ '@biomejs/cli-win32-x64@2.4.0':
optional: true
- '@colordx/core@5.0.3': {}
-
- '@esbuild/aix-ppc64@0.25.12':
+ '@esbuild/aix-ppc64@0.25.11':
optional: true
- '@esbuild/aix-ppc64@0.27.7':
+ '@esbuild/android-arm64@0.25.11':
optional: true
- '@esbuild/android-arm64@0.25.12':
+ '@esbuild/android-arm@0.25.11':
optional: true
- '@esbuild/android-arm64@0.27.7':
+ '@esbuild/android-x64@0.25.11':
optional: true
- '@esbuild/android-arm@0.25.12':
+ '@esbuild/darwin-arm64@0.25.11':
optional: true
- '@esbuild/android-arm@0.27.7':
+ '@esbuild/darwin-x64@0.25.11':
optional: true
- '@esbuild/android-x64@0.25.12':
+ '@esbuild/freebsd-arm64@0.25.11':
optional: true
- '@esbuild/android-x64@0.27.7':
+ '@esbuild/freebsd-x64@0.25.11':
optional: true
- '@esbuild/darwin-arm64@0.25.12':
+ '@esbuild/linux-arm64@0.25.11':
optional: true
- '@esbuild/darwin-arm64@0.27.7':
+ '@esbuild/linux-arm@0.25.11':
optional: true
- '@esbuild/darwin-x64@0.25.12':
+ '@esbuild/linux-ia32@0.25.11':
optional: true
- '@esbuild/darwin-x64@0.27.7':
+ '@esbuild/linux-loong64@0.25.11':
optional: true
- '@esbuild/freebsd-arm64@0.25.12':
+ '@esbuild/linux-mips64el@0.25.11':
optional: true
- '@esbuild/freebsd-arm64@0.27.7':
+ '@esbuild/linux-ppc64@0.25.11':
optional: true
- '@esbuild/freebsd-x64@0.25.12':
+ '@esbuild/linux-riscv64@0.25.11':
optional: true
- '@esbuild/freebsd-x64@0.27.7':
+ '@esbuild/linux-s390x@0.25.11':
optional: true
- '@esbuild/linux-arm64@0.25.12':
+ '@esbuild/linux-x64@0.25.11':
optional: true
- '@esbuild/linux-arm64@0.27.7':
+ '@esbuild/netbsd-arm64@0.25.11':
optional: true
- '@esbuild/linux-arm@0.25.12':
+ '@esbuild/netbsd-x64@0.25.11':
optional: true
- '@esbuild/linux-arm@0.27.7':
+ '@esbuild/openbsd-arm64@0.25.11':
optional: true
- '@esbuild/linux-ia32@0.25.12':
+ '@esbuild/openbsd-x64@0.25.11':
optional: true
- '@esbuild/linux-ia32@0.27.7':
+ '@esbuild/openharmony-arm64@0.25.11':
optional: true
- '@esbuild/linux-loong64@0.25.12':
+ '@esbuild/sunos-x64@0.25.11':
optional: true
- '@esbuild/linux-loong64@0.27.7':
+ '@esbuild/win32-arm64@0.25.11':
optional: true
- '@esbuild/linux-mips64el@0.25.12':
+ '@esbuild/win32-ia32@0.25.11':
optional: true
- '@esbuild/linux-mips64el@0.27.7':
+ '@esbuild/win32-x64@0.25.11':
optional: true
- '@esbuild/linux-ppc64@0.25.12':
- optional: true
-
- '@esbuild/linux-ppc64@0.27.7':
- optional: true
-
- '@esbuild/linux-riscv64@0.25.12':
- optional: true
-
- '@esbuild/linux-riscv64@0.27.7':
- optional: true
-
- '@esbuild/linux-s390x@0.25.12':
- optional: true
-
- '@esbuild/linux-s390x@0.27.7':
- optional: true
-
- '@esbuild/linux-x64@0.25.12':
- optional: true
-
- '@esbuild/linux-x64@0.27.7':
- optional: true
-
- '@esbuild/netbsd-arm64@0.25.12':
- optional: true
-
- '@esbuild/netbsd-arm64@0.27.7':
- optional: true
-
- '@esbuild/netbsd-x64@0.25.12':
- optional: true
-
- '@esbuild/netbsd-x64@0.27.7':
- optional: true
-
- '@esbuild/openbsd-arm64@0.25.12':
- optional: true
-
- '@esbuild/openbsd-arm64@0.27.7':
- optional: true
-
- '@esbuild/openbsd-x64@0.25.12':
- optional: true
-
- '@esbuild/openbsd-x64@0.27.7':
- optional: true
-
- '@esbuild/openharmony-arm64@0.25.12':
- optional: true
-
- '@esbuild/openharmony-arm64@0.27.7':
- optional: true
-
- '@esbuild/sunos-x64@0.25.12':
- optional: true
-
- '@esbuild/sunos-x64@0.27.7':
- optional: true
-
- '@esbuild/win32-arm64@0.25.12':
- optional: true
-
- '@esbuild/win32-arm64@0.27.7':
- optional: true
-
- '@esbuild/win32-ia32@0.25.12':
- optional: true
-
- '@esbuild/win32-ia32@0.27.7':
- optional: true
-
- '@esbuild/win32-x64@0.25.12':
- optional: true
-
- '@esbuild/win32-x64@0.27.7':
- optional: true
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.2
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
'@jridgewell/trace-mapping': 0.3.31
- '@jridgewell/remapping@2.3.5':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
-
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/sourcemap-codec@1.5.5': {}
@@ -1702,138 +1614,131 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@rollup/plugin-alias@5.1.1(rollup@4.60.1)':
- optionalDependencies:
- rollup: 4.60.1
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
- '@rollup/plugin-commonjs@28.0.9(rollup@4.60.1)':
+ '@rollup/plugin-alias@5.1.1(rollup@4.52.5)':
+ optionalDependencies:
+ rollup: 4.52.5
+
+ '@rollup/plugin-commonjs@28.0.9(rollup@4.52.5)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.1)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
commondir: 1.0.1
estree-walker: 2.0.2
- fdir: 6.5.0(picomatch@4.0.4)
+ fdir: 6.5.0(picomatch@4.0.3)
is-reference: 1.2.1
- magic-string: 0.30.21
- picomatch: 4.0.4
+ magic-string: 0.30.19
+ picomatch: 4.0.3
optionalDependencies:
- rollup: 4.60.1
+ rollup: 4.52.5
- '@rollup/plugin-json@6.1.0(rollup@4.60.1)':
+ '@rollup/plugin-json@6.1.0(rollup@4.52.5)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.1)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
optionalDependencies:
- rollup: 4.60.1
+ rollup: 4.52.5
- '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.1)':
+ '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.5)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.1)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
- resolve: 1.22.12
+ resolve: 1.22.11
optionalDependencies:
- rollup: 4.60.1
+ rollup: 4.52.5
- '@rollup/plugin-replace@6.0.3(rollup@4.60.1)':
+ '@rollup/plugin-replace@6.0.2(rollup@4.52.5)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.1)
- magic-string: 0.30.21
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
+ magic-string: 0.30.19
optionalDependencies:
- rollup: 4.60.1
+ rollup: 4.52.5
- '@rollup/pluginutils@5.3.0(rollup@4.60.1)':
+ '@rollup/pluginutils@5.3.0(rollup@4.52.5)':
dependencies:
'@types/estree': 1.0.8
estree-walker: 2.0.2
- picomatch: 4.0.4
+ picomatch: 4.0.3
optionalDependencies:
- rollup: 4.60.1
+ rollup: 4.52.5
- '@rollup/rollup-android-arm-eabi@4.60.1':
+ '@rollup/rollup-android-arm-eabi@4.52.5':
optional: true
- '@rollup/rollup-android-arm64@4.60.1':
+ '@rollup/rollup-android-arm64@4.52.5':
optional: true
- '@rollup/rollup-darwin-arm64@4.60.1':
+ '@rollup/rollup-darwin-arm64@4.52.5':
optional: true
- '@rollup/rollup-darwin-x64@4.60.1':
+ '@rollup/rollup-darwin-x64@4.52.5':
optional: true
- '@rollup/rollup-freebsd-arm64@4.60.1':
+ '@rollup/rollup-freebsd-arm64@4.52.5':
optional: true
- '@rollup/rollup-freebsd-x64@4.60.1':
+ '@rollup/rollup-freebsd-x64@4.52.5':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.60.1':
+ '@rollup/rollup-linux-arm-gnueabihf@4.52.5':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.60.1':
+ '@rollup/rollup-linux-arm-musleabihf@4.52.5':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.60.1':
+ '@rollup/rollup-linux-arm64-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.60.1':
+ '@rollup/rollup-linux-arm64-musl@4.52.5':
optional: true
- '@rollup/rollup-linux-loong64-gnu@4.60.1':
+ '@rollup/rollup-linux-loong64-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-loong64-musl@4.60.1':
+ '@rollup/rollup-linux-ppc64-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.60.1':
+ '@rollup/rollup-linux-riscv64-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-ppc64-musl@4.60.1':
+ '@rollup/rollup-linux-riscv64-musl@4.52.5':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.60.1':
+ '@rollup/rollup-linux-s390x-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.60.1':
+ '@rollup/rollup-linux-x64-gnu@4.52.5':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.60.1':
+ '@rollup/rollup-linux-x64-musl@4.52.5':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.60.1':
+ '@rollup/rollup-openharmony-arm64@4.52.5':
optional: true
- '@rollup/rollup-linux-x64-musl@4.60.1':
+ '@rollup/rollup-win32-arm64-msvc@4.52.5':
optional: true
- '@rollup/rollup-openbsd-x64@4.60.1':
+ '@rollup/rollup-win32-ia32-msvc@4.52.5':
optional: true
- '@rollup/rollup-openharmony-arm64@4.60.1':
+ '@rollup/rollup-win32-x64-gnu@4.52.5':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.60.1':
+ '@rollup/rollup-win32-x64-msvc@4.52.5':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.60.1':
- optional: true
-
- '@rollup/rollup-win32-x64-gnu@4.60.1':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.60.1':
- optional: true
-
- '@types/chai@5.2.3':
+ '@types/chai@5.2.2':
dependencies:
'@types/deep-eql': 4.0.2
- assertion-error: 2.0.1
'@types/deep-eql@4.0.2': {}
'@types/estree@1.0.8': {}
- '@types/node@22.20.1':
+ '@types/node@20.19.22':
dependencies:
undici-types: 6.21.0
@@ -1841,19 +1746,19 @@ snapshots:
'@vitest/expect@3.2.4':
dependencies:
- '@types/chai': 5.2.3
+ '@types/chai': 5.2.2
'@vitest/spy': 3.2.4
'@vitest/utils': 3.2.4
chai: 5.3.3
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.3.2(@types/node@22.20.1)(jiti@2.6.1))':
+ '@vitest/mocker@3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
- magic-string: 0.30.21
+ magic-string: 0.30.19
optionalDependencies:
- vite: 7.3.2(@types/node@22.20.1)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -1868,7 +1773,7 @@ snapshots:
'@vitest/snapshot@3.2.4':
dependencies:
'@vitest/pretty-format': 3.2.4
- magic-string: 0.30.21
+ magic-string: 0.30.19
pathe: 2.0.3
'@vitest/spy@3.2.4':
@@ -1881,58 +1786,75 @@ snapshots:
loupe: 3.2.1
tinyrainbow: 2.0.0
- acorn@8.16.0: {}
+ acorn@8.15.0: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.3: {}
any-promise@1.3.0: {}
assertion-error@2.0.1: {}
- autoprefixer@10.5.0(postcss@8.5.9):
+ autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- caniuse-lite: 1.0.30001788
- fraction.js: 5.3.4
+ browserslist: 4.27.0
+ caniuse-lite: 1.0.30001751
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
picocolors: 1.1.1
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- baseline-browser-mapping@2.10.19: {}
+ balanced-match@1.0.2: {}
+
+ baseline-browser-mapping@2.8.20: {}
boolbase@1.0.0: {}
- browserslist@4.28.2:
+ brace-expansion@2.0.2:
dependencies:
- baseline-browser-mapping: 2.10.19
- caniuse-lite: 1.0.30001788
- electron-to-chromium: 1.5.336
- node-releases: 2.0.37
- update-browserslist-db: 1.2.3(browserslist@4.28.2)
+ balanced-match: 1.0.2
- bundle-require@5.1.0(esbuild@0.27.7):
+ browserslist@4.27.0:
dependencies:
- esbuild: 0.27.7
+ baseline-browser-mapping: 2.8.20
+ caniuse-lite: 1.0.30001751
+ electron-to-chromium: 1.5.240
+ node-releases: 2.0.26
+ update-browserslist-db: 1.1.4(browserslist@4.27.0)
+
+ bundle-require@5.1.0(esbuild@0.25.11):
+ dependencies:
+ esbuild: 0.25.11
load-tsconfig: 0.2.5
cac@6.7.14: {}
caniuse-api@3.0.0:
dependencies:
- browserslist: 4.28.2
- caniuse-lite: 1.0.30001788
+ browserslist: 4.27.0
+ caniuse-lite: 1.0.30001751
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- caniuse-lite@1.0.30001788: {}
+ caniuse-lite@1.0.30001751: {}
chai@5.3.3:
dependencies:
assertion-error: 2.0.1
- check-error: 2.1.3
+ check-error: 2.1.1
deep-eql: 5.0.2
loupe: 3.2.1
pathval: 2.0.1
- check-error@2.1.3: {}
+ check-error@2.1.1: {}
chokidar@4.0.3:
dependencies:
@@ -1942,6 +1864,14 @@ snapshots:
dependencies:
consola: 3.4.2
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ colord@2.9.3: {}
+
commander@11.1.0: {}
commander@4.1.1: {}
@@ -1950,15 +1880,25 @@ snapshots:
confbox@0.1.8: {}
- confbox@0.2.4: {}
+ confbox@0.2.2: {}
consola@3.4.2: {}
- convert-source-map@2.0.0: {}
-
- css-declaration-sorter@7.4.0(postcss@8.5.9):
+ cross-fetch@4.1.0:
dependencies:
- postcss: 8.5.9
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ css-declaration-sorter@7.3.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
css-select@5.2.2:
dependencies:
@@ -1973,64 +1913,64 @@ snapshots:
mdn-data: 2.0.28
source-map-js: 1.2.1
- css-tree@3.2.1:
+ css-tree@3.1.0:
dependencies:
- mdn-data: 2.27.1
+ mdn-data: 2.12.2
source-map-js: 1.2.1
css-what@6.2.2: {}
cssesc@3.0.0: {}
- cssnano-preset-default@7.0.13(postcss@8.5.9):
+ cssnano-preset-default@7.0.9(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- css-declaration-sorter: 7.4.0(postcss@8.5.9)
- cssnano-utils: 5.0.1(postcss@8.5.9)
- postcss: 8.5.9
- postcss-calc: 10.1.1(postcss@8.5.9)
- postcss-colormin: 7.0.8(postcss@8.5.9)
- postcss-convert-values: 7.0.10(postcss@8.5.9)
- postcss-discard-comments: 7.0.6(postcss@8.5.9)
- postcss-discard-duplicates: 7.0.2(postcss@8.5.9)
- postcss-discard-empty: 7.0.1(postcss@8.5.9)
- postcss-discard-overridden: 7.0.1(postcss@8.5.9)
- postcss-merge-longhand: 7.0.5(postcss@8.5.9)
- postcss-merge-rules: 7.0.9(postcss@8.5.9)
- postcss-minify-font-values: 7.0.1(postcss@8.5.9)
- postcss-minify-gradients: 7.0.3(postcss@8.5.9)
- postcss-minify-params: 7.0.7(postcss@8.5.9)
- postcss-minify-selectors: 7.0.6(postcss@8.5.9)
- postcss-normalize-charset: 7.0.1(postcss@8.5.9)
- postcss-normalize-display-values: 7.0.1(postcss@8.5.9)
- postcss-normalize-positions: 7.0.1(postcss@8.5.9)
- postcss-normalize-repeat-style: 7.0.1(postcss@8.5.9)
- postcss-normalize-string: 7.0.1(postcss@8.5.9)
- postcss-normalize-timing-functions: 7.0.1(postcss@8.5.9)
- postcss-normalize-unicode: 7.0.7(postcss@8.5.9)
- postcss-normalize-url: 7.0.1(postcss@8.5.9)
- postcss-normalize-whitespace: 7.0.1(postcss@8.5.9)
- postcss-ordered-values: 7.0.2(postcss@8.5.9)
- postcss-reduce-initial: 7.0.7(postcss@8.5.9)
- postcss-reduce-transforms: 7.0.1(postcss@8.5.9)
- postcss-svgo: 7.1.1(postcss@8.5.9)
- postcss-unique-selectors: 7.0.5(postcss@8.5.9)
+ browserslist: 4.27.0
+ css-declaration-sorter: 7.3.0(postcss@8.5.6)
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-calc: 10.1.1(postcss@8.5.6)
+ postcss-colormin: 7.0.4(postcss@8.5.6)
+ postcss-convert-values: 7.0.7(postcss@8.5.6)
+ postcss-discard-comments: 7.0.4(postcss@8.5.6)
+ postcss-discard-duplicates: 7.0.2(postcss@8.5.6)
+ postcss-discard-empty: 7.0.1(postcss@8.5.6)
+ postcss-discard-overridden: 7.0.1(postcss@8.5.6)
+ postcss-merge-longhand: 7.0.5(postcss@8.5.6)
+ postcss-merge-rules: 7.0.6(postcss@8.5.6)
+ postcss-minify-font-values: 7.0.1(postcss@8.5.6)
+ postcss-minify-gradients: 7.0.1(postcss@8.5.6)
+ postcss-minify-params: 7.0.4(postcss@8.5.6)
+ postcss-minify-selectors: 7.0.5(postcss@8.5.6)
+ postcss-normalize-charset: 7.0.1(postcss@8.5.6)
+ postcss-normalize-display-values: 7.0.1(postcss@8.5.6)
+ postcss-normalize-positions: 7.0.1(postcss@8.5.6)
+ postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6)
+ postcss-normalize-string: 7.0.1(postcss@8.5.6)
+ postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6)
+ postcss-normalize-unicode: 7.0.4(postcss@8.5.6)
+ postcss-normalize-url: 7.0.1(postcss@8.5.6)
+ postcss-normalize-whitespace: 7.0.1(postcss@8.5.6)
+ postcss-ordered-values: 7.0.2(postcss@8.5.6)
+ postcss-reduce-initial: 7.0.4(postcss@8.5.6)
+ postcss-reduce-transforms: 7.0.1(postcss@8.5.6)
+ postcss-svgo: 7.1.0(postcss@8.5.6)
+ postcss-unique-selectors: 7.0.4(postcss@8.5.6)
- cssnano-utils@5.0.1(postcss@8.5.9):
+ cssnano-utils@5.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
- cssnano@7.1.5(postcss@8.5.9):
+ cssnano@7.1.1(postcss@8.5.6):
dependencies:
- cssnano-preset-default: 7.0.13(postcss@8.5.9)
+ cssnano-preset-default: 7.0.9(postcss@8.5.6)
lilconfig: 3.1.3
- postcss: 8.5.9
+ postcss: 8.5.6
csso@5.0.5:
dependencies:
css-tree: 2.2.1
- dayjs@1.11.20: {}
+ dayjs@1.11.19: {}
debug@4.4.3:
dependencies:
@@ -2040,7 +1980,7 @@ snapshots:
deepmerge@4.3.1: {}
- defu@6.1.7: {}
+ defu@6.1.4: {}
dom-serializer@2.0.0:
dependencies:
@@ -2060,71 +2000,46 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
- electron-to-chromium@1.5.336: {}
+ eastasianwidth@0.2.0: {}
+
+ electron-to-chromium@1.5.240: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
entities@4.5.0: {}
- es-errors@1.3.0: {}
-
es-module-lexer@1.7.0: {}
- esbuild@0.25.12:
+ esbuild@0.25.11:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.12
- '@esbuild/android-arm': 0.25.12
- '@esbuild/android-arm64': 0.25.12
- '@esbuild/android-x64': 0.25.12
- '@esbuild/darwin-arm64': 0.25.12
- '@esbuild/darwin-x64': 0.25.12
- '@esbuild/freebsd-arm64': 0.25.12
- '@esbuild/freebsd-x64': 0.25.12
- '@esbuild/linux-arm': 0.25.12
- '@esbuild/linux-arm64': 0.25.12
- '@esbuild/linux-ia32': 0.25.12
- '@esbuild/linux-loong64': 0.25.12
- '@esbuild/linux-mips64el': 0.25.12
- '@esbuild/linux-ppc64': 0.25.12
- '@esbuild/linux-riscv64': 0.25.12
- '@esbuild/linux-s390x': 0.25.12
- '@esbuild/linux-x64': 0.25.12
- '@esbuild/netbsd-arm64': 0.25.12
- '@esbuild/netbsd-x64': 0.25.12
- '@esbuild/openbsd-arm64': 0.25.12
- '@esbuild/openbsd-x64': 0.25.12
- '@esbuild/openharmony-arm64': 0.25.12
- '@esbuild/sunos-x64': 0.25.12
- '@esbuild/win32-arm64': 0.25.12
- '@esbuild/win32-ia32': 0.25.12
- '@esbuild/win32-x64': 0.25.12
-
- esbuild@0.27.7:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.27.7
- '@esbuild/android-arm': 0.27.7
- '@esbuild/android-arm64': 0.27.7
- '@esbuild/android-x64': 0.27.7
- '@esbuild/darwin-arm64': 0.27.7
- '@esbuild/darwin-x64': 0.27.7
- '@esbuild/freebsd-arm64': 0.27.7
- '@esbuild/freebsd-x64': 0.27.7
- '@esbuild/linux-arm': 0.27.7
- '@esbuild/linux-arm64': 0.27.7
- '@esbuild/linux-ia32': 0.27.7
- '@esbuild/linux-loong64': 0.27.7
- '@esbuild/linux-mips64el': 0.27.7
- '@esbuild/linux-ppc64': 0.27.7
- '@esbuild/linux-riscv64': 0.27.7
- '@esbuild/linux-s390x': 0.27.7
- '@esbuild/linux-x64': 0.27.7
- '@esbuild/netbsd-arm64': 0.27.7
- '@esbuild/netbsd-x64': 0.27.7
- '@esbuild/openbsd-arm64': 0.27.7
- '@esbuild/openbsd-x64': 0.27.7
- '@esbuild/openharmony-arm64': 0.27.7
- '@esbuild/sunos-x64': 0.27.7
- '@esbuild/win32-arm64': 0.27.7
- '@esbuild/win32-ia32': 0.27.7
- '@esbuild/win32-x64': 0.27.7
+ '@esbuild/aix-ppc64': 0.25.11
+ '@esbuild/android-arm': 0.25.11
+ '@esbuild/android-arm64': 0.25.11
+ '@esbuild/android-x64': 0.25.11
+ '@esbuild/darwin-arm64': 0.25.11
+ '@esbuild/darwin-x64': 0.25.11
+ '@esbuild/freebsd-arm64': 0.25.11
+ '@esbuild/freebsd-x64': 0.25.11
+ '@esbuild/linux-arm': 0.25.11
+ '@esbuild/linux-arm64': 0.25.11
+ '@esbuild/linux-ia32': 0.25.11
+ '@esbuild/linux-loong64': 0.25.11
+ '@esbuild/linux-mips64el': 0.25.11
+ '@esbuild/linux-ppc64': 0.25.11
+ '@esbuild/linux-riscv64': 0.25.11
+ '@esbuild/linux-s390x': 0.25.11
+ '@esbuild/linux-x64': 0.25.11
+ '@esbuild/netbsd-arm64': 0.25.11
+ '@esbuild/netbsd-x64': 0.25.11
+ '@esbuild/openbsd-arm64': 0.25.11
+ '@esbuild/openbsd-x64': 0.25.11
+ '@esbuild/openharmony-arm64': 0.25.11
+ '@esbuild/sunos-x64': 0.25.11
+ '@esbuild/win32-arm64': 0.25.11
+ '@esbuild/win32-ia32': 0.25.11
+ '@esbuild/win32-x64': 0.25.11
escalade@3.2.0: {}
@@ -2134,27 +2049,41 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
- expect-type@1.3.0: {}
+ expect-type@1.2.2: {}
- exsolve@1.0.8: {}
+ exsolve@1.0.7: {}
- fdir@6.5.0(picomatch@4.0.4):
+ fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
- picomatch: 4.0.4
+ picomatch: 4.0.3
fix-dts-default-cjs-exports@1.0.1:
dependencies:
- magic-string: 0.30.21
- mlly: 1.8.2
- rollup: 4.60.1
+ magic-string: 0.30.19
+ mlly: 1.8.0
+ rollup: 4.52.5
- fraction.js@5.3.4: {}
+ foreground-child@3.3.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ fraction.js@4.3.7: {}
fsevents@2.3.3:
optional: true
function-bind@1.1.2: {}
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -2165,12 +2094,22 @@ snapshots:
dependencies:
hasown: 2.0.2
+ is-fullwidth-code-point@3.0.0: {}
+
is-module@1.0.0: {}
is-reference@1.2.1:
dependencies:
'@types/estree': 1.0.8
+ isexe@2.0.0: {}
+
+ jackspeak@3.4.3:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
jiti@1.21.7: {}
jiti@2.6.1: {}
@@ -2182,7 +2121,7 @@ snapshots:
js-tokens@9.0.1: {}
- knitwork@1.3.0: {}
+ knitwork@1.2.0: {}
lilconfig@3.1.3: {}
@@ -2192,42 +2131,52 @@ snapshots:
lodash.memoize@4.1.2: {}
+ lodash.sortby@4.7.0: {}
+
lodash.uniq@4.5.0: {}
loupe@3.2.1: {}
- magic-string@0.30.21:
+ lru-cache@10.4.3: {}
+
+ magic-string@0.30.19:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
mdn-data@2.0.28: {}
- mdn-data@2.27.1: {}
+ mdn-data@2.12.2: {}
- mkdist@2.4.1(typescript@6.0.3):
+ minimatch@9.0.5:
dependencies:
- autoprefixer: 10.5.0(postcss@8.5.9)
+ brace-expansion: 2.0.2
+
+ minipass@7.1.2: {}
+
+ mkdist@2.4.1(typescript@5.9.3):
+ dependencies:
+ autoprefixer: 10.4.21(postcss@8.5.6)
citty: 0.1.6
- cssnano: 7.1.5(postcss@8.5.9)
- defu: 6.1.7
- esbuild: 0.25.12
+ cssnano: 7.1.1(postcss@8.5.6)
+ defu: 6.1.4
+ esbuild: 0.25.11
jiti: 1.21.7
- mlly: 1.8.2
+ mlly: 1.8.0
pathe: 2.0.3
pkg-types: 2.3.0
- postcss: 8.5.9
- postcss-nested: 7.0.2(postcss@8.5.9)
- semver: 7.7.4
- tinyglobby: 0.2.16
+ postcss: 8.5.6
+ postcss-nested: 7.0.2(postcss@8.5.6)
+ semver: 7.7.3
+ tinyglobby: 0.2.15
optionalDependencies:
- typescript: 6.0.3
+ typescript: 5.9.3
- mlly@1.8.2:
+ mlly@1.8.0:
dependencies:
- acorn: 8.16.0
+ acorn: 8.15.0
pathe: 2.0.3
pkg-types: 1.3.1
- ufo: 1.6.3
+ ufo: 1.6.1
ms@2.1.3: {}
@@ -2239,7 +2188,13 @@ snapshots:
nanoid@3.3.11: {}
- node-releases@2.0.37: {}
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-releases@2.0.26: {}
+
+ normalize-range@0.1.2: {}
nth-check@2.1.1:
dependencies:
@@ -2247,199 +2202,208 @@ snapshots:
object-assign@4.1.1: {}
+ package-json-from-dist@1.0.1: {}
+
+ path-key@3.1.1: {}
+
path-parse@1.0.7: {}
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
pathe@2.0.3: {}
pathval@2.0.1: {}
picocolors@1.1.1: {}
- picomatch@4.0.4: {}
+ picomatch@4.0.3: {}
pirates@4.0.7: {}
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
- mlly: 1.8.2
+ mlly: 1.8.0
pathe: 2.0.3
pkg-types@2.3.0:
dependencies:
- confbox: 0.2.4
- exsolve: 1.0.8
+ confbox: 0.2.2
+ exsolve: 1.0.7
pathe: 2.0.3
- postcss-calc@10.1.1(postcss@8.5.9):
+ postcss-calc@10.1.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
postcss-value-parser: 4.2.0
- postcss-colormin@7.0.8(postcss@8.5.9):
+ postcss-colormin@7.0.4(postcss@8.5.6):
dependencies:
- '@colordx/core': 5.0.3
- browserslist: 4.28.2
+ browserslist: 4.27.0
caniuse-api: 3.0.0
- postcss: 8.5.9
+ colord: 2.9.3
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-convert-values@7.0.10(postcss@8.5.9):
+ postcss-convert-values@7.0.7(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- postcss: 8.5.9
+ browserslist: 4.27.0
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-discard-comments@7.0.6(postcss@8.5.9):
+ postcss-discard-comments@7.0.4(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-discard-duplicates@7.0.2(postcss@8.5.9):
+ postcss-discard-duplicates@7.0.2(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-discard-empty@7.0.1(postcss@8.5.9):
+ postcss-discard-empty@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-discard-overridden@7.0.1(postcss@8.5.9):
+ postcss-discard-overridden@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.9):
+ postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6):
dependencies:
lilconfig: 3.1.3
optionalDependencies:
jiti: 2.6.1
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-merge-longhand@7.0.5(postcss@8.5.9):
+ postcss-merge-longhand@7.0.5(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- stylehacks: 7.0.9(postcss@8.5.9)
+ stylehacks: 7.0.6(postcss@8.5.6)
- postcss-merge-rules@7.0.9(postcss@8.5.9):
+ postcss-merge-rules@7.0.6(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
+ browserslist: 4.27.0
caniuse-api: 3.0.0
- cssnano-utils: 5.0.1(postcss@8.5.9)
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-minify-font-values@7.0.1(postcss@8.5.9):
+ postcss-minify-font-values@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-gradients@7.0.3(postcss@8.5.9):
+ postcss-minify-gradients@7.0.1(postcss@8.5.6):
dependencies:
- '@colordx/core': 5.0.3
- cssnano-utils: 5.0.1(postcss@8.5.9)
- postcss: 8.5.9
+ colord: 2.9.3
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-params@7.0.7(postcss@8.5.9):
+ postcss-minify-params@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- cssnano-utils: 5.0.1(postcss@8.5.9)
- postcss: 8.5.9
+ browserslist: 4.27.0
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-selectors@7.0.6(postcss@8.5.9):
+ postcss-minify-selectors@7.0.5(postcss@8.5.6):
dependencies:
cssesc: 3.0.0
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-nested@7.0.2(postcss@8.5.9):
+ postcss-nested@7.0.2(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- postcss-normalize-charset@7.0.1(postcss@8.5.9):
+ postcss-normalize-charset@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-normalize-display-values@7.0.1(postcss@8.5.9):
+ postcss-normalize-display-values@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-positions@7.0.1(postcss@8.5.9):
+ postcss-normalize-positions@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-repeat-style@7.0.1(postcss@8.5.9):
+ postcss-normalize-repeat-style@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-string@7.0.1(postcss@8.5.9):
+ postcss-normalize-string@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-timing-functions@7.0.1(postcss@8.5.9):
+ postcss-normalize-timing-functions@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-unicode@7.0.7(postcss@8.5.9):
+ postcss-normalize-unicode@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- postcss: 8.5.9
+ browserslist: 4.27.0
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-url@7.0.1(postcss@8.5.9):
+ postcss-normalize-url@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-whitespace@7.0.1(postcss@8.5.9):
+ postcss-normalize-whitespace@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-ordered-values@7.0.2(postcss@8.5.9):
+ postcss-ordered-values@7.0.2(postcss@8.5.6):
dependencies:
- cssnano-utils: 5.0.1(postcss@8.5.9)
- postcss: 8.5.9
+ cssnano-utils: 5.0.1(postcss@8.5.6)
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-reduce-initial@7.0.7(postcss@8.5.9):
+ postcss-reduce-initial@7.0.4(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
+ browserslist: 4.27.0
caniuse-api: 3.0.0
- postcss: 8.5.9
+ postcss: 8.5.6
- postcss-reduce-transforms@7.0.1(postcss@8.5.9):
+ postcss-reduce-transforms@7.0.1(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-selector-parser@7.1.1:
+ postcss-selector-parser@7.1.0:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-svgo@7.1.1(postcss@8.5.9):
+ postcss-svgo@7.1.0(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
+ postcss: 8.5.6
postcss-value-parser: 4.2.0
- svgo: 4.0.1
+ svgo: 4.0.0
- postcss-unique-selectors@7.0.5(postcss@8.5.9):
+ postcss-unique-selectors@7.0.4(postcss@8.5.6):
dependencies:
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
postcss-value-parser@4.2.0: {}
- postcss@8.5.9:
+ postcss@8.5.6:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
@@ -2447,106 +2411,131 @@ snapshots:
pretty-bytes@7.1.0: {}
+ punycode@2.3.1: {}
+
readdirp@4.1.2: {}
resolve-from@5.0.0: {}
- resolve@1.22.12:
+ resolve@1.22.11:
dependencies:
- es-errors: 1.3.0
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- rollup-plugin-dts@6.4.1(rollup@4.60.1)(typescript@6.0.3):
+ rollup-plugin-dts@6.2.3(rollup@4.52.5)(typescript@5.9.3):
dependencies:
- '@jridgewell/remapping': 2.3.5
- '@jridgewell/sourcemap-codec': 1.5.5
- convert-source-map: 2.0.0
- magic-string: 0.30.21
- rollup: 4.60.1
- typescript: 6.0.3
+ magic-string: 0.30.19
+ rollup: 4.52.5
+ typescript: 5.9.3
optionalDependencies:
- '@babel/code-frame': 7.29.0
+ '@babel/code-frame': 7.27.1
- rollup@4.60.1:
+ rollup@4.52.5:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.60.1
- '@rollup/rollup-android-arm64': 4.60.1
- '@rollup/rollup-darwin-arm64': 4.60.1
- '@rollup/rollup-darwin-x64': 4.60.1
- '@rollup/rollup-freebsd-arm64': 4.60.1
- '@rollup/rollup-freebsd-x64': 4.60.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.60.1
- '@rollup/rollup-linux-arm-musleabihf': 4.60.1
- '@rollup/rollup-linux-arm64-gnu': 4.60.1
- '@rollup/rollup-linux-arm64-musl': 4.60.1
- '@rollup/rollup-linux-loong64-gnu': 4.60.1
- '@rollup/rollup-linux-loong64-musl': 4.60.1
- '@rollup/rollup-linux-ppc64-gnu': 4.60.1
- '@rollup/rollup-linux-ppc64-musl': 4.60.1
- '@rollup/rollup-linux-riscv64-gnu': 4.60.1
- '@rollup/rollup-linux-riscv64-musl': 4.60.1
- '@rollup/rollup-linux-s390x-gnu': 4.60.1
- '@rollup/rollup-linux-x64-gnu': 4.60.1
- '@rollup/rollup-linux-x64-musl': 4.60.1
- '@rollup/rollup-openbsd-x64': 4.60.1
- '@rollup/rollup-openharmony-arm64': 4.60.1
- '@rollup/rollup-win32-arm64-msvc': 4.60.1
- '@rollup/rollup-win32-ia32-msvc': 4.60.1
- '@rollup/rollup-win32-x64-gnu': 4.60.1
- '@rollup/rollup-win32-x64-msvc': 4.60.1
+ '@rollup/rollup-android-arm-eabi': 4.52.5
+ '@rollup/rollup-android-arm64': 4.52.5
+ '@rollup/rollup-darwin-arm64': 4.52.5
+ '@rollup/rollup-darwin-x64': 4.52.5
+ '@rollup/rollup-freebsd-arm64': 4.52.5
+ '@rollup/rollup-freebsd-x64': 4.52.5
+ '@rollup/rollup-linux-arm-gnueabihf': 4.52.5
+ '@rollup/rollup-linux-arm-musleabihf': 4.52.5
+ '@rollup/rollup-linux-arm64-gnu': 4.52.5
+ '@rollup/rollup-linux-arm64-musl': 4.52.5
+ '@rollup/rollup-linux-loong64-gnu': 4.52.5
+ '@rollup/rollup-linux-ppc64-gnu': 4.52.5
+ '@rollup/rollup-linux-riscv64-gnu': 4.52.5
+ '@rollup/rollup-linux-riscv64-musl': 4.52.5
+ '@rollup/rollup-linux-s390x-gnu': 4.52.5
+ '@rollup/rollup-linux-x64-gnu': 4.52.5
+ '@rollup/rollup-linux-x64-musl': 4.52.5
+ '@rollup/rollup-openharmony-arm64': 4.52.5
+ '@rollup/rollup-win32-arm64-msvc': 4.52.5
+ '@rollup/rollup-win32-ia32-msvc': 4.52.5
+ '@rollup/rollup-win32-x64-gnu': 4.52.5
+ '@rollup/rollup-win32-x64-msvc': 4.52.5
fsevents: 2.3.3
- sax@1.6.0: {}
+ sax@1.4.1: {}
scule@1.3.0: {}
- semver@7.7.4: {}
+ semver@7.7.3: {}
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
siginfo@2.0.0: {}
+ signal-exit@4.1.0: {}
+
source-map-js@1.2.1: {}
- source-map@0.7.6: {}
+ source-map@0.8.0-beta.0:
+ dependencies:
+ whatwg-url: 7.1.0
stackback@0.0.2: {}
std-env@3.10.0: {}
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.2
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.2:
+ dependencies:
+ ansi-regex: 6.2.2
+
strip-literal@3.1.0:
dependencies:
js-tokens: 9.0.1
- stylehacks@7.0.9(postcss@8.5.9):
+ stylehacks@7.0.6(postcss@8.5.6):
dependencies:
- browserslist: 4.28.2
- postcss: 8.5.9
- postcss-selector-parser: 7.1.1
+ browserslist: 4.27.0
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
- sucrase@3.35.1:
+ sucrase@3.35.0:
dependencies:
'@jridgewell/gen-mapping': 0.3.13
commander: 4.1.1
+ glob: 10.4.5
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.7
- tinyglobby: 0.2.16
ts-interface-checker: 0.1.13
supports-preserve-symlinks-flag@1.0.0: {}
- svgo@4.0.1:
+ svgo@4.0.0:
dependencies:
commander: 11.1.0
css-select: 5.2.2
- css-tree: 3.2.1
+ css-tree: 3.1.0
css-what: 6.2.2
csso: 5.0.5
picocolors: 1.1.1
- sax: 1.6.0
+ sax: 1.4.1
thenify-all@1.6.0:
dependencies:
@@ -2560,10 +2549,10 @@ snapshots:
tinyexec@0.3.2: {}
- tinyglobby@0.2.16:
+ tinyglobby@0.2.15:
dependencies:
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
tinypool@1.1.1: {}
@@ -2571,70 +2560,76 @@ snapshots:
tinyspy@4.0.4: {}
+ tr46@0.0.3: {}
+
+ tr46@1.0.1:
+ dependencies:
+ punycode: 2.3.1
+
tree-kill@1.2.2: {}
ts-interface-checker@0.1.13: {}
- tsup@8.5.1(jiti@2.6.1)(postcss@8.5.9)(typescript@6.0.3):
+ tsup@8.5.0(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3):
dependencies:
- bundle-require: 5.1.0(esbuild@0.27.7)
+ bundle-require: 5.1.0(esbuild@0.25.11)
cac: 6.7.14
chokidar: 4.0.3
consola: 3.4.2
debug: 4.4.3
- esbuild: 0.27.7
+ esbuild: 0.25.11
fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
picocolors: 1.1.1
- postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.9)
+ postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.6)
resolve-from: 5.0.0
- rollup: 4.60.1
- source-map: 0.7.6
- sucrase: 3.35.1
+ rollup: 4.52.5
+ source-map: 0.8.0-beta.0
+ sucrase: 3.35.0
tinyexec: 0.3.2
- tinyglobby: 0.2.16
+ tinyglobby: 0.2.15
tree-kill: 1.2.2
optionalDependencies:
- postcss: 8.5.9
- typescript: 6.0.3
+ postcss: 8.5.6
+ typescript: 5.9.3
transitivePeerDependencies:
- jiti
- supports-color
- tsx
- yaml
- typescript@6.0.3: {}
+ typescript@5.9.3: {}
- ufo@1.6.3: {}
+ ufo@1.6.1: {}
- unbuild@3.6.1(typescript@6.0.3):
+ unbuild@3.6.1(typescript@5.9.3):
dependencies:
- '@rollup/plugin-alias': 5.1.1(rollup@4.60.1)
- '@rollup/plugin-commonjs': 28.0.9(rollup@4.60.1)
- '@rollup/plugin-json': 6.1.0(rollup@4.60.1)
- '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.1)
- '@rollup/plugin-replace': 6.0.3(rollup@4.60.1)
- '@rollup/pluginutils': 5.3.0(rollup@4.60.1)
+ '@rollup/plugin-alias': 5.1.1(rollup@4.52.5)
+ '@rollup/plugin-commonjs': 28.0.9(rollup@4.52.5)
+ '@rollup/plugin-json': 6.1.0(rollup@4.52.5)
+ '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.5)
+ '@rollup/plugin-replace': 6.0.2(rollup@4.52.5)
+ '@rollup/pluginutils': 5.3.0(rollup@4.52.5)
citty: 0.1.6
consola: 3.4.2
- defu: 6.1.7
- esbuild: 0.25.12
+ defu: 6.1.4
+ esbuild: 0.25.11
fix-dts-default-cjs-exports: 1.0.1
hookable: 5.5.3
jiti: 2.6.1
- magic-string: 0.30.21
- mkdist: 2.4.1(typescript@6.0.3)
- mlly: 1.8.2
+ magic-string: 0.30.19
+ mkdist: 2.4.1(typescript@5.9.3)
+ mlly: 1.8.0
pathe: 2.0.3
pkg-types: 2.3.0
pretty-bytes: 7.1.0
- rollup: 4.60.1
- rollup-plugin-dts: 6.4.1(rollup@4.60.1)(typescript@6.0.3)
+ rollup: 4.52.5
+ rollup-plugin-dts: 6.2.3(rollup@4.52.5)(typescript@5.9.3)
scule: 1.3.0
- tinyglobby: 0.2.16
+ tinyglobby: 0.2.15
untyped: 2.0.0
optionalDependencies:
- typescript: 6.0.3
+ typescript: 5.9.3
transitivePeerDependencies:
- sass
- vue
@@ -2646,14 +2641,14 @@ snapshots:
untyped@2.0.0:
dependencies:
citty: 0.1.6
- defu: 6.1.7
+ defu: 6.1.4
jiti: 2.6.1
- knitwork: 1.3.0
+ knitwork: 1.2.0
scule: 1.3.0
- update-browserslist-db@1.2.3(browserslist@4.28.2):
+ update-browserslist-db@1.1.4(browserslist@4.27.0):
dependencies:
- browserslist: 4.28.2
+ browserslist: 4.27.0
escalade: 3.2.0
picocolors: 1.1.1
@@ -2661,13 +2656,13 @@ snapshots:
uuid@11.1.0: {}
- vite-node@3.2.4(@types/node@22.20.1)(jiti@2.6.1):
+ vite-node@3.2.4(@types/node@20.19.22)(jiti@2.6.1):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.3.2(@types/node@22.20.1)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -2682,24 +2677,24 @@ snapshots:
- tsx
- yaml
- vite@7.3.2(@types/node@22.20.1)(jiti@2.6.1):
+ vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1):
dependencies:
- esbuild: 0.27.7
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
- postcss: 8.5.9
- rollup: 4.60.1
- tinyglobby: 0.2.16
+ esbuild: 0.25.11
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.52.5
+ tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 22.20.1
+ '@types/node': 20.19.22
fsevents: 2.3.3
jiti: 2.6.1
- vitest@3.2.4(@types/node@22.20.1)(jiti@2.6.1):
+ vitest@3.2.4(@types/node@20.19.22)(jiti@2.6.1):
dependencies:
- '@types/chai': 5.2.3
+ '@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@22.20.1)(jiti@2.6.1))
+ '@vitest/mocker': 3.2.4(vite@7.1.10(@types/node@20.19.22)(jiti@2.6.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -2707,21 +2702,21 @@ snapshots:
'@vitest/utils': 3.2.4
chai: 5.3.3
debug: 4.4.3
- expect-type: 1.3.0
- magic-string: 0.30.21
+ expect-type: 1.2.2
+ magic-string: 0.30.19
pathe: 2.0.3
- picomatch: 4.0.4
+ picomatch: 4.0.3
std-env: 3.10.0
tinybench: 2.9.0
tinyexec: 0.3.2
- tinyglobby: 0.2.16
+ tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.3.2(@types/node@22.20.1)(jiti@2.6.1)
- vite-node: 3.2.4(@types/node@22.20.1)(jiti@2.6.1)
+ vite: 7.1.10(@types/node@20.19.22)(jiti@2.6.1)
+ vite-node: 3.2.4(@types/node@20.19.22)(jiti@2.6.1)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 22.20.1
+ '@types/node': 20.19.22
transitivePeerDependencies:
- jiti
- less
@@ -2736,9 +2731,40 @@ snapshots:
- tsx
- yaml
+ webidl-conversions@3.0.1: {}
+
+ webidl-conversions@4.0.2: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ whatwg-url@7.1.0:
+ dependencies:
+ lodash.sortby: 4.7.0
+ tr46: 1.0.1
+ webidl-conversions: 4.0.2
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
why-is-node-running@2.3.0:
dependencies:
siginfo: 2.0.0
stackback: 0.0.2
- zod@4.4.3: {}
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 5.1.2
+ strip-ansi: 7.1.2
+
+ zod@4.1.4: {}
diff --git a/scripts/atualizar-biome.js b/scripts/atualizar-biome.js
deleted file mode 100644
index 73659f1..0000000
--- a/scripts/atualizar-biome.js
+++ /dev/null
@@ -1,96 +0,0 @@
-const fs = require('node:fs');
-const path = require('node:path');
-
-const initCwd = process.env.INIT_CWD;
-
-// Se não tiver INIT_CWD, não foi chamado pelo npm/pnpm install
-if (!initCwd) {
- process.exit(0);
-}
-
-// O próprio p-comuns não precisa se atualizar na sua pasta interna
-if (initCwd === process.cwd()) {
- process.exit(0);
-}
-
-const me = require('../package.json');
-const biomeVersion = me.devDependencies && me.devDependencies['@biomejs/biome'];
-
-if (!biomeVersion) {
- process.exit(0);
-}
-
-/**
- * Lê os arquivos do diretório em busca de package.json
- */
-function findPackageJson(dir) {
- let results = [];
- try {
- const list = fs.readdirSync(dir);
- for (const file of list) {
- const filePath = path.join(dir, file);
- const stat = fs.statSync(filePath);
- if (stat && stat.isDirectory()) {
- // Ignora pastas que não devemos varrer
- if (
- ![
- 'node_modules',
- '.git',
- 'dist',
- 'build',
- '.nuxt',
- '.output',
- '.vscode',
- '.idea',
- ].includes(file)
- ) {
- results = results.concat(findPackageJson(filePath));
- }
- } else if (file === 'package.json') {
- results.push(filePath);
- }
- }
- } catch (err) {
- // ignora pastas sem acesso
- }
- return results;
-}
-
-const files = findPackageJson(initCwd);
-let updated = 0;
-
-for (const file of files) {
- try {
- const content = fs.readFileSync(file, 'utf8');
- // Detecta se usa tab ou espaço
- const indent = content.match(/^[ \t]+/m) ? content.match(/^[ \t]+/m)[0] : '\t';
-
- const json = JSON.parse(content);
- let changed = false;
-
- const updateDeps = (tipo) => {
- if (json[tipo] && json[tipo]['@biomejs/biome']) {
- if (json[tipo]['@biomejs/biome'] !== biomeVersion) {
- json[tipo]['@biomejs/biome'] = biomeVersion;
- changed = true;
- }
- }
- };
-
- updateDeps('dependencies');
- updateDeps('devDependencies');
- updateDeps('peerDependencies');
-
- if (changed) {
- fs.writeFileSync(file, JSON.stringify(json, null, indent) + '\n', 'utf8');
- updated++;
- console.log(`[p-comuns] @biomejs/biome atualizado para ${biomeVersion} em: ${path.relative(initCwd, file)}`);
- }
- } catch (e) {
- console.error(`[p-comuns] Erro ao atualizar ${file}: ${e.message}`);
- }
-}
-
-if (updated > 0) {
- console.log(`[p-comuns] Total de package.json atualizados: ${updated}`);
-}
diff --git a/src/auditoria.ts b/src/auditoria.ts
deleted file mode 100644
index 25591da..0000000
--- a/src/auditoria.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-export type TipoPayloadAuditoria = {
- /** UUID do registro de auditoria */
- codigo?: string | null
-
- /** UUID do usuario da acao (pode ser null se for processo do sistema que não registrou) */
- usuario_criacao: string | null
-
- /** Timestamp ou data de criacao / execucao */
- data_criacao: string | Date
-
- /** Nome exato da tabela no banco que originou o registro */
- tabela_origem: string
-
- /** Código único (UUID) do registro na tabela original */
- codigo_origem: string
-
- /** JSON contendo o snapshot das colunas novas / editadas */
- novo: Record
-
- /** JSON contendo o snapshot das colunas antes da edição */
- anterior: Record
-
- /** Hash ou controle de versao do item, usualmente preenchido por new.ver_seg */
- __versao: string
-
- /** Tipo de operação que gerou a auditoria */
- acao: "criar" | "atualizar" | "deletar" | string
-
- /** Versão do sistema no momento em que a ação ocorreu */
- versao_sistema: string
-}
diff --git a/src/cacheMemoria.ts b/src/cacheMemoria.ts
index a82d057..1d2c372 100755
--- a/src/cacheMemoria.ts
+++ b/src/cacheMemoria.ts
@@ -12,7 +12,11 @@ const _cache: {
;(globalThis as any).cacheMemoria_cache = _cache
-export const cacheM = (chave: any, valor?: T, validadeSeg?: number): T | undefined => {
+export const cacheM = (
+ chave: any,
+ valor?: T,
+ validadeSeg?: number,
+): T | undefined => {
// converte a chave e string
const txChave: string =
typeof chave == "string"
diff --git a/src/consulta.ts b/src/consulta.ts
index 6caa2f8..5e1d331 100755
--- a/src/consulta.ts
+++ b/src/consulta.ts
@@ -10,7 +10,6 @@ export enum operadores {
like = "like",
in = "in",
isNull = "isNull",
- notIn = "notIn",
}
export type tipoFiltro = {
@@ -41,7 +40,6 @@ export const zOperadores = z.enum([
"like",
"in",
"isNull",
- "notIn",
])
export const zFiltro = z.object({
diff --git a/src/dayjs26.ts b/src/dayjs26.ts
deleted file mode 100755
index 7ff3337..0000000
--- a/src/dayjs26.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Utilitário de configuração do Dayjs focado em compatibilidade com SSR.
- *
- * PROBLEMA:
- * A importação direta do `dayjs` e seus plugins frequentemente causa conflitos em ambientes
- * de Renderização do Lado do Servidor (SSR), como Nuxt ou Next.js, devido a discrepâncias
- * na resolução de módulos (ESM vs CJS) e instabilidades de importação.
- *
- * SOLUÇÃO:
- * Este módulo utiliza o padrão de Injeção de Dependência. Ele expõe apenas tipagens e
- * uma função de configuração (`defineDayjsBr`). A responsabilidade de importar as
- * bibliotecas "vivas" é delegada à aplicação consumidora (o cliente da função).
- *
- * Isso permite que o bundler da aplicação principal (Vite, Webpack, etc.) gerencie as
- * instâncias, garantindo consistência e evitando erros de "module not found" ou
- * instâncias duplicadas/não inicializadas adequadamente.
- */
-
-import type _dayjs from "dayjs"
-import type { Dayjs } from "dayjs"
-
-export type { ManipulateType } from "dayjs"
-
-// Importação apenas de TIPOS para evitar bundling indesejado neste arquivo
-import type _duration from "dayjs/plugin/duration"
-import type _isSameOrAfter from "dayjs/plugin/isSameOrAfter"
-import type _isSameOrBefore from "dayjs/plugin/isSameOrBefore"
-import type _minMax from "dayjs/plugin/minMax"
-import type _relativeTime from "dayjs/plugin/relativeTime"
-import type _timezone from "dayjs/plugin/timezone"
-import type _utc from "dayjs/plugin/utc"
-import type _weekOfYear from "dayjs/plugin/weekOfYear"
-
-/**
- * Inicializa e configura o Dayjs com o locale 'pt-br' e plugins essenciais.
- *
- * MODO DE USO:
- * Importe os pacotes reais na sua aplicação e passe-os para esta função.
- *
- * @example
- * ```ts
- * // Em seu arquivo de configuração (ex: plugins/dayjs.ts):
- * import dayjs from "dayjs"
- * import duration from "dayjs/plugin/duration"
- * import isSameOrAfter from "dayjs/plugin/isSameOrAfter"
- * import isSameOrBefore from "dayjs/plugin/isSameOrBefore"
- * import minMax from "dayjs/plugin/minMax"
- * import relativeTime from "dayjs/plugin/relativeTime"
- * import timezone from "dayjs/plugin/timezone"
- * import utc from "dayjs/plugin/utc"
- * import weekOfYear from "dayjs/plugin/weekOfYear"
- * import { iniciarDayjsBr } from "p-comuns"
- * import "dayjs/locale/pt-br" // Importante: importar o locale!
-
- * export const dayjsbr = iniciarDayjsBr({
- * dayjs,
- * duration,
- * isSameOrAfter,
- * isSameOrBefore,
- * minMax,
- * relativeTime,
- * timezone,
- * utc,
- * weekOfYear,
- * })
- * ```
- */
-const iniciarDayjsBr = ({
- dayjs,
- duration,
- isSameOrAfter,
- isSameOrBefore,
- minMax,
- relativeTime,
- timezone,
- utc,
- weekOfYear,
-}: {
- dayjs: typeof _dayjs
- duration: typeof _duration
- isSameOrAfter: typeof _isSameOrAfter
- isSameOrBefore: typeof _isSameOrBefore
- minMax: typeof _minMax
- relativeTime: typeof _relativeTime
- timezone: typeof _timezone
- utc: typeof _utc
- weekOfYear: typeof _weekOfYear
-}) => {
- // Extensão da biblioteca com os plugins fornecidos
- dayjs.extend(utc)
- dayjs.extend(timezone)
- dayjs.extend(weekOfYear)
- dayjs.extend(isSameOrBefore)
- dayjs.extend(isSameOrAfter)
- dayjs.extend(minMax)
- dayjs.extend(relativeTime)
- dayjs.extend(duration)
-
- // Definição do locale global
- dayjs.locale("pt-br")
-
- return dayjs
-}
-/**
- * @deprecated Use iniciarDayjsBr em vez de definirDayjsBr. O método defineDayjsBr está obsoleto e será removido em futuras versões.
- */
-const defineDayjsBr = iniciarDayjsBr
-
-export type { Dayjs }
-export { defineDayjsBr, iniciarDayjsBr }
diff --git a/src/eLog.ts b/src/eLog.ts
deleted file mode 100644
index 563a031..0000000
--- a/src/eLog.ts
+++ /dev/null
@@ -1,132 +0,0 @@
-/** Níveis de severidade para o sistema de log estruturado. */
-export enum NivelLog {
- /** O mais baixo nível, ideal para rastreamento detalhado de fluxo e execução. */
- RASTREAMENTO = "RASTREAMENTO",
- /** Usado para informações que ajudam a entender o estado do sistema durante a execução. */
- DEPURACAO = "DEPURACAO",
- /** Informações gerais e eventos do sistema. */
- INFORMACAO = "INFORMACAO",
- /** Eventos inesperados, mas que não impedem o funcionamento do sistema. */
- AVISO = "AVISO",
- /** Erros que impactam o funcionamento do sistema, mas que podem ser recuperados. */
- ERRO = "ERRO",
- /** O nível mais alto de severidade, indicando falhas que requerem atenção imediata. */
- CRITICO = "CRITICO",
-}
-
-type DetalheNivel = {
- peso: number
- rotulo: string
- emoji: string
- metodo: "debug" | "info" | "warn" | "error"
-}
-
-/** Detalhes de cada nível de log — peso para filtragem, emoji e método do console. */
-export const NivelLogDetalhes: Record = {
- [NivelLog.RASTREAMENTO]: { peso: 1, rotulo: "Rastreamento", emoji: "🔍", metodo: "debug" },
- [NivelLog.DEPURACAO]: { peso: 2, rotulo: "Depuração", emoji: "🐛", metodo: "debug" },
- [NivelLog.INFORMACAO]: { peso: 3, rotulo: "Informação", emoji: "ℹ️", metodo: "info" },
- [NivelLog.AVISO]: { peso: 4, rotulo: "Aviso", emoji: "⚠️", metodo: "warn" },
- [NivelLog.ERRO]: { peso: 5, rotulo: "Erro", emoji: "❌", metodo: "error" },
- [NivelLog.CRITICO]: { peso: 6, rotulo: "Crítico", emoji: "🔥", metodo: "error" },
-}
-
-/** Estrutura de uma entrada de log emitida pelo sistema. */
-export type EntradaLog = {
- timestamp: string
- nivel: keyof typeof NivelLog
- /** Identificador da aplicação/instância (ex: "front:e-licencie:12345"). */
- app: string
- /** Local no código de onde o log foi emitido (ex: "criarUsuario()"). */
- origem: string
- mensagem: string
- dados?: unknown
-}
-
-/** Interface pública do logger retornado por `iniciarELog`. */
-export type ELogger = {
- rastreamento: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
- depuracao: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
- info: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
- aviso: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
- erro: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
- critico: (pr: { origem: string; mensagem: string; dados?: unknown }) => void
-}
-
-/** Opções de configuração do logger, disponíveis no callback de arquivamento. */
-export type OpoesELogger = {
- app: string
- nivelMinimo: keyof typeof NivelLog
-}
-
-/** Tipo do callback de arquivamento de logs. */
-export type ArquivamentoLog = (entrada: EntradaLog, opcoes: OpoesELogger) => void
-
-/**
- * Inicializa o sistema de log estruturado.
- *
- * @param opcoes.app - Identificador da aplicação/instância (ex: `"front:e-licencie:12345"`)
- * @param opcoes.nivelMinimo - Nível mínimo para exibição no console (padrão: INFORMACAO)
- * @param opcoes.arquivamento - Callback opcional para persistir/enviar as entradas de log
- *
- * @example
- * ```ts
- * const log = iniciarELog({ app: "front:e-licencie:12345" })
- *
- * log.info({ origem: "criarUsuario()", mensagem: "Usuário criado", dados: { id: "abc-123" } })
- * // → ℹ️ [Informação] [front:e-licencie:12345] [criarUsuario()] Usuário criado
- * ```
- */
-export const iniciarELog = (opcoes: {
- app: string
- nivelMinimo?: keyof typeof NivelLog
- arquivamento?: ArquivamentoLog
-}): ELogger => {
- const nivel: keyof typeof NivelLog = opcoes.nivelMinimo ?? NivelLog.INFORMACAO
- const pesoMinimo = NivelLogDetalhes[nivel].peso
-
- const emitir = (
- nivelLog: keyof typeof NivelLog,
- pr: { origem: string; mensagem: string; dados?: unknown },
- ) => {
- const config = NivelLogDetalhes[nivelLog]
- if (config.peso < pesoMinimo) return
-
- const entrada: EntradaLog = {
- timestamp: new Date().toISOString(),
- nivel: nivelLog,
- app: opcoes.app,
- origem: pr.origem,
- mensagem: pr.mensagem,
- ...(pr.dados !== undefined ? { dados: pr.dados } : {}),
- }
-
- console[config.metodo](
- `${config.emoji} [${config.rotulo}] [${opcoes.app}] [${pr.origem}] ${pr.mensagem}`,
- pr.dados !== undefined ? pr.dados : "",
- )
-
- if (opcoes.arquivamento) {
- opcoes.arquivamento(entrada, { app: opcoes.app, nivelMinimo: nivel })
- }
- }
-
- return {
- rastreamento: (pr) => emitir(NivelLog.RASTREAMENTO, pr),
- depuracao: (pr) => emitir(NivelLog.DEPURACAO, pr),
- info: (pr) => emitir(NivelLog.INFORMACAO, pr),
- aviso: (pr) => emitir(NivelLog.AVISO, pr),
- erro: (pr) => emitir(NivelLog.ERRO, pr),
- critico: (pr) => emitir(NivelLog.CRITICO, pr),
- }
-}
-
-const _log = iniciarELog({
- app: "testando",
- nivelMinimo: NivelLog.INFORMACAO,
- arquivamento: () => {
- //
- },
-})
-
-//log.aviso({ origem: "teste", mensagem: "teste" })
diff --git a/src/extensoes.ts b/src/extensoes.ts
index 274d4d6..b321977 100755
--- a/src/extensoes.ts
+++ b/src/extensoes.ts
@@ -162,7 +162,9 @@ export const extensoes: {
* @param nomeArquivo
* @returns
*/
-export const tipoArquivo = (nomeArquivo: string | null | undefined): tiposArquivo => {
+export const tipoArquivo = (
+ nomeArquivo: string | null | undefined,
+): tiposArquivo => {
// extenssão do arquivo
const extArquivo = String(nomeArquivo || "")
.toLocaleLowerCase()
diff --git a/src/filtroDelta.ts b/src/filtroDelta.ts
deleted file mode 100644
index 3c8a839..0000000
--- a/src/filtroDelta.ts
+++ /dev/null
@@ -1,279 +0,0 @@
-import z from "zod"
-
-/**
- * =============================================================================
- * FILTRO DELTA (zFiltroDelta)
- * =============================================================================
- *
- * OBJETIVO
- * -----------------------------------------------------------------------------
- * Novo sistema de filtros projetado para maior flexibilidade e geração segura
- * de instruções SQL dinâmicas (WHERE).
- *
- * REGRAS IMPORTANTES (PARA IA)
- * -----------------------------------------------------------------------------
- * - O filtro é composto de duas partes obrigatórias: `condicoes` e `formula`.
- * - Apenas referências aos `id`s das `condicoes` podem ser usadas na `formula`.
- * - Não use sintaxe baseada em objetos aninhados para agrupamento (ex: { E: [], OU: [] }). Use fórmulas em string.
- *
- * 1) CONDIÇÕES (`condicoes`):
- * Array de objetos contendo as definições isoladas de cada comparação.
- * Exemplo:
- * [
- * { id: "{1}", coluna: "idade", operador: ">=", valor: 18 },
- * { id: "{2}", coluna: "nome", operador: "like", valor: "%pa%" }
- * ]
- * - `id`: Deve SEMPRE seguir o formato {identificador}. Ex: `{c1}`, `{idade_min}`.
- * - `coluna`: O nome da coluna ou um path JSONB válido (ex: `veiculo.ano`).
- * - `operador`: Um dos valores do tipo `tipoOperadorFiltroDelta` (veja a constante).
- *
- * 2) FÓRMULA (`formula`):
- * String que define a expressão lógica relacionando as condições através de seus `id`s.
- * Operadores Lógicos Suportados (EM MAIÚSCULO):
- * - `E` (AND)
- * - `OU` (OR)
- * - `NAO` (NOT)
- * Suporta o agrupamento lógico usando parênteses `()`
- * Exemplo válido: "({1} E NAO({2})) OU {3}"
- *
- * =============================================================================
- */
-
-/**
- * Operadores permitidos para comparação.
- */
-export const zOperadorFiltroDelta = z.enum([">", "<", ">=", "<=", "=", "!=", "in", "like", "∩"])
-
-export const operadorFiltroDeltaDetalhes: Record<
- z.infer,
- { rotulo: string; descricao: string }
-> = {
- ">": {
- rotulo: "Maior que",
- descricao: "O valor de A deve ser maior que o valor de B",
- },
- "<": {
- rotulo: "Menor que",
- descricao: "O valor de A deve ser menor que o valor de B",
- },
- ">=": {
- rotulo: "Maior ou igual a",
- descricao: "O valor de A deve ser maior ou igual ao valor de B",
- },
- "<=": {
- rotulo: "Menor ou igual a",
- descricao: "O valor de A deve ser menor ou igual ao valor de B",
- },
- "=": {
- rotulo: "Igual a",
- descricao: "O valor de A deve ser igual ao valor de B",
- },
- "!=": {
- rotulo: "Diferente de",
- descricao: "O valor de A deve ser diferente do valor de B",
- },
- in: {
- rotulo: "Está em",
- descricao: "O valor de A deve estar presente na coleção ou lista definida em B",
- },
- like: {
- rotulo: "Contém",
- descricao: "O valor de A deve conter o texto informado em B",
- },
- "∩": {
- rotulo: "Interseção",
- descricao: "A e B devem possuir pelo menos um elemento em comum",
- },
-}
-
-/**
- * Valida o identificador da condição.
- *
- * Formato esperado:
- * {identificador} ou {identificador:sufixo}
- */
-const regexIdCondicaoFiltroDelta = /^\{[\w:]+\}$/
-
-/**
- * Valida nomes de colunas e caminhos jsonb.
- */
-const regexColunaFiltroDelta = /^\w+(\.\w+)*$/
-
-/**
- * Coluna simples ou caminho aninhado de jsonb.
- */
-export const zColunaFiltroDelta = z
- .string()
- .regex(regexColunaFiltroDelta, "Coluna inválida")
- .describe("nome da coluna ou caminho aninhado do jsonb")
-
-/**
- * Estrutura individual de uma condição do filtro.
- */
-export const zCondicaoFiltroDelta = z.object({
- /**
- * Identificador único da condição.
- *
- * Exemplo:
- * {1}
- */
- id: z
- .string()
- .describe("id da condição do filtro")
- .regex(regexIdCondicaoFiltroDelta, "O id deve seguir o formato {identificador}"),
-
- /**
- * Nome da coluna ou caminho jsonb.
- */
- coluna: zColunaFiltroDelta,
-
- /**
- * Operador da comparação.
- */
- operador: zOperadorFiltroDelta,
-
- /**
- * Valor utilizado na comparação.
- */
- valor: z.any().describe("valor de comparação"),
-})
-
-/**
- * Verifica se a fórmula possui uma estrutura lógica válida.
- */
-const formulaFiltroDeltaValida = (formula: string) => {
- /**
- * Extrai apenas os tokens permitidos:
- * - referências de condição: {id} ou {id:sufixo}
- * - operadores lógicos: E, OU
- * - negação: NAO(...)
- * - parênteses
- */
- const tokensPermitidos = formula.match(/\{[\w:]+\}|\bNAO\b|\bE\b|\bOU\b|\(|\)/g) || []
-
- /**
- * Reconstrói a fórmula usando apenas os tokens válidos.
- */
- const formulaReconstruida = tokensPermitidos.join("")
-
- /**
- * Remove espaços para comparar o texto original com o texto reconstruído.
- */
- const formulaOriginalSemEspacos = formula.replace(/\s+/g, "")
- const formulaReconstruidaSemEspacos = formulaReconstruida.replace(/\s+/g, "")
-
- /**
- * Se forem diferentes, há conteúdo não permitido na fórmula.
- */
- if (formulaOriginalSemEspacos !== formulaReconstruidaSemEspacos) {
- return false
- }
-
- /**
- * Converte a fórmula para uma expressão JavaScript equivalente.
- *
- * NAO(x) → !x
- * E → &&
- * OU → ||
- */
- const expressaoLogica = formula
- .replace(/\{[\w:]+\}/g, "true")
- .replace(/\bNAO\b/g, "!")
- .replace(/\bE\b/g, "&&")
- .replace(/\bOU\b/g, "||")
-
- try {
- /**
- * Valida a ordem dos operadores, parênteses e estrutura lógica geral.
- */
- new Function(`return (${expressaoLogica})`)()
-
- return true
- } catch {
- return false
- }
-}
-
-/**
- * Estrutura principal do filtro delta.
- */
-export const zFiltroDelta = z
- .object({
- /**
- * Lista de condições disponíveis.
- */
- condicoes: z.array(zCondicaoFiltroDelta),
-
- /**
- * Fórmula lógica que combina as condições.
- */
- formula: z.string().refine(formulaFiltroDeltaValida, {
- message:
- "Fórmula inválida. Use apenas referências de condições {id} ou {id:sufixo}, operadores E/OU/NAO e parênteses.",
- }),
- })
- .superRefine((value, ctx) => {
- /**
- * IDs das condições cadastradas.
- */
- const idsCondicoes = new Set(value.condicoes.map((condicao) => condicao.id))
-
- /**
- * Referências usadas dentro da fórmula.
- */
- const referenciasFormula = value.formula.match(/\{[\w:]+\}/g) || []
-
- /**
- * Verifica se toda referência da fórmula existe em condicoes.
- */
- for (const referencia of referenciasFormula) {
- if (!idsCondicoes.has(referencia)) {
- ctx.addIssue({
- code: "custom",
- path: ["formula"],
- message: `A referência ${referencia} não existe em condicoes.`,
- })
- }
- }
- })
-
-export type tipoOperadorFiltroDelta = z.infer
-export type tipoColunaFiltroDelta = z.infer
-export type tipoCondicaoFiltroDelta = z.infer
-export type tipoFiltroDelta = z.infer
-
-export type tipoCondicaoFiltroDeltaTipado = tipoCondicaoFiltroDelta & {
- coluna: T
-}
-
-export type tipoFiltroDeltaColunaTipada = {
- condicoes: tipoCondicaoFiltroDeltaTipado[]
- formula: string
-}
-
-export const criarFiltroDelta = (filtro: tipoFiltroDeltaColunaTipada) =>
- zFiltroDelta.parse(filtro) as tipoFiltroDeltaColunaTipada
-
-/**
- * Fábrica para criar filtros com colunas estritamente tipadas.
- * Útil para autocompletar os nomes das colunas e garantir a estrutura no TypeScript.
- *
- * @example
- * ```ts
- * const { criarFiltroDelta } = iniciarFiltroDelta<"nome" | "idade" | "jsonb.propriedade">()
- *
- * const filtro = criarFiltroDelta({
- * condicoes: [
- * { id: "{c1}", coluna: "idade", operador: ">", valor: 18 },
- * { id: "{c2}", coluna: "nome", operador: "=", valor: "luiz" },
- * { id: "{c3}", coluna: "jsonb.propriedade", operador: "=", valor: "valor" },
- * ],
- * formula: "({c1} E {c2}) OU {c3}",
- * })
- * ```
- */
-export const iniciarFiltroDelta = () => {
- return {
- criarFiltroDelta: criarFiltroDelta,
- }
-}
diff --git a/src/index.ts b/src/index.ts
index 28e224f..eaa0800 100755
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,14 +1,11 @@
export * from "./aleatorio"
-export * from "./auditoria"
export * from "./cacheMemoria"
export * from "./constantes"
export * from "./consulta"
-export * from "./dayjs26"
+export * from "./dayjs"
export * from "./ecosistema"
-export * from "./eLog"
export * from "./extensoes"
export * from "./extensoes"
-export * from "./filtroDelta"
export * from "./local"
export * from "./postgres"
export * from "./produtos"
@@ -17,9 +14,7 @@ export * from "./testes-de-variaveis"
export * from "./texto_busca"
export * from "./tipagemRotas"
export * from "./tipagemRotas"
+export * from "./tipoFiltro.26"
export * from "./unidades_medida"
export * from "./uuid"
export * from "./variaveisComuns"
-export * from "./zCoordenadas"
-export * from "./zDocumento"
-export * from "./zodCustomizados"
diff --git a/src/local/index.ts b/src/local/index.ts
index 8863ee0..210f40e 100755
--- a/src/local/index.ts
+++ b/src/local/index.ts
@@ -2,11 +2,18 @@
* LocalStorage Tipado
* Lê ou grava um valor no localStorage, mantendo o tipo genérico .
*/
-export const localValor = (chave_: string | any, valor?: T | null): T | null => {
- const localStorage = "localStorage" in globalThis ? (globalThis as any).localStorage : undefined
+export const localValor = (
+ chave_: string | any,
+ valor?: T | null,
+): T | null => {
+ const localStorage =
+ "localStorage" in globalThis ? (globalThis as any).localStorage : undefined
if (typeof localStorage == "undefined") return null
- const chave = typeof chave_ === "string" ? chave_ : encodeURIComponent(JSON.stringify(chave_))
+ const chave =
+ typeof chave_ === "string"
+ ? chave_
+ : encodeURIComponent(JSON.stringify(chave_))
try {
// Grava valor se fornecido
diff --git a/src/postgres.ts b/src/postgres.ts
index 40dd85b..e3e1787 100755
--- a/src/postgres.ts
+++ b/src/postgres.ts
@@ -14,7 +14,9 @@ export const paraObjetoRegistroPg = (entrada: {
k,
v === undefined || v == null
? v
- : typeof v == "string" || typeof v == "number" || typeof v == "boolean"
+ : typeof v == "string" ||
+ typeof v == "number" ||
+ typeof v == "boolean"
? v
: JSON.stringify(v, null, 2),
]),
diff --git a/src/tipagemRotas.ts b/src/tipagemRotas.ts
index d8d76e9..92ce985 100755
--- a/src/tipagemRotas.ts
+++ b/src/tipagemRotas.ts
@@ -63,7 +63,9 @@ export class TipagemRotas {
*/
endereco(query: T, usarComoHash?: boolean) {
- const win = (typeof globalThis !== "undefined" && (globalThis as any).window) || undefined
+ const win =
+ (typeof globalThis !== "undefined" && (globalThis as any).window) ||
+ undefined
const url = new URL(win ? win.location.href : "http://localhost")
url.pathname = this.caminho
@@ -94,7 +96,9 @@ export class TipagemRotas {
if (this._acaoIr) {
this._acaoIr(this.endereco({ ...query }))
} else {
- const win = (typeof globalThis !== "undefined" && (globalThis as any).window) || undefined
+ const win =
+ (typeof globalThis !== "undefined" && (globalThis as any).window) ||
+ undefined
if (win) {
win.location.href = this.endereco({ ...query })
}
@@ -120,7 +124,9 @@ export class TipagemRotas {
// pegar hash
const hash = url.hash
if (hash) {
- const hashObj = Object.fromEntries(new URLSearchParams(hash.slice(1)).entries())
+ const hashObj = Object.fromEntries(
+ new URLSearchParams(hash.slice(1)).entries(),
+ )
queryObj = { ...queryObj, ...hashObj } as T
}
diff --git a/src/tipoFiltro.26.ts b/src/tipoFiltro.26.ts
new file mode 100644
index 0000000..f3086da
--- /dev/null
+++ b/src/tipoFiltro.26.ts
@@ -0,0 +1,235 @@
+import { z } from "zod"
+
+/**
+ * =============================================================================
+ * tipoFiltro26
+ * =============================================================================
+ *
+ * OBJETIVO
+ * -----------------------------------------------------------------------------
+ * Gerar automaticamente a tipagem de filtros compatíveis com operadores
+ * padrão do PostgreSQL, a partir de um tipo base T.
+ *
+ * Este tipo foi projetado para:
+ * - Construção de filtros dinâmicos
+ * - Geração posterior de WHERE (Knex / SQL)
+ * - Uso seguro por IA (evita filtros inválidos em nível de tipo)
+ *
+ *
+ * FORMATO DO FILTRO
+ * -----------------------------------------------------------------------------
+ * 1) Campos simples:
+ *
+ * {
+ * idade: { ">=": 18 }
+ * }
+ *
+ * 2) Campos aninhados:
+ *
+ * {
+ * carro: {
+ * ano: { "=": 2020 }
+ * }
+ * }
+ *
+ * 3) Operador E (AND):
+ *
+ * {
+ * E: [
+ * { idade: { ">=": 18 } },
+ * { nome: { like: "%pa%" } }
+ * ]
+ * }
+ *
+ * 4) Operador OU (OR):
+ *
+ * {
+ * OU: [
+ * { idade: { "<": 18 } },
+ * { idade: { ">=": 60 } }
+ * ]
+ * }
+ *
+ * 5) Combinação complexa:
+ *
+ * {
+ * idade: { ">=": 18 },
+ * OU: [
+ * { nome: { like: "%pa%" } },
+ * {
+ * E: [
+ * { carro: { ano: { "=": 2020 } } },
+ * { carro: { modelo: { in: ["Civic"] } } }
+ * ]
+ * }
+ * ]
+ * }
+ *
+ *
+ * REGRAS IMPORTANTES (PARA IA)
+ * -----------------------------------------------------------------------------
+ * - Apenas campos existentes em T podem ser usados.
+ * - Operadores são restritos por tipo do campo.
+ * - Objetos são tratados recursivamente.
+ * - Arrays NÃO são tratados como objeto recursivo.
+ * - Funções NÃO são consideradas campos filtráveis.
+ *
+ *
+ * OPERADORES SUPORTADOS
+ * -----------------------------------------------------------------------------
+ * number:
+ * =, !=, >, >=, <, <=, in
+ *
+ * string:
+ * =, !=, like, in
+ *
+ * boolean:
+ * =, !=, in
+ *
+ * Não há suporte automático a:
+ * - null
+ * - date
+ * - jsonb
+ * - arrays
+ *
+ * Essas extensões devem ser adicionadas explicitamente.
+ *
+ * =============================================================================
+ */
+
+/* =============================================================================
+ OPERADORES POSTGRESQL POR TIPO
+ ============================================================================= */
+
+export enum operadores26 {
+ "=" = "=",
+ "!=" = "!=",
+ ">" = ">",
+ ">=" = ">=",
+ "<" = "<",
+ "<=" = "<=",
+ like = "like",
+ in = "in",
+}
+
+export enum agrupadores26 {
+ E = "E",
+ OU = "OU",
+}
+
+type PgOpsNumber = {
+ [K in Extract" | ">=" | "<" | "<=">]?: number
+} & {
+ [K in Extract]?: number[]
+}
+
+type PgOpsString = {
+ [K in Extract]?: string
+} & {
+ [K in Extract]?: string[]
+}
+
+type PgOpsBoolean = {
+ [K in Extract]?: boolean
+} & {
+ [K in Extract]?: boolean[]
+}
+
+/* =============================================================================
+ SELEÇÃO AUTOMÁTICA DE OPERADORES BASEADA NO TIPO DO CAMPO
+============================================================================= */
+
+type PgOpsFor = V extends number
+ ? PgOpsNumber
+ : V extends string
+ ? PgOpsString
+ : V extends boolean
+ ? PgOpsBoolean
+ : never
+
+/* =============================================================================
+ UTILITÁRIO: DETECTAR OBJETO PLANO
+============================================================================= */
+
+type IsPlainObject = T extends object
+ ? T extends Function
+ ? false
+ : T extends readonly any[]
+ ? false
+ : true
+ : false
+
+/* =============================================================================
+ FILTRO RECURSIVO POR CAMPOS
+============================================================================= */
+
+type FiltroCampos = {
+ [K in keyof T]?: IsPlainObject extends true
+ ? tipoFiltro26
+ : PgOpsFor
+}
+
+/* =============================================================================
+ TIPO PRINCIPAL EXPORTADO
+============================================================================= */
+
+export type tipoFiltro26 = FiltroCampos & {
+ /**
+ * E => AND lógico
+ * Todos os filtros dentro do array devem ser verdadeiros.
+ */
+ E?: tipoFiltro26[]
+
+ /**
+ * OU => OR lógico
+ * Pelo menos um filtro dentro do array deve ser verdadeiro.
+ */
+ OU?: tipoFiltro26[]
+}
+
+/* =============================================================================
+ VALIDAÇÃO ESTRUTURAL (ZOD)
+============================================================================= */
+
+const zOperadores = z.nativeEnum(operadores26)
+const zValor = z.any()
+const zCondicao = z.record(zOperadores, zValor)
+
+export const zFiltro26: z.ZodType = z.lazy(() =>
+ z
+ .object({
+ E: z.array(zFiltro26).optional(),
+ OU: z.array(zFiltro26).optional(),
+ })
+ .catchall(z.union([zCondicao, zFiltro26])),
+)
+
+/* =============================================================================
+ EXEMPLO DE USO
+============================================================================= */
+
+type Pessoa = {
+ codigo: string
+ nome: string
+ idade: number
+ carro: {
+ modelo: string
+ ano: number
+ }
+}
+
+export const criarFiltro26 = (filtro: tipoFiltro26) => filtro
+
+const _filtro = criarFiltro26({
+ idade: { [operadores26[">="]]: 18 },
+
+ [agrupadores26.OU]: [
+ { nome: { [operadores26.like]: "%pa%" } },
+ {
+ [agrupadores26.E]: [
+ { carro: { ano: { [operadores26["="]]: 2020 } } },
+ { carro: { modelo: { [operadores26.in]: ["Civic", "Corolla"] } } },
+ ],
+ },
+ ],
+})
diff --git a/src/uuid.ts b/src/uuid.ts
index d65b503..1b88c91 100755
--- a/src/uuid.ts
+++ b/src/uuid.ts
@@ -1,130 +1,53 @@
+import { NIL, v3, v4 } from "uuid"
+
/**
* Valida se uma string é um UUID válido (qualquer versão).
+ *
+ * @param valor - A string que será validada.
+ * @returns booleano indicando se é um UUID válido.
*/
-export const erUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
+export const erUuid =
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
export const validarUuid = (uuid: string | number | undefined | null) => {
- return erUuid.test(String(uuid || ""))
-}
-
-// ── UUID v4 ──────────────────────────────────────────────────────────────────
-// Usa Web Crypto API (globalThis.crypto), disponível em Node 19+, Bun e browsers.
-
-/**
- * Gera um UUID v4 (aleatório, não determinístico).
- * Usa `globalThis.crypto.randomUUID()` — disponível em Node 19+, Bun e browsers modernos.
- */
-export const uuidV4 = (): string => globalThis.crypto.randomUUID()
-
-/**
- * @deprecated Use uuidV4() diretamente.
- */
-export const uuid = uuidV4
-
-// ── UUID v3 (MD5 determinístico) ──────────────────────────────────────────────
-// Implementação pura sem dependência de Node.js para compatibilidade front+back.
-
-const NIL_UUID = "00000000-0000-0000-0000-000000000000"
-
-// Rotação de 32 bits à esquerda
-const rotL = (x: number, n: number) => (x << n) | (x >>> (32 - n))
-
-// MD5 — implementação pura JS compatível com browser e Node
-const md5 = (str: string): string => {
- const msg = new TextEncoder().encode(str)
- const len = msg.length
- const bits = len * 8
-
- // Padding
- const padLen = len % 64 < 56 ? 56 - (len % 64) : 120 - (len % 64)
- const padded = new Uint8Array(len + padLen + 8)
- padded.set(msg)
- padded[len] = 0x80
- const dv = new DataView(padded.buffer)
- dv.setUint32(len + padLen, bits >>> 0, true)
- dv.setUint32(len + padLen + 4, Math.floor(bits / 2 ** 32), true)
-
- // Tabela de senos
- const T: number[] = Array.from(
- { length: 64 },
- (_, i) => (Math.abs(Math.sin(i + 1)) * 2 ** 32) >>> 0,
- )
-
- const S = [
- 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20,
- 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4,
- 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6,
- 10, 15, 21,
- ]
-
- let a0 = 0x67452301,
- b0 = 0xefcdab89,
- c0 = 0x98badcfe,
- d0 = 0x10325476
-
- for (let off = 0; off < padded.length; off += 64) {
- const M: number[] = []
- for (let j = 0; j < 16; j++) M[j] = dv.getUint32(off + j * 4, true)
-
- let [A, B, C, D] = [a0, b0, c0, d0]
-
- for (let i = 0; i < 64; i++) {
- let F: number, g: number
- if (i < 16) {
- F = (B & C) | (~B & D)
- g = i
- } else if (i < 32) {
- F = (D & B) | (~D & C)
- g = (5 * i + 1) % 16
- } else if (i < 48) {
- F = B ^ C ^ D
- g = (3 * i + 5) % 16
- } else {
- F = C ^ (B | ~D)
- g = (7 * i) % 16
- }
- F = (F + A + T[i] + M[g]) >>> 0
- A = D
- D = C
- C = B
- B = (B + rotL(F, S[i])) >>> 0
- }
-
- a0 = (a0 + A) >>> 0
- b0 = (b0 + B) >>> 0
- c0 = (c0 + C) >>> 0
- d0 = (d0 + D) >>> 0
- }
-
- const toHexLE = (n: number) => {
- let s = ""
- for (let i = 0; i < 4; i++) s += ((n >>> (i * 8)) & 0xff).toString(16).padStart(2, "0")
- return s
- }
-
- return toHexLE(a0) + toHexLE(b0) + toHexLE(c0) + toHexLE(d0)
-}
-
-const formatarUuidV3 = (hash: string): string => {
- const c = hash.slice(0, 32)
- const v = ((Number.parseInt(c[16], 16) & 0x3) | 0x8).toString(16)
- return `${c.slice(0, 8)}-${c.slice(8, 12)}-3${c.slice(13, 16)}-${v}${c.slice(17, 20)}-${c.slice(20, 32)}`
+ const retorno = erUuid.test(String(uuid || ""))
+ return retorno
}
/**
* Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace).
- * Implementação pura JS (MD5), sem dependência de Node.js — funciona em browser e server.
*
- * @param chave - Valor a serializar (string, number ou objeto).
- * @param grupo - Namespace opcional; se omitido, usa UUID nil.
+ * - Usa o algoritmo MD5 (RFC 4122).
+ * - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo.
+ * - Caso o grupo não seja informado, usa o UUID "nil" como namespace.
+ *
+ * @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto).
+ * @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs.
+ * @returns UUID v3 (determinístico)
*/
-export const uuidV3 = (chave: unknown, grupo?: unknown): string => {
- const namespace = grupo ? uuidV3(grupo) : NIL_UUID
- const input =
+export const uuidV3 = (chave: any, grupo?: any): string => {
+ return v3(
+ // Converte a chave para string (de forma segura)
typeof chave === "string"
? chave
: typeof chave === "number"
? String(chave)
- : JSON.stringify(chave)
- return formatarUuidV3(md5(namespace + input))
+ : JSON.stringify(chave),
+
+ // Se um grupo foi fornecido, gera um UUID v3 recursivamente com base nele, senão usa NIL
+ grupo ? uuidV3(grupo) : NIL,
+ )
}
+
+/**
+ * Gera um UUID v4 (aleatório, não determinístico).
+ *
+ * - Usado quando unicidade é necessária, mas não se exige que seja previsível.
+ */
+export const uuidV4 = v4
+
+/**
+ * @deprecated Esta variável será descontinuada em versões futuras.
+ * Use a função `uuidV4()` diretamente.
+ */
+export const uuid = uuidV4
diff --git a/src/variaveisComuns.ts b/src/variaveisComuns.ts
index 137f6e9..9128332 100755
--- a/src/variaveisComuns.ts
+++ b/src/variaveisComuns.ts
@@ -1,5 +1,7 @@
export const esperar = (ms: number): Promise =>
- new Promise((resolve: (r: true) => void) => setTimeout(() => resolve(true), ms))
+ new Promise((resolve: (r: true) => void) =>
+ setTimeout(() => resolve(true), ms),
+ )
/**
* Usado para retronat o no de uma variável, deve ser usado dentro de um objeto
* const nomex = {a: 1, b: 2}
@@ -7,4 +9,5 @@ export const esperar = (ms: number): Promise =>
* @param v
* @returns
*/
-export const nomeVariavel = (v: { [key: string]: any }) => Object.keys(v).join("/")
+export const nomeVariavel = (v: { [key: string]: any }) =>
+ Object.keys(v).join("/")
diff --git a/src/zCoordenadas.ts b/src/zCoordenadas.ts
deleted file mode 100644
index 9cf85f7..0000000
--- a/src/zCoordenadas.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * No futuro podemos melhorar este Zod para incluir mais formatos de coordenadas.
- *
- */
-
-import z from "zod"
-export const zCoordenadas = z.object({
- formato: z.literal("decimal").default("decimal"),
- datum: z.literal("EPSG:4326").default("EPSG:4326"),
- latitude: z.number(),
- longitude: z.number(),
-})
diff --git a/src/zDocumento.ts b/src/zDocumento.ts
deleted file mode 100644
index 8ce2fb7..0000000
--- a/src/zDocumento.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import z from "zod"
-
-/**
- Resumo – CNPJ Alfanumérico (vigência a partir de julho de 2026)
-
-A Receita Federal passará a emitir CNPJs alfanuméricos para novas empresas a partir de julho de 2026. O objetivo é ampliar a quantidade de combinações disponíveis e evitar o esgotamento dos números atuais.
-
-O que muda?
-O CNPJ continuará com 14 caracteres.
-Os 12 primeiros caracteres poderão conter letras (A-Z) e números (0-9).
-Os 2 dígitos verificadores finais continuarão sendo numéricos.
-Exemplo ilustrativo:
-Atual: 00.000.000/0001-00
-Novo: A1.B2C.3D4/EF56-78
-Quem será afetado?
-Empresas já existentes não terão seus CNPJs alterados.
-A mudança vale apenas para novas inscrições realizadas a partir de julho de 2026.
- */
-
-const regexCnpjNumerico = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/
-
-/**
- Como ler o novo CNPJ (estrutura)
-
-Tomando como exemplo um CNPJ alfanumérico fictício:
-
-12.ABC.345/0001-67
-
-Como ler:
-
- 12.ABC.345 é a raiz (identificação da empresa)
- 0001 é o sufixo (estabelecimento, geralmente “0001” para matriz)
- 67 são os dígitos verificadores numéricos
-
-Pontos de atenção:
-
- Letras maiúsculas (não há diferenciação entre maiúscula e minúscula no sistema, mas convenção é maiúscula)
- Não usar caracteres especiais: só letras de A a Z e números de 0 a 9
- Pontos, barra e hífen mantidos como antes
-
- */
-
-const regexCnpjAlfanumerico = /^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}-\d{2}$/i
-const yyyymm = Number(new Date().toISOString().slice(0, 7).replace("-", ""))
-
-export const zDocCnpj = z
- .string()
- .regex(yyyymm < 202407 ? regexCnpjNumerico : regexCnpjAlfanumerico)
- .describe("Documento (CNPJ) no formato XX.XXX.XXX/XXXX-XX")
-
-export const zDocCpf = z
- .string()
- .regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/)
- .describe("Documento (CPF) no formato XXX.XXX.XXX-XX")
-
-export const zDocumento = zDocCpf.or(zDocCnpj).describe("CPF ou CNPJ")
diff --git a/src/zodCustomizados.ts b/src/zodCustomizados.ts
deleted file mode 100644
index 5bad656..0000000
--- a/src/zodCustomizados.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import z from "zod"
-
-const zPreprocessarNumero = (p: unknown) => {
- if (typeof p === "number") return p
- if (typeof p !== "string") return p
-
- let p2 = p
-
- if (p2.includes(",")) {
- // ponto de milhar → remove; vírgula decimal → troca por ponto
- p2 = p2.replace(/\./g, "").replace(",", ".")
- }
-
- // remove tudo que não seja dígito ou ponto decimal
- p2 = p2.replace(/[^0-9.]/g, "")
-
- if (p2 == "") return null
-
- return Number(p2)
-}
-
-/**
- * Schema numérico que aceita strings legadas e normaliza para `number`.
- *
- * O campo **é** um número. O `preprocess` resolve compatibilidade com dados
- * antigos onde o frontend enviava strings formatadas (BR ou monetária).
- *
- * Formatos de entrada aceitos:
- * - `10` → number direto
- * - `10.1` → ponto decimal
- * - `10,1` → vírgula decimal (BR)
- * - `1.000,1` → milhar com ponto + vírgula decimal (BR)
- * - `R$ 10,01` → prefixo monetário legado
- */
-export const zNumero = z.preprocess(zPreprocessarNumero, z.number())
-
-export const zNumeroPositivo = z.preprocess(zPreprocessarNumero, z.number().positive())
-
-export const zNumeroInteiro = z.preprocess(zPreprocessarNumero, z.number().int())
diff --git a/tsconfig.json b/tsconfig.json
index 71a5e37..97ddeec 100755
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,15 +6,13 @@
/* Linguagem e Ambiente */
"target": "ES2020" /* Define a versão do JavaScript para o código emitido. */,
"lib": [
- "ES2020",
- "DOM",
- "DOM.Iterable"
+ "dom.iterable"
] /* Especifica as bibliotecas padrão a serem incluídas, como DOM para iteradores. */,
"experimentalDecorators": true /* Habilita o suporte experimental a decoradores. */,
"emitDecoratorMetadata": true /* Emite metadados de tipos de design para declarações decoradas. */,
/* Módulos */
- "moduleResolution": "bundler" /* Define como o TypeScript resolve módulos. */,
+ "moduleResolution": "node" /* Define como o TypeScript resolve módulos. */,
"rootDir": "./src" /* Define a pasta raiz para os arquivos de origem. */,
/* Emissão */
@@ -25,9 +23,7 @@
/* Verificação de Tipos */
"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. */,
- // IA manter "ignoreDeprecations": "6.0",
-"ignoreDeprecations": "6.0"
+ "skipLibCheck": true /* Ignora a verificação de tipos em arquivos de declaração de bibliotecas. */
},
"include": [
"src/**/*"
diff --git a/tsup/tsup.config.back.ts b/tsup/tsup.config.back.ts
index 3593233..cffbdf4 100755
--- a/tsup/tsup.config.back.ts
+++ b/tsup/tsup.config.back.ts
@@ -18,12 +18,7 @@ export const tsup_config_back: Options = {
minify: false, // Geralmente não minificamos o código do backend em produção, mas você pode mudar
platform: "node",
outExtension: () => ({ js: ".js" }),
- loader: {
- ".svg": "text",
- ".md": "text",
- },
}
-
// Exporta a configuração padrão usando defineConfig
export default defineConfig(tsup_config_back)
diff --git a/tsup/tsup.config.front.ts b/tsup/tsup.config.front.ts
index 38d1a87..4f0fd7b 100755
--- a/tsup/tsup.config.front.ts
+++ b/tsup/tsup.config.front.ts
@@ -19,10 +19,6 @@ export const tsup_config_front: Options = {
external: ['dayjs', 'cross-fetch', 'uuid', 'zod'],
outExtension: () => ({ js: ".mjs" }),
shims: false,
- loader: {
- ".svg": "text",
- ".md": "text",
- },
}
// Exporta a configuração padrão usando defineConfig