Configuración completa para EasyPanel - variables de entorno
This commit is contained in:
@@ -1,173 +0,0 @@
|
|||||||
# FUTUROS CAMBIOS — Dashboard LEADS
|
|
||||||
|
|
||||||
Lista de cosas pendientes que el usuario quiere hacer más adelante.
|
|
||||||
Cuando el usuario pida "futuros cambios", recordarle TODO esto.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Mapa de campañas (frases de pauta) → mover a GitHub o Supabase
|
|
||||||
- Hoy está incrustado en el código: `backend/data_manager_v2.py`, lista `CAMPANIAS`
|
|
||||||
(las ~90 frases con emojis + programa/sede/código/rango de fechas).
|
|
||||||
- Objetivo: sacarlo a un JSON en GitHub (o tabla en Supabase) para editarlo
|
|
||||||
sin tocar el código (igual que se hace en el otro dashboard con las clasificaciones).
|
|
||||||
|
|
||||||
## 2. Leyenda de los códigos de pauta → a GitHub/Supabase
|
|
||||||
- Los códigos de campaña (191, 193, 63a, etc.) y su significado.
|
|
||||||
- Mismo objetivo: que sea editable fuera del código.
|
|
||||||
|
|
||||||
## 3. Excluir cursos (num_indice) puntuales del cálculo
|
|
||||||
- Por ahora EXCLUIR del cálculo de Ocupabilidad/cursos: **num_indice 1154 y 1121**.
|
|
||||||
- Motivo: el usuario indicó que no deben contar (ej. reprogramados a otro mes).
|
|
||||||
- Idea a futuro: manejar esta lista de exclusión desde GitHub/Supabase, no en código.
|
|
||||||
- (Relacionado: el PBI filtra cursos por FECHA_MOSTRAR_COL = fecha con reprogramación
|
|
||||||
de SharePoint; aquí no tenemos esa columna todavía → Cursos Reprogramados quedó en fase 2.)
|
|
||||||
|
|
||||||
## 4. Reprogramación de cursos (SharePoint) — FASE 2 [DEPENDE DE LA FUENTE]
|
|
||||||
La fecha ORIGINAL planificada de cada curso venía de SharePoint
|
|
||||||
(BaseBI_Programacion: FECHA CALENDARIO vs FECHA REPROGRAMADO). Sin esa fuente,
|
|
||||||
varios KPIs no se pueden calcular exacto. Pendiente: traerla de Google Sheets / Supabase / JSON
|
|
||||||
y construir FECHA_MOSTRAR_COL, FECHA_CUADRO_BI y ESTADO_CUADRO_BI.
|
|
||||||
|
|
||||||
KPIs/cosas que dependen de esto (hoy aproximados o en 0):
|
|
||||||
- **Cursos Reprogramados** → hoy SALE 0 (no hay fecha original para comparar).
|
|
||||||
- **Cursos Programados** → hoy usa solo `fch_inicio` (el PBI usa planificada + reprogramada).
|
|
||||||
Diferencia chica, se cuadrará en fase 2.
|
|
||||||
- **Cursos Iniciados / Suspendidos** → hoy por `fch_inicio` y `cod_estado`; revisar con reprogramación.
|
|
||||||
- La exclusión manual de cursos (1154, 1121) es justo por reprogramación: cuando llegue
|
|
||||||
la fuente, esto debería resolverse solo (ya no haría falta la lista manual).
|
|
||||||
|
|
||||||
## 5. Matriz por Curso (num_indice) con métricas de Leads por Pauta — NUEVA
|
|
||||||
El usuario quiere una MATRIZ debajo de la tabla por Sede, con:
|
|
||||||
- FILA: Fact_SQL_Base_Cursos[Personalizado], separada por cada num_indice (cursos se repiten).
|
|
||||||
- VALORES: Fecha_Inicio_Visual, Leads_Acumulados_Historico, Cant_Leads_Nuevos,
|
|
||||||
Cant_Leads_Nuevos_Con_Asesor, Cant_Leads_Nuevo_x_Mes, Cant_Leads_Nuevos_x_Mes_Con_Asesor.
|
|
||||||
|
|
||||||
DEPENDE DE: el campo **Pauta** (código de campaña) de CADA curso, que en el PBI venía de
|
|
||||||
SharePoint (BaseBI_Programacion → PAUTA_CODIGO). El cruce de TODAS esas medidas es por
|
|
||||||
TREATAS(Cursos[Pauta], Leads[codigo]) — o sea por CÓDIGO, no por teléfono.
|
|
||||||
|
|
||||||
Lo que se necesita para construirla (traer a Google Sheets / Supabase / JSON):
|
|
||||||
- Por cada num_indice (curso): su **código(s) de Pauta** asociado.
|
|
||||||
- Idealmente también FECHA_CUADRO_BI (fecha real/reprogramada) — mismo paquete que el punto 4.
|
|
||||||
|
|
||||||
Medidas (ya tengo las fórmulas DAX exactas guardadas):
|
|
||||||
- Cant_Leads_Nuevos = leads únicos (Cantidad_Veces=1) con codigo = Pauta del curso, histórico.
|
|
||||||
- ..._Con_Asesor = + asesor no vacío.
|
|
||||||
- ..._x_Mes = igual pero respeta filtro de fecha del mes.
|
|
||||||
- ..._x_Mes_Con_Asesor = del mes + con asesor.
|
|
||||||
- Leads_Acumulados_Historico = suma de Cant_Leads_Nuevos de cursos del mismo Personalizado
|
|
||||||
con fecha <= la del curso actual.
|
|
||||||
- Fecha_Inicio_Visual = FECHA_CUADRO_BI del curso.
|
|
||||||
|
|
||||||
ESTADO: ✅ La MATRIZ YA ESTÁ CONSTRUIDA en el dashboard (backend `leads_logic.matriz_cursos`,
|
|
||||||
frontend "Detalle por Curso"). Hoy muestra Programa + Fecha Inicio reales; las 5 columnas de
|
|
||||||
leads salen en 0 porque FALTA el código de Pauta por curso. Cuando llegue la fuente, solo se
|
|
||||||
rellena el cruce y se activan las 5 medidas.
|
|
||||||
|
|
||||||
### Fuente SharePoint que hay que conectar (acordado)
|
|
||||||
Archivo: Base_BI_2.xlsx
|
|
||||||
Ruta: https://escuelarefrigeracion.sharepoint.com/sites/ASESORASCOMERCIALES/
|
|
||||||
Documentos compartidos/2. BASE PROSPECTOS/BASE GENERAL/Patricia/Base_BI_2.xlsx
|
|
||||||
Tabla: BaseBI_Programacion
|
|
||||||
Columnas: NUM_INDICE, FECHA CALENDARIO, FECHA REPROGRAMADO, ESTADO, CONTAR, PAUTA_CODIGO
|
|
||||||
Cruce: Cursos[NUM_INDICE] → BaseBI_Programacion[NUM_INDICE] ⇒ PAUTA_CODIGO
|
|
||||||
(en el PBI: columna calculada Pauta = RELATED(BaseBI_Programacion[PAUTA_CODIGO]))
|
|
||||||
Luego: TREATAS(Cursos[Pauta], Leads[codigo]) para contar leads.
|
|
||||||
|
|
||||||
Cómo leerla (3 opciones, de menos a más esfuerzo):
|
|
||||||
1) (Recomendado) Que Patricia/usuario suba a Supabase una tabla `cursos_pauta`
|
|
||||||
(num_indice, pauta_codigo, fecha_cuadro_bi). El backend ya tiene credenciales Supabase.
|
|
||||||
→ cero auth de Microsoft, instantáneo, editable.
|
|
||||||
2) Exportar esa hoja a un Google Sheet / CSV en GitHub (GITHUB_BASE ya configurado).
|
|
||||||
3) Lectura directa SharePoint con Office365-REST-Python-Client (requiere usuario+clave M365
|
|
||||||
o app registration). Más frágil; dejarlo como última opción.
|
|
||||||
|
|
||||||
Cuando exista la fuente, en `data_manager_v2.py` agregar `traer_cursos_pauta()` y mapear
|
|
||||||
num_indice→pauta sobre los cursos; en `leads_logic.matriz_cursos` reemplazar los 0 por el
|
|
||||||
conteo de leads cruzado por codigo (las fórmulas DAX de arriba ya están claras).
|
|
||||||
|
|
||||||
## 6. Base Junta (identificador de canal de origen por teléfono) — FUTURO
|
|
||||||
Objetivo: cuando un número se MATRICULA, saber su CANAL DE ORIGEN (y sede/programa/código)
|
|
||||||
para clasificarlo. Se usará como "memoria" de consulta por teléfono.
|
|
||||||
|
|
||||||
Fuente/lógica (ya PROBADA y validada con el usuario):
|
|
||||||
- Une leads de POSTGRE (Chatwoot + mapa de campañas CAMPANIAS → canal/sede/programa/código)
|
|
||||||
+ SUPABASE `datos_unificados` (Telefono, Fechacreada, Canal, Sede, Programa, Codigo).
|
|
||||||
- Teléfono NORMALIZADO: quita '+51', '+', espacios, '-', '(', ')'.
|
|
||||||
- DEDUP por teléfono → se queda con el MÁS ANTIGUO (solo por FECHA, sin hora).
|
|
||||||
- Desempate misma fecha: 1) PAUTA_WSP 2) PAUTA_WSP_FACE 3) orden alfabético del canal.
|
|
||||||
- Texto en MAYÚSCULAS; '-' de Supabase → vacío.
|
|
||||||
- Resultado prueba: ~45,054 teléfonos únicos.
|
|
||||||
|
|
||||||
Script de prueba (standalone, corre en cualquier carpeta): `base_junta_full.py`
|
|
||||||
(genera base_junta_full.xlsx con 6 columnas: Telefono, Canal, Fecha Creada, Sede,
|
|
||||||
Programa, Codigo). NO está conectado al dashboard todavía.
|
|
||||||
|
|
||||||
Cómo conectarlo a futuro (acordado, debe ser LIVIANO):
|
|
||||||
- Subir la base junta a una tabla en Supabase (ej. `base_junta`).
|
|
||||||
- El backend la carga UNA vez en un dict {telefono → datos}, cacheado (refresco ~15 min).
|
|
||||||
- Al cruzar una matrícula por teléfono → se obtiene su canal de origen y se clasifica.
|
|
||||||
- 44-73k filas en dict = instantáneo, sin impacto en la carga.
|
|
||||||
|
|
||||||
ESTADO: pendiente. Cuando se retome: crear tabla Supabase + traer_base_junta() en backend
|
|
||||||
+ cruce por teléfono en el módulo que corresponda.
|
|
||||||
|
|
||||||
## 7. Simplificar/normalizar nombres de programa (Personalizado) — MEJORA OPCIONAL
|
|
||||||
Los nombres largos de los cursos se acortan con una lista de reemplazos de texto
|
|
||||||
en `backend/leads_logic.py` → `_PERS_REEMPLAZOS` (hardcoded).
|
|
||||||
|
|
||||||
Problemas/mejoras:
|
|
||||||
- Está en el código: cada nombre nuevo/largo hay que agregarlo a mano.
|
|
||||||
- Algunos reemplazos quedan SIN sede ni frecuencia consistente
|
|
||||||
(ej. "VOLUMEN VARIABLE VRF" quedó sin "SEDE -" ni "- FREC").
|
|
||||||
- Ideal: formato uniforme tipo "SEDE - CORTO - FREC" para todos.
|
|
||||||
|
|
||||||
Ideas (opcional, cuando haya tiempo):
|
|
||||||
1. Mover `_PERS_REEMPLAZOS` a un JSON en GitHub o tabla Supabase → editable sin tocar código.
|
|
||||||
2. Normalizar TODOS los nombres con un mismo criterio (sede + nombre corto + frecuencia),
|
|
||||||
no solo los VRF/CO2 ya hechos.
|
|
||||||
|
|
||||||
ESTADO: opcional. No urgente; los reemplazos actuales funcionan.
|
|
||||||
|
|
||||||
## 8. Manual de tablas de Supabase — PENDIENTE
|
|
||||||
Mantener UN solo documento que liste cada tabla de Supabase y para qué sirve
|
|
||||||
(evitar olvidarse). Ej.:
|
|
||||||
- `datos_unificados` → leads (proyecto ogzjtkxnfs...).
|
|
||||||
- `basebi_programacion` → pauta/estado/contar por num_indice (proyecto uztqscimts...).
|
|
||||||
- `cartera_junta` → cartera total combinada por teléfono + es_origen (proyecto uztqscimts...).
|
|
||||||
- (futuras: `programa_alias` → diccionario de normalización).
|
|
||||||
Cada vez que se cree una tabla nueva, agregarla aquí.
|
|
||||||
|
|
||||||
## 9. Normalización de programa/sede en cartera_junta + alerta de valores nuevos — PENDIENTE
|
|
||||||
Problema: en `cartera_junta` hay valores repetidos con distinta escritura
|
|
||||||
(CÁMARAS/CAMARAS, GESTION/GESTIÓN, VRF / VRV vs VRF, SUP. DE OBRAS/SUPER.OBRAS/
|
|
||||||
SUPERVISIÓN DE OBRAS, DIPLONADO REF typo, LINA→LIMA) y basura (vacío, "0").
|
|
||||||
Como la tabla se regenera a diario (GitHub Actions), limpiar a mano NO sirve
|
|
||||||
(se sobrescribe). Hay que normalizar en la GENERACIÓN.
|
|
||||||
|
|
||||||
Plan acordado (mínimo de tablas):
|
|
||||||
- En `carga_cartera.py`: (a) reglas automáticas → MAYÚSCULAS + sin acentos + sin
|
|
||||||
espacios extra (une CÁMARAS=CAMARAS, GESTIÓN=GESTION, etc. sin mantener nada);
|
|
||||||
(b) UNA tabla-diccionario `programa_alias` (y sede) en Supabase con
|
|
||||||
alias → valor_correcto para los sinónimos/typos que las reglas no resuelven.
|
|
||||||
- Detección de NUEVOS: NO usar tabla de pendientes. Calcular al vuelo en el
|
|
||||||
dashboard, comparando los valores únicos de cartera_junta vs el diccionario.
|
|
||||||
- Alerta: 🔔 campanita/panel de notificaciones en el dashboard. Silencioso si todo
|
|
||||||
es conocido; si aparece sede/programa nuevo no reconocido, se enciende con la
|
|
||||||
lista para que el usuario decida (unir como alias o dejar como nuevo real).
|
|
||||||
- Decidir aparte: valores vacíos y "0" → dejar o convertir a SIN PROGRAMA/SIN SEDE.
|
|
||||||
|
|
||||||
## 10. Clasificar valores no identificados DESDE la campanita — MEJORA OPCIONAL
|
|
||||||
Hoy la campanita 🔔 solo AVISA de los programas/sedes no identificados; para
|
|
||||||
corregirlos hay que ir a Supabase y agregar la fila en `alias_normalizacion`.
|
|
||||||
Mejora: permitir hacerlo desde la misma web, en la notificación:
|
|
||||||
- Al lado de cada valor no identificado, un desplegable con los programas/sedes
|
|
||||||
YA EXISTENTES (canónicos) + botón "Asignar".
|
|
||||||
- Al asignar, el backend inserta la fila (alias → correcto) en `alias_normalizacion`
|
|
||||||
directamente desde la web (nuevo endpoint POST), sin entrar a Supabase.
|
|
||||||
- Así se limpia al instante y en la siguiente corrida del workflow ya sale unido.
|
|
||||||
ESTADO: opcional. Hoy funciona avisando; esto solo agiliza la corrección.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
(Agregar aquí cualquier otro pendiente que vaya saliendo.)
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@echo off
|
|
||||||
REM ============================================================
|
|
||||||
REM INICIAR DASHBOARD LEADS - Backend (8001) + Frontend (5174)
|
|
||||||
REM ============================================================
|
|
||||||
echo Iniciando BACKEND y FRONTEND de LEADS...
|
|
||||||
|
|
||||||
start "LEADS - BACKEND" cmd /k ""%~dp0_run_backend.bat""
|
|
||||||
start "LEADS - FRONTEND" cmd /k ""%~dp0_run_frontend.bat""
|
|
||||||
|
|
||||||
echo Listo. Se abrieron 2 ventanas (Backend y Frontend).
|
|
||||||
echo Cuando cargue, abre el navegador en: http://localhost:5174
|
|
||||||
timeout /t 4 >nul
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
# OPTIMIZACIÓN — Caché de descargas pesadas (reutilizable en Ventas, Comisiones, etc.)
|
|
||||||
|
|
||||||
## El problema (síntoma)
|
|
||||||
Al cambiar un filtro (mes, sede, etc.) el dashboard se demora 15-130 segundos,
|
|
||||||
aunque los datos "ya deberían estar cargados". Se siente como si cada filtro
|
|
||||||
volviera a descargar todo desde cero.
|
|
||||||
|
|
||||||
## La causa raíz
|
|
||||||
Una función que **descarga datos de una fuente externa** (Supabase, SQL Server,
|
|
||||||
Postgre, API) se llama SIN caché. Cada vez que el usuario filtra, esa función
|
|
||||||
**vuelve a descargar TODO** desde internet.
|
|
||||||
|
|
||||||
En LEADS el culpable fue `traer_cartera_rows()` (bajaba 86,000 filas de Supabase
|
|
||||||
de 1000 en 1000 = 86 pedidos en serie ≈ 52-130s) y se re-descargaba en CADA
|
|
||||||
cambio de mes, porque `matriz_web_formulario` la llamaba directo:
|
|
||||||
|
|
||||||
```python
|
|
||||||
# ANTES (malo): re-descarga en cada llamada
|
|
||||||
def _load():
|
|
||||||
rows = get_dm().traer_cartera_rows() # baja 86k filas CADA vez
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
## Cómo diagnosticarlo (script de tiempos)
|
|
||||||
Medir cada parte por separado para encontrar QUÉ tarda. Clave: medir un cambio
|
|
||||||
de mes CON los insumos ya cargados (2a vez). Si sigue lento, algo se re-descarga.
|
|
||||||
|
|
||||||
```python
|
|
||||||
import time, services as S
|
|
||||||
def cron(label, fn):
|
|
||||||
t0 = time.time(); fn(); print(f" {label:38} {time.time()-t0:6.1f}s")
|
|
||||||
|
|
||||||
cron("dashboard MES1 (1a vez)", lambda: S.mi_funcion("2026","1",...))
|
|
||||||
cron("dashboard MES2 (2a vez)", lambda: S.mi_funcion("2026","2",...)) # <-- debe ser rapido
|
|
||||||
# Si MES2 sale lento, desglosar: medir cada traer_* y cada matriz por separado
|
|
||||||
# hasta ver cual linea se lleva los segundos (casi siempre un traer_* sin cache).
|
|
||||||
```
|
|
||||||
|
|
||||||
## La solución (2 líneas, NO toca lógica ni resultados)
|
|
||||||
Envolver la descarga pesada en `cache_get_or_set` con clave GLOBAL, y que TODAS
|
|
||||||
las funciones usen ese helper cacheado en vez de descargar directo.
|
|
||||||
|
|
||||||
```python
|
|
||||||
# 1) Helper cacheado (se baja UNA vez, se reutiliza)
|
|
||||||
def _cartera_rows_cache():
|
|
||||||
return cache_get_or_set("cartera_rows", ("GLOBAL",),
|
|
||||||
lambda: get_dm().traer_cartera_rows())
|
|
||||||
|
|
||||||
# 2) Reemplazar TODAS las llamadas directas:
|
|
||||||
# get_dm().traer_cartera_rows() -> _cartera_rows_cache()
|
|
||||||
```
|
|
||||||
|
|
||||||
Resultado en LEADS:
|
|
||||||
- Cambiar de mes: de 69-133s -> 0.4s (solo filtra lo que ya está en memoria)
|
|
||||||
- La descarga pesada solo se paga 1 vez (en la precarga de arranque, en background).
|
|
||||||
|
|
||||||
## Regla general para CUALQUIER dashboard (Ventas, Comisiones, Rentabilidad...)
|
|
||||||
1. Toda función `traer_*` / consulta a SQL/Supabase/API que se use en varias
|
|
||||||
vistas o en cada filtro, debe estar cacheada con `cache_get_or_set`.
|
|
||||||
2. NUNCA llamar `get_dm().traer_xxx()` directo dentro de un `_load` que depende
|
|
||||||
de filtros; usar el helper cacheado.
|
|
||||||
3. El filtro (mes/sede/programa) debe operar sobre datos YA en memoria, no
|
|
||||||
re-descargar. Filtrar en memoria = milisegundos.
|
|
||||||
4. Precargar en segundo plano (hilo daemon al startup) el mes actual/anterior
|
|
||||||
para que el usuario no espere la 1a carga.
|
|
||||||
5. El refresco periódico (cada 15 min) invalida caché -> considerar bajar datos
|
|
||||||
que cambian 1 vez al día (ej. cartera) con menos frecuencia, o recargar en
|
|
||||||
background sin dejar hueco.
|
|
||||||
|
|
||||||
## Mejora opcional pendiente (no aplicada aún)
|
|
||||||
La 1a descarga de la cartera es lenta (100-155s) porque pagina de 1000 en 1000.
|
|
||||||
Subir el tamaño de lote (ej. limit=10000) reduce los viajes: de ~155s a ~10-15s.
|
|
||||||
Aplica a cualquier tabla grande que se baje paginada.
|
|
||||||
|
|
||||||
## Verificación (que no cambien números)
|
|
||||||
Antes de optimizar, guardar una "línea base" con los totales actuales
|
|
||||||
(diag_base.json). Tras optimizar, comparar: deben ser IDÉNTICOS. La optimización
|
|
||||||
solo cambia CUÁNDO/CÓMO se descarga, nunca el cálculo.
|
|
||||||
5
PRUEBAS_EXPORT/.env
Normal file
5
PRUEBAS_EXPORT/.env
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Credenciales del Supabase donde vive la tabla cartera_junta
|
||||||
|
# (proyecto uztqscimtsihrzgybsyb — service_role)
|
||||||
|
CARTERA_URL=https://uztqscimtsihrzgybsyb.supabase.co
|
||||||
|
CARTERA_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV6dHFzY2ltdHNpaHJ6Z3lic3liIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc2MTMyMzQ0MCwiZXhwIjoyMDc2ODk5NDQwfQ.pvqzwJ7fBxggNka3oga7SdhiADIgIVKGEuxGbzHQj0E
|
||||||
|
CARTERA_TABLA=cartera_junta
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
@echo off
|
|
||||||
REM Lanzador interno del BACKEND de LEADS
|
|
||||||
cd /d "%~dp0backend"
|
|
||||||
echo ====================================
|
|
||||||
echo LEADS - BACKEND (FastAPI) puerto 8001
|
|
||||||
echo Carpeta: %CD%
|
|
||||||
echo ====================================
|
|
||||||
py -3.12 main.py
|
|
||||||
echo.
|
|
||||||
echo (El backend termino o fallo. Revisa los mensajes de arriba.)
|
|
||||||
pause
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
@echo off
|
|
||||||
cd /d "%~dp0frontend"
|
|
||||||
echo ====================================
|
|
||||||
echo LEADS - FRONTEND (Vite) puerto 5174
|
|
||||||
echo Carpeta: %CD%
|
|
||||||
echo ====================================
|
|
||||||
if not exist "node_modules\.bin\vite.cmd" call npm install
|
|
||||||
echo Iniciando servidor de desarrollo...
|
|
||||||
call npm run dev
|
|
||||||
echo.
|
|
||||||
echo (npm run dev termino o fallo.)
|
|
||||||
pause
|
|
||||||
22
backend/.env
Normal file
22
backend/.env
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
PG_HOST=191.98.134.81
|
||||||
|
PG_DATABASE=chatwoot_production
|
||||||
|
PG_USER=postgres
|
||||||
|
PG_PASSWORD=2165$%sd3%DFG
|
||||||
|
PG_PORT=5432
|
||||||
|
SQL_SERVER=191.98.134.80
|
||||||
|
SQL_DATABASE=BDUS_CK000040_0001
|
||||||
|
SQL_USERNAME=ASEBASTIAN
|
||||||
|
SQL_PASSWORD=24MY36$z>&Uf
|
||||||
|
GITHUB_BASE=https://raw.githubusercontent.com/aron1798/prueba1/main/DASHBOARD_LEADS
|
||||||
|
SUPABASE_URL=https://ogzjtkxnfswpbmnbhnjd.supabase.co
|
||||||
|
SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9nemp0a3huZnN3cGJtbmJobmpkIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc3NjYzNDk4MywiZXhwIjoyMDkyMjEwOTgzfQ.D7XB6GIs8UvI97lcMdf6Y6-8ON2ENhh0DOaiMro2f9Y
|
||||||
|
SUPABASE_TABLA_LEADS=datos_unificados
|
||||||
|
SUPABASE_PAUTA_URL=https://uztqscimtsihrzgybsyb.supabase.co
|
||||||
|
SUPABASE_PAUTA_KEY=sb_publishable_aJCh5J6UghfKmSz6Swy4iA_orAqeHb7
|
||||||
|
SUPABASE_TABLA_PAUTA=basebi_programacion
|
||||||
|
CARTERA_URL=https://uztqscimtsihrzgybsyb.supabase.co
|
||||||
|
CARTERA_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV6dHFzY2ltdHNpaHJ6Z3lic3liIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc2MTMyMzQ0MCwiZXhwIjoyMDc2ODk5NDQwfQ.pvqzwJ7fBxggNka3oga7SdhiADIgIVKGEuxGbzHQj0E
|
||||||
|
SUPABASE_TABLA_CARTERA=cartera_junta
|
||||||
|
SUPABASE_TABLA_ALIAS=alias_normalizacion
|
||||||
|
SUPABASE_TABLA_CONJUNTO=conjunto_pauta
|
||||||
|
META_CSV_URL=https://docs.google.com/spreadsheets/d/e/2PACX-1vQa5BFEeF-p0-6-FuEXDXT4eb_ZK0fkYgLMxK_Ly3EJJPwQBsYDfNsSW09ppMNrH2LIiwVdAnC5q64C/pub?gid=1241390845&single=true&output=csv
|
||||||
BIN
backend/__pycache__/cache_manager.cpython-310.pyc
Normal file
BIN
backend/__pycache__/cache_manager.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/cache_manager.cpython-312.pyc
Normal file
BIN
backend/__pycache__/cache_manager.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/cache_manager.cpython-314.pyc
Normal file
BIN
backend/__pycache__/cache_manager.cpython-314.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/data_manager.cpython-310.pyc
Normal file
BIN
backend/__pycache__/data_manager.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/data_manager.cpython-312.pyc
Normal file
BIN
backend/__pycache__/data_manager.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/data_manager_v2.cpython-310.pyc
Normal file
BIN
backend/__pycache__/data_manager_v2.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/data_manager_v2.cpython-312.pyc
Normal file
BIN
backend/__pycache__/data_manager_v2.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/data_manager_v2.cpython-314.pyc
Normal file
BIN
backend/__pycache__/data_manager_v2.cpython-314.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/leads_logic.cpython-310.pyc
Normal file
BIN
backend/__pycache__/leads_logic.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/leads_logic.cpython-312.pyc
Normal file
BIN
backend/__pycache__/leads_logic.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/leads_logic.cpython-314.pyc
Normal file
BIN
backend/__pycache__/leads_logic.cpython-314.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/main.cpython-310.pyc
Normal file
BIN
backend/__pycache__/main.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/main.cpython-312.pyc
Normal file
BIN
backend/__pycache__/main.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/services.cpython-310.pyc
Normal file
BIN
backend/__pycache__/services.cpython-310.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/services.cpython-312.pyc
Normal file
BIN
backend/__pycache__/services.cpython-312.pyc
Normal file
Binary file not shown.
BIN
backend/__pycache__/services.cpython-314.pyc
Normal file
BIN
backend/__pycache__/services.cpython-314.pyc
Normal file
Binary file not shown.
6
frontend/.env
Normal file
6
frontend/.env
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# URL del backend (API FastAPI).
|
||||||
|
# En desarrollo local:
|
||||||
|
VITE_API_URL=http://localhost:8001
|
||||||
|
|
||||||
|
# En producción (EasyPanel) cambia esto por el dominio de tu API, por ejemplo:
|
||||||
|
# VITE_API_URL=https://api.tudominio.com
|
||||||
16
frontend/node_modules/.bin/baseline-browser-mapping
generated
vendored
Normal file
16
frontend/node_modules/.bin/baseline-browser-mapping
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/baseline-browser-mapping.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/baseline-browser-mapping.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\baseline-browser-mapping\dist\cli.cjs" %*
|
||||||
28
frontend/node_modules/.bin/baseline-browser-mapping.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/baseline-browser-mapping.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/browserslist
generated
vendored
Normal file
16
frontend/node_modules/.bin/browserslist
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../browserslist/cli.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/browserslist.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/browserslist.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\browserslist\cli.js" %*
|
||||||
28
frontend/node_modules/.bin/browserslist.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/browserslist.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/esbuild
generated
vendored
Normal file
16
frontend/node_modules/.bin/esbuild
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../esbuild/bin/esbuild" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/esbuild.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/esbuild.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
|
||||||
28
frontend/node_modules/.bin/esbuild.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/esbuild.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/jsesc
generated
vendored
Normal file
16
frontend/node_modules/.bin/jsesc
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../jsesc/bin/jsesc" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/jsesc.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/jsesc.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jsesc\bin\jsesc" %*
|
||||||
28
frontend/node_modules/.bin/jsesc.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/jsesc.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/json5
generated
vendored
Normal file
16
frontend/node_modules/.bin/json5
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../json5/lib/cli.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/json5.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/json5.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %*
|
||||||
28
frontend/node_modules/.bin/json5.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/json5.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/loose-envify
generated
vendored
Normal file
16
frontend/node_modules/.bin/loose-envify
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../loose-envify/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../loose-envify/cli.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/loose-envify.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/loose-envify.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\loose-envify\cli.js" %*
|
||||||
28
frontend/node_modules/.bin/loose-envify.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/loose-envify.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../loose-envify/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../loose-envify/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../loose-envify/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/nanoid
generated
vendored
Normal file
16
frontend/node_modules/.bin/nanoid
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/nanoid.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/nanoid.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %*
|
||||||
28
frontend/node_modules/.bin/nanoid.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/nanoid.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/parser
generated
vendored
Normal file
16
frontend/node_modules/.bin/parser
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/parser.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/parser.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@babel\parser\bin\babel-parser.js" %*
|
||||||
28
frontend/node_modules/.bin/parser.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/parser.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/rollup
generated
vendored
Normal file
16
frontend/node_modules/.bin/rollup
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/rollup.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/rollup.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %*
|
||||||
28
frontend/node_modules/.bin/rollup.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/rollup.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../rollup/dist/bin/rollup" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../rollup/dist/bin/rollup" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../rollup/dist/bin/rollup" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/semver
generated
vendored
Normal file
16
frontend/node_modules/.bin/semver
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../semver/bin/semver.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/semver.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/semver.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %*
|
||||||
28
frontend/node_modules/.bin/semver.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/semver.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/update-browserslist-db
generated
vendored
Normal file
16
frontend/node_modules/.bin/update-browserslist-db
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../update-browserslist-db/cli.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/update-browserslist-db.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/update-browserslist-db.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\update-browserslist-db\cli.js" %*
|
||||||
28
frontend/node_modules/.bin/update-browserslist-db.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/update-browserslist-db.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
16
frontend/node_modules/.bin/vite
generated
vendored
Normal file
16
frontend/node_modules/.bin/vite
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../vite/bin/vite.js" "$@"
|
||||||
|
fi
|
||||||
17
frontend/node_modules/.bin/vite.cmd
generated
vendored
Normal file
17
frontend/node_modules/.bin/vite.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vite\bin\vite.js" %*
|
||||||
28
frontend/node_modules/.bin/vite.ps1
generated
vendored
Normal file
28
frontend/node_modules/.bin/vite.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
1335
frontend/node_modules/.package-lock.json
generated
vendored
Normal file
1335
frontend/node_modules/.package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
52
frontend/node_modules/.vite/deps/_metadata.json
generated
vendored
Normal file
52
frontend/node_modules/.vite/deps/_metadata.json
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"hash": "16ee03bb",
|
||||||
|
"configHash": "89673ad4",
|
||||||
|
"lockfileHash": "47a29f1f",
|
||||||
|
"browserHash": "0f612ef1",
|
||||||
|
"optimized": {
|
||||||
|
"react": {
|
||||||
|
"src": "../../react/index.js",
|
||||||
|
"file": "react.js",
|
||||||
|
"fileHash": "ffc66f80",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react-dom": {
|
||||||
|
"src": "../../react-dom/index.js",
|
||||||
|
"file": "react-dom.js",
|
||||||
|
"fileHash": "c255ff3e",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react/jsx-dev-runtime": {
|
||||||
|
"src": "../../react/jsx-dev-runtime.js",
|
||||||
|
"file": "react_jsx-dev-runtime.js",
|
||||||
|
"fileHash": "8db8565b",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react/jsx-runtime": {
|
||||||
|
"src": "../../react/jsx-runtime.js",
|
||||||
|
"file": "react_jsx-runtime.js",
|
||||||
|
"fileHash": "b9814c23",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react-dom/client": {
|
||||||
|
"src": "../../react-dom/client.js",
|
||||||
|
"file": "react-dom_client.js",
|
||||||
|
"fileHash": "99bc8901",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"recharts": {
|
||||||
|
"src": "../../recharts/es6/index.js",
|
||||||
|
"file": "recharts.js",
|
||||||
|
"fileHash": "d4a01c6f",
|
||||||
|
"needsInterop": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chunks": {
|
||||||
|
"chunk-BCXODTBQ": {
|
||||||
|
"file": "chunk-BCXODTBQ.js"
|
||||||
|
},
|
||||||
|
"chunk-2YIMICFJ": {
|
||||||
|
"file": "chunk-2YIMICFJ.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1935
frontend/node_modules/.vite/deps/chunk-2YIMICFJ.js
generated
vendored
Normal file
1935
frontend/node_modules/.vite/deps/chunk-2YIMICFJ.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
frontend/node_modules/.vite/deps/chunk-2YIMICFJ.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/chunk-2YIMICFJ.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
21626
frontend/node_modules/.vite/deps/chunk-BCXODTBQ.js
generated
vendored
Normal file
21626
frontend/node_modules/.vite/deps/chunk-BCXODTBQ.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
frontend/node_modules/.vite/deps/chunk-BCXODTBQ.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/chunk-BCXODTBQ.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
frontend/node_modules/.vite/deps/package.json
generated
vendored
Normal file
3
frontend/node_modules/.vite/deps/package.json
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
||||||
6
frontend/node_modules/.vite/deps/react-dom.js
generated
vendored
Normal file
6
frontend/node_modules/.vite/deps/react-dom.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import {
|
||||||
|
require_react_dom
|
||||||
|
} from "./chunk-BCXODTBQ.js";
|
||||||
|
import "./chunk-2YIMICFJ.js";
|
||||||
|
export default require_react_dom();
|
||||||
|
//# sourceMappingURL=react-dom.js.map
|
||||||
7
frontend/node_modules/.vite/deps/react-dom.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/react-dom.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
||||||
38
frontend/node_modules/.vite/deps/react-dom_client.js
generated
vendored
Normal file
38
frontend/node_modules/.vite/deps/react-dom_client.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import {
|
||||||
|
require_react_dom
|
||||||
|
} from "./chunk-BCXODTBQ.js";
|
||||||
|
import {
|
||||||
|
__commonJS
|
||||||
|
} from "./chunk-2YIMICFJ.js";
|
||||||
|
|
||||||
|
// node_modules/react-dom/client.js
|
||||||
|
var require_client = __commonJS({
|
||||||
|
"node_modules/react-dom/client.js"(exports) {
|
||||||
|
var m = require_react_dom();
|
||||||
|
if (false) {
|
||||||
|
exports.createRoot = m.createRoot;
|
||||||
|
exports.hydrateRoot = m.hydrateRoot;
|
||||||
|
} else {
|
||||||
|
i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||||
|
exports.createRoot = function(c, o) {
|
||||||
|
i.usingClientEntryPoint = true;
|
||||||
|
try {
|
||||||
|
return m.createRoot(c, o);
|
||||||
|
} finally {
|
||||||
|
i.usingClientEntryPoint = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.hydrateRoot = function(c, h, o) {
|
||||||
|
i.usingClientEntryPoint = true;
|
||||||
|
try {
|
||||||
|
return m.hydrateRoot(c, h, o);
|
||||||
|
} finally {
|
||||||
|
i.usingClientEntryPoint = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var i;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export default require_client();
|
||||||
|
//# sourceMappingURL=react-dom_client.js.map
|
||||||
7
frontend/node_modules/.vite/deps/react-dom_client.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/react-dom_client.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../react-dom/client.js"],
|
||||||
|
"sourcesContent": ["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],
|
||||||
|
"mappings": ";;;;;;;;AAAA;AAAA;AAEA,QAAI,IAAI;AACR,QAAI,OAAuC;AACzC,cAAQ,aAAa,EAAE;AACvB,cAAQ,cAAc,EAAE;AAAA,IAC1B,OAAO;AACD,UAAI,EAAE;AACV,cAAQ,aAAa,SAAS,GAAG,GAAG;AAClC,UAAE,wBAAwB;AAC1B,YAAI;AACF,iBAAO,EAAE,WAAW,GAAG,CAAC;AAAA,QAC1B,UAAE;AACA,YAAE,wBAAwB;AAAA,QAC5B;AAAA,MACF;AACA,cAAQ,cAAc,SAAS,GAAG,GAAG,GAAG;AACtC,UAAE,wBAAwB;AAC1B,YAAI;AACF,iBAAO,EAAE,YAAY,GAAG,GAAG,CAAC;AAAA,QAC9B,UAAE;AACA,YAAE,wBAAwB;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAjBM;AAAA;AAAA;",
|
||||||
|
"names": []
|
||||||
|
}
|
||||||
5
frontend/node_modules/.vite/deps/react.js
generated
vendored
Normal file
5
frontend/node_modules/.vite/deps/react.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import {
|
||||||
|
require_react
|
||||||
|
} from "./chunk-2YIMICFJ.js";
|
||||||
|
export default require_react();
|
||||||
|
//# sourceMappingURL=react.js.map
|
||||||
7
frontend/node_modules/.vite/deps/react.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/react.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
||||||
911
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js
generated
vendored
Normal file
911
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js
generated
vendored
Normal file
@@ -0,0 +1,911 @@
|
|||||||
|
import {
|
||||||
|
__commonJS,
|
||||||
|
require_react
|
||||||
|
} from "./chunk-2YIMICFJ.js";
|
||||||
|
|
||||||
|
// node_modules/react/cjs/react-jsx-dev-runtime.development.js
|
||||||
|
var require_react_jsx_dev_runtime_development = __commonJS({
|
||||||
|
"node_modules/react/cjs/react-jsx-dev-runtime.development.js"(exports) {
|
||||||
|
"use strict";
|
||||||
|
if (true) {
|
||||||
|
(function() {
|
||||||
|
"use strict";
|
||||||
|
var React = require_react();
|
||||||
|
var REACT_ELEMENT_TYPE = Symbol.for("react.element");
|
||||||
|
var REACT_PORTAL_TYPE = Symbol.for("react.portal");
|
||||||
|
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
||||||
|
var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
|
||||||
|
var REACT_PROFILER_TYPE = Symbol.for("react.profiler");
|
||||||
|
var REACT_PROVIDER_TYPE = Symbol.for("react.provider");
|
||||||
|
var REACT_CONTEXT_TYPE = Symbol.for("react.context");
|
||||||
|
var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref");
|
||||||
|
var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense");
|
||||||
|
var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list");
|
||||||
|
var REACT_MEMO_TYPE = Symbol.for("react.memo");
|
||||||
|
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
||||||
|
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||||
|
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||||
|
var FAUX_ITERATOR_SYMBOL = "@@iterator";
|
||||||
|
function getIteratorFn(maybeIterable) {
|
||||||
|
if (maybeIterable === null || typeof maybeIterable !== "object") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
||||||
|
if (typeof maybeIterator === "function") {
|
||||||
|
return maybeIterator;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||||
|
function error(format) {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
||||||
|
args[_key2 - 1] = arguments[_key2];
|
||||||
|
}
|
||||||
|
printWarning("error", format, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function printWarning(level, format, args) {
|
||||||
|
{
|
||||||
|
var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
var stack = ReactDebugCurrentFrame2.getStackAddendum();
|
||||||
|
if (stack !== "") {
|
||||||
|
format += "%s";
|
||||||
|
args = args.concat([stack]);
|
||||||
|
}
|
||||||
|
var argsWithFormat = args.map(function(item) {
|
||||||
|
return String(item);
|
||||||
|
});
|
||||||
|
argsWithFormat.unshift("Warning: " + format);
|
||||||
|
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var enableScopeAPI = false;
|
||||||
|
var enableCacheElement = false;
|
||||||
|
var enableTransitionTracing = false;
|
||||||
|
var enableLegacyHidden = false;
|
||||||
|
var enableDebugTracing = false;
|
||||||
|
var REACT_MODULE_REFERENCE;
|
||||||
|
{
|
||||||
|
REACT_MODULE_REFERENCE = Symbol.for("react.module.reference");
|
||||||
|
}
|
||||||
|
function isValidElementType(type) {
|
||||||
|
if (typeof type === "string" || typeof type === "function") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (typeof type === "object" && type !== null) {
|
||||||
|
if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
|
||||||
|
// types supported by any Flight configuration anywhere since
|
||||||
|
// we don't know which Flight build this will end up being used
|
||||||
|
// with.
|
||||||
|
type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
function getWrappedName(outerType, innerType, wrapperName) {
|
||||||
|
var displayName = outerType.displayName;
|
||||||
|
if (displayName) {
|
||||||
|
return displayName;
|
||||||
|
}
|
||||||
|
var functionName = innerType.displayName || innerType.name || "";
|
||||||
|
return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName;
|
||||||
|
}
|
||||||
|
function getContextName(type) {
|
||||||
|
return type.displayName || "Context";
|
||||||
|
}
|
||||||
|
function getComponentNameFromType(type) {
|
||||||
|
if (type == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (typeof type.tag === "number") {
|
||||||
|
error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof type === "function") {
|
||||||
|
return type.displayName || type.name || null;
|
||||||
|
}
|
||||||
|
if (typeof type === "string") {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case REACT_FRAGMENT_TYPE:
|
||||||
|
return "Fragment";
|
||||||
|
case REACT_PORTAL_TYPE:
|
||||||
|
return "Portal";
|
||||||
|
case REACT_PROFILER_TYPE:
|
||||||
|
return "Profiler";
|
||||||
|
case REACT_STRICT_MODE_TYPE:
|
||||||
|
return "StrictMode";
|
||||||
|
case REACT_SUSPENSE_TYPE:
|
||||||
|
return "Suspense";
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE:
|
||||||
|
return "SuspenseList";
|
||||||
|
}
|
||||||
|
if (typeof type === "object") {
|
||||||
|
switch (type.$$typeof) {
|
||||||
|
case REACT_CONTEXT_TYPE:
|
||||||
|
var context = type;
|
||||||
|
return getContextName(context) + ".Consumer";
|
||||||
|
case REACT_PROVIDER_TYPE:
|
||||||
|
var provider = type;
|
||||||
|
return getContextName(provider._context) + ".Provider";
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
return getWrappedName(type, type.render, "ForwardRef");
|
||||||
|
case REACT_MEMO_TYPE:
|
||||||
|
var outerName = type.displayName || null;
|
||||||
|
if (outerName !== null) {
|
||||||
|
return outerName;
|
||||||
|
}
|
||||||
|
return getComponentNameFromType(type.type) || "Memo";
|
||||||
|
case REACT_LAZY_TYPE: {
|
||||||
|
var lazyComponent = type;
|
||||||
|
var payload = lazyComponent._payload;
|
||||||
|
var init = lazyComponent._init;
|
||||||
|
try {
|
||||||
|
return getComponentNameFromType(init(payload));
|
||||||
|
} catch (x) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var assign = Object.assign;
|
||||||
|
var disabledDepth = 0;
|
||||||
|
var prevLog;
|
||||||
|
var prevInfo;
|
||||||
|
var prevWarn;
|
||||||
|
var prevError;
|
||||||
|
var prevGroup;
|
||||||
|
var prevGroupCollapsed;
|
||||||
|
var prevGroupEnd;
|
||||||
|
function disabledLog() {
|
||||||
|
}
|
||||||
|
disabledLog.__reactDisabledLog = true;
|
||||||
|
function disableLogs() {
|
||||||
|
{
|
||||||
|
if (disabledDepth === 0) {
|
||||||
|
prevLog = console.log;
|
||||||
|
prevInfo = console.info;
|
||||||
|
prevWarn = console.warn;
|
||||||
|
prevError = console.error;
|
||||||
|
prevGroup = console.group;
|
||||||
|
prevGroupCollapsed = console.groupCollapsed;
|
||||||
|
prevGroupEnd = console.groupEnd;
|
||||||
|
var props = {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
value: disabledLog,
|
||||||
|
writable: true
|
||||||
|
};
|
||||||
|
Object.defineProperties(console, {
|
||||||
|
info: props,
|
||||||
|
log: props,
|
||||||
|
warn: props,
|
||||||
|
error: props,
|
||||||
|
group: props,
|
||||||
|
groupCollapsed: props,
|
||||||
|
groupEnd: props
|
||||||
|
});
|
||||||
|
}
|
||||||
|
disabledDepth++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function reenableLogs() {
|
||||||
|
{
|
||||||
|
disabledDepth--;
|
||||||
|
if (disabledDepth === 0) {
|
||||||
|
var props = {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
writable: true
|
||||||
|
};
|
||||||
|
Object.defineProperties(console, {
|
||||||
|
log: assign({}, props, {
|
||||||
|
value: prevLog
|
||||||
|
}),
|
||||||
|
info: assign({}, props, {
|
||||||
|
value: prevInfo
|
||||||
|
}),
|
||||||
|
warn: assign({}, props, {
|
||||||
|
value: prevWarn
|
||||||
|
}),
|
||||||
|
error: assign({}, props, {
|
||||||
|
value: prevError
|
||||||
|
}),
|
||||||
|
group: assign({}, props, {
|
||||||
|
value: prevGroup
|
||||||
|
}),
|
||||||
|
groupCollapsed: assign({}, props, {
|
||||||
|
value: prevGroupCollapsed
|
||||||
|
}),
|
||||||
|
groupEnd: assign({}, props, {
|
||||||
|
value: prevGroupEnd
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (disabledDepth < 0) {
|
||||||
|
error("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
||||||
|
var prefix;
|
||||||
|
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
||||||
|
{
|
||||||
|
if (prefix === void 0) {
|
||||||
|
try {
|
||||||
|
throw Error();
|
||||||
|
} catch (x) {
|
||||||
|
var match = x.stack.trim().match(/\n( *(at )?)/);
|
||||||
|
prefix = match && match[1] || "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "\n" + prefix + name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var reentry = false;
|
||||||
|
var componentFrameCache;
|
||||||
|
{
|
||||||
|
var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map;
|
||||||
|
componentFrameCache = new PossiblyWeakMap();
|
||||||
|
}
|
||||||
|
function describeNativeComponentFrame(fn, construct) {
|
||||||
|
if (!fn || reentry) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
var frame = componentFrameCache.get(fn);
|
||||||
|
if (frame !== void 0) {
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var control;
|
||||||
|
reentry = true;
|
||||||
|
var previousPrepareStackTrace = Error.prepareStackTrace;
|
||||||
|
Error.prepareStackTrace = void 0;
|
||||||
|
var previousDispatcher;
|
||||||
|
{
|
||||||
|
previousDispatcher = ReactCurrentDispatcher.current;
|
||||||
|
ReactCurrentDispatcher.current = null;
|
||||||
|
disableLogs();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (construct) {
|
||||||
|
var Fake = function() {
|
||||||
|
throw Error();
|
||||||
|
};
|
||||||
|
Object.defineProperty(Fake.prototype, "props", {
|
||||||
|
set: function() {
|
||||||
|
throw Error();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (typeof Reflect === "object" && Reflect.construct) {
|
||||||
|
try {
|
||||||
|
Reflect.construct(Fake, []);
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
Reflect.construct(fn, [], Fake);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Fake.call();
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
fn.call(Fake.prototype);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
throw Error();
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
fn();
|
||||||
|
}
|
||||||
|
} catch (sample) {
|
||||||
|
if (sample && control && typeof sample.stack === "string") {
|
||||||
|
var sampleLines = sample.stack.split("\n");
|
||||||
|
var controlLines = control.stack.split("\n");
|
||||||
|
var s = sampleLines.length - 1;
|
||||||
|
var c = controlLines.length - 1;
|
||||||
|
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
||||||
|
c--;
|
||||||
|
}
|
||||||
|
for (; s >= 1 && c >= 0; s--, c--) {
|
||||||
|
if (sampleLines[s] !== controlLines[c]) {
|
||||||
|
if (s !== 1 || c !== 1) {
|
||||||
|
do {
|
||||||
|
s--;
|
||||||
|
c--;
|
||||||
|
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
||||||
|
var _frame = "\n" + sampleLines[s].replace(" at new ", " at ");
|
||||||
|
if (fn.displayName && _frame.includes("<anonymous>")) {
|
||||||
|
_frame = _frame.replace("<anonymous>", fn.displayName);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (typeof fn === "function") {
|
||||||
|
componentFrameCache.set(fn, _frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _frame;
|
||||||
|
}
|
||||||
|
} while (s >= 1 && c >= 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
reentry = false;
|
||||||
|
{
|
||||||
|
ReactCurrentDispatcher.current = previousDispatcher;
|
||||||
|
reenableLogs();
|
||||||
|
}
|
||||||
|
Error.prepareStackTrace = previousPrepareStackTrace;
|
||||||
|
}
|
||||||
|
var name = fn ? fn.displayName || fn.name : "";
|
||||||
|
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : "";
|
||||||
|
{
|
||||||
|
if (typeof fn === "function") {
|
||||||
|
componentFrameCache.set(fn, syntheticFrame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return syntheticFrame;
|
||||||
|
}
|
||||||
|
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
||||||
|
{
|
||||||
|
return describeNativeComponentFrame(fn, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function shouldConstruct(Component) {
|
||||||
|
var prototype = Component.prototype;
|
||||||
|
return !!(prototype && prototype.isReactComponent);
|
||||||
|
}
|
||||||
|
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
||||||
|
if (type == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (typeof type === "function") {
|
||||||
|
{
|
||||||
|
return describeNativeComponentFrame(type, shouldConstruct(type));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof type === "string") {
|
||||||
|
return describeBuiltInComponentFrame(type);
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case REACT_SUSPENSE_TYPE:
|
||||||
|
return describeBuiltInComponentFrame("Suspense");
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE:
|
||||||
|
return describeBuiltInComponentFrame("SuspenseList");
|
||||||
|
}
|
||||||
|
if (typeof type === "object") {
|
||||||
|
switch (type.$$typeof) {
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
return describeFunctionComponentFrame(type.render);
|
||||||
|
case REACT_MEMO_TYPE:
|
||||||
|
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
||||||
|
case REACT_LAZY_TYPE: {
|
||||||
|
var lazyComponent = type;
|
||||||
|
var payload = lazyComponent._payload;
|
||||||
|
var init = lazyComponent._init;
|
||||||
|
try {
|
||||||
|
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
||||||
|
} catch (x) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||||
|
var loggedTypeFailures = {};
|
||||||
|
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
function setCurrentlyValidatingElement(element) {
|
||||||
|
{
|
||||||
|
if (element) {
|
||||||
|
var owner = element._owner;
|
||||||
|
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||||
|
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
||||||
|
} else {
|
||||||
|
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
||||||
|
{
|
||||||
|
var has = Function.call.bind(hasOwnProperty);
|
||||||
|
for (var typeSpecName in typeSpecs) {
|
||||||
|
if (has(typeSpecs, typeSpecName)) {
|
||||||
|
var error$1 = void 0;
|
||||||
|
try {
|
||||||
|
if (typeof typeSpecs[typeSpecName] !== "function") {
|
||||||
|
var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
||||||
|
err.name = "Invariant Violation";
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
||||||
|
} catch (ex) {
|
||||||
|
error$1 = ex;
|
||||||
|
}
|
||||||
|
if (error$1 && !(error$1 instanceof Error)) {
|
||||||
|
setCurrentlyValidatingElement(element);
|
||||||
|
error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1);
|
||||||
|
setCurrentlyValidatingElement(null);
|
||||||
|
}
|
||||||
|
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
||||||
|
loggedTypeFailures[error$1.message] = true;
|
||||||
|
setCurrentlyValidatingElement(element);
|
||||||
|
error("Failed %s type: %s", location, error$1.message);
|
||||||
|
setCurrentlyValidatingElement(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var isArrayImpl = Array.isArray;
|
||||||
|
function isArray(a) {
|
||||||
|
return isArrayImpl(a);
|
||||||
|
}
|
||||||
|
function typeName(value) {
|
||||||
|
{
|
||||||
|
var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag;
|
||||||
|
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function willCoercionThrow(value) {
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
testStringCoercion(value);
|
||||||
|
return false;
|
||||||
|
} catch (e) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function checkKeyStringCoercion(value) {
|
||||||
|
{
|
||||||
|
if (willCoercionThrow(value)) {
|
||||||
|
error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value));
|
||||||
|
return testStringCoercion(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
|
||||||
|
var RESERVED_PROPS = {
|
||||||
|
key: true,
|
||||||
|
ref: true,
|
||||||
|
__self: true,
|
||||||
|
__source: true
|
||||||
|
};
|
||||||
|
var specialPropKeyWarningShown;
|
||||||
|
var specialPropRefWarningShown;
|
||||||
|
var didWarnAboutStringRefs;
|
||||||
|
{
|
||||||
|
didWarnAboutStringRefs = {};
|
||||||
|
}
|
||||||
|
function hasValidRef(config) {
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(config, "ref")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "ref").get;
|
||||||
|
if (getter && getter.isReactWarning) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config.ref !== void 0;
|
||||||
|
}
|
||||||
|
function hasValidKey(config) {
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||||
|
if (getter && getter.isReactWarning) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config.key !== void 0;
|
||||||
|
}
|
||||||
|
function warnIfStringRefCannotBeAutoConverted(config, self) {
|
||||||
|
{
|
||||||
|
if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
|
||||||
|
var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
|
||||||
|
if (!didWarnAboutStringRefs[componentName]) {
|
||||||
|
error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
|
||||||
|
didWarnAboutStringRefs[componentName] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function defineKeyPropWarningGetter(props, displayName) {
|
||||||
|
{
|
||||||
|
var warnAboutAccessingKey = function() {
|
||||||
|
if (!specialPropKeyWarningShown) {
|
||||||
|
specialPropKeyWarningShown = true;
|
||||||
|
error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
warnAboutAccessingKey.isReactWarning = true;
|
||||||
|
Object.defineProperty(props, "key", {
|
||||||
|
get: warnAboutAccessingKey,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function defineRefPropWarningGetter(props, displayName) {
|
||||||
|
{
|
||||||
|
var warnAboutAccessingRef = function() {
|
||||||
|
if (!specialPropRefWarningShown) {
|
||||||
|
specialPropRefWarningShown = true;
|
||||||
|
error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
warnAboutAccessingRef.isReactWarning = true;
|
||||||
|
Object.defineProperty(props, "ref", {
|
||||||
|
get: warnAboutAccessingRef,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactElement = function(type, key, ref, self, source, owner, props) {
|
||||||
|
var element = {
|
||||||
|
// This tag allows us to uniquely identify this as a React Element
|
||||||
|
$$typeof: REACT_ELEMENT_TYPE,
|
||||||
|
// Built-in properties that belong on the element
|
||||||
|
type,
|
||||||
|
key,
|
||||||
|
ref,
|
||||||
|
props,
|
||||||
|
// Record the component responsible for creating this element.
|
||||||
|
_owner: owner
|
||||||
|
};
|
||||||
|
{
|
||||||
|
element._store = {};
|
||||||
|
Object.defineProperty(element._store, "validated", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: true,
|
||||||
|
value: false
|
||||||
|
});
|
||||||
|
Object.defineProperty(element, "_self", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: false,
|
||||||
|
value: self
|
||||||
|
});
|
||||||
|
Object.defineProperty(element, "_source", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: false,
|
||||||
|
value: source
|
||||||
|
});
|
||||||
|
if (Object.freeze) {
|
||||||
|
Object.freeze(element.props);
|
||||||
|
Object.freeze(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return element;
|
||||||
|
};
|
||||||
|
function jsxDEV(type, config, maybeKey, source, self) {
|
||||||
|
{
|
||||||
|
var propName;
|
||||||
|
var props = {};
|
||||||
|
var key = null;
|
||||||
|
var ref = null;
|
||||||
|
if (maybeKey !== void 0) {
|
||||||
|
{
|
||||||
|
checkKeyStringCoercion(maybeKey);
|
||||||
|
}
|
||||||
|
key = "" + maybeKey;
|
||||||
|
}
|
||||||
|
if (hasValidKey(config)) {
|
||||||
|
{
|
||||||
|
checkKeyStringCoercion(config.key);
|
||||||
|
}
|
||||||
|
key = "" + config.key;
|
||||||
|
}
|
||||||
|
if (hasValidRef(config)) {
|
||||||
|
ref = config.ref;
|
||||||
|
warnIfStringRefCannotBeAutoConverted(config, self);
|
||||||
|
}
|
||||||
|
for (propName in config) {
|
||||||
|
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
||||||
|
props[propName] = config[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type && type.defaultProps) {
|
||||||
|
var defaultProps = type.defaultProps;
|
||||||
|
for (propName in defaultProps) {
|
||||||
|
if (props[propName] === void 0) {
|
||||||
|
props[propName] = defaultProps[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (key || ref) {
|
||||||
|
var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type;
|
||||||
|
if (key) {
|
||||||
|
defineKeyPropWarningGetter(props, displayName);
|
||||||
|
}
|
||||||
|
if (ref) {
|
||||||
|
defineRefPropWarningGetter(props, displayName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
||||||
|
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
function setCurrentlyValidatingElement$1(element) {
|
||||||
|
{
|
||||||
|
if (element) {
|
||||||
|
var owner = element._owner;
|
||||||
|
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||||
|
ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
|
||||||
|
} else {
|
||||||
|
ReactDebugCurrentFrame$1.setExtraStackFrame(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var propTypesMisspellWarningShown;
|
||||||
|
{
|
||||||
|
propTypesMisspellWarningShown = false;
|
||||||
|
}
|
||||||
|
function isValidElement(object) {
|
||||||
|
{
|
||||||
|
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getDeclarationErrorAddendum() {
|
||||||
|
{
|
||||||
|
if (ReactCurrentOwner$1.current) {
|
||||||
|
var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
|
||||||
|
if (name) {
|
||||||
|
return "\n\nCheck the render method of `" + name + "`.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getSourceInfoErrorAddendum(source) {
|
||||||
|
{
|
||||||
|
if (source !== void 0) {
|
||||||
|
var fileName = source.fileName.replace(/^.*[\\\/]/, "");
|
||||||
|
var lineNumber = source.lineNumber;
|
||||||
|
return "\n\nCheck your code at " + fileName + ":" + lineNumber + ".";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ownerHasKeyUseWarning = {};
|
||||||
|
function getCurrentComponentErrorInfo(parentType) {
|
||||||
|
{
|
||||||
|
var info = getDeclarationErrorAddendum();
|
||||||
|
if (!info) {
|
||||||
|
var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name;
|
||||||
|
if (parentName) {
|
||||||
|
info = "\n\nCheck the top-level render call using <" + parentName + ">.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateExplicitKey(element, parentType) {
|
||||||
|
{
|
||||||
|
if (!element._store || element._store.validated || element.key != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
element._store.validated = true;
|
||||||
|
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
||||||
|
if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
|
||||||
|
var childOwner = "";
|
||||||
|
if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
|
||||||
|
childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
|
||||||
|
}
|
||||||
|
setCurrentlyValidatingElement$1(element);
|
||||||
|
error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateChildKeys(node, parentType) {
|
||||||
|
{
|
||||||
|
if (typeof node !== "object") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (isArray(node)) {
|
||||||
|
for (var i = 0; i < node.length; i++) {
|
||||||
|
var child = node[i];
|
||||||
|
if (isValidElement(child)) {
|
||||||
|
validateExplicitKey(child, parentType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (isValidElement(node)) {
|
||||||
|
if (node._store) {
|
||||||
|
node._store.validated = true;
|
||||||
|
}
|
||||||
|
} else if (node) {
|
||||||
|
var iteratorFn = getIteratorFn(node);
|
||||||
|
if (typeof iteratorFn === "function") {
|
||||||
|
if (iteratorFn !== node.entries) {
|
||||||
|
var iterator = iteratorFn.call(node);
|
||||||
|
var step;
|
||||||
|
while (!(step = iterator.next()).done) {
|
||||||
|
if (isValidElement(step.value)) {
|
||||||
|
validateExplicitKey(step.value, parentType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validatePropTypes(element) {
|
||||||
|
{
|
||||||
|
var type = element.type;
|
||||||
|
if (type === null || type === void 0 || typeof type === "string") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var propTypes;
|
||||||
|
if (typeof type === "function") {
|
||||||
|
propTypes = type.propTypes;
|
||||||
|
} else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
|
||||||
|
// Inner props are checked in the reconciler.
|
||||||
|
type.$$typeof === REACT_MEMO_TYPE)) {
|
||||||
|
propTypes = type.propTypes;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (propTypes) {
|
||||||
|
var name = getComponentNameFromType(type);
|
||||||
|
checkPropTypes(propTypes, element.props, "prop", name, element);
|
||||||
|
} else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) {
|
||||||
|
propTypesMisspellWarningShown = true;
|
||||||
|
var _name = getComponentNameFromType(type);
|
||||||
|
error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown");
|
||||||
|
}
|
||||||
|
if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) {
|
||||||
|
error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateFragmentProps(fragment) {
|
||||||
|
{
|
||||||
|
var keys = Object.keys(fragment.props);
|
||||||
|
for (var i = 0; i < keys.length; i++) {
|
||||||
|
var key = keys[i];
|
||||||
|
if (key !== "children" && key !== "key") {
|
||||||
|
setCurrentlyValidatingElement$1(fragment);
|
||||||
|
error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key);
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fragment.ref !== null) {
|
||||||
|
setCurrentlyValidatingElement$1(fragment);
|
||||||
|
error("Invalid attribute `ref` supplied to `React.Fragment`.");
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var didWarnAboutKeySpread = {};
|
||||||
|
function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
|
||||||
|
{
|
||||||
|
var validType = isValidElementType(type);
|
||||||
|
if (!validType) {
|
||||||
|
var info = "";
|
||||||
|
if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) {
|
||||||
|
info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
|
||||||
|
}
|
||||||
|
var sourceInfo = getSourceInfoErrorAddendum(source);
|
||||||
|
if (sourceInfo) {
|
||||||
|
info += sourceInfo;
|
||||||
|
} else {
|
||||||
|
info += getDeclarationErrorAddendum();
|
||||||
|
}
|
||||||
|
var typeString;
|
||||||
|
if (type === null) {
|
||||||
|
typeString = "null";
|
||||||
|
} else if (isArray(type)) {
|
||||||
|
typeString = "array";
|
||||||
|
} else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) {
|
||||||
|
typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />";
|
||||||
|
info = " Did you accidentally export a JSX literal instead of a component?";
|
||||||
|
} else {
|
||||||
|
typeString = typeof type;
|
||||||
|
}
|
||||||
|
error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||||
|
}
|
||||||
|
var element = jsxDEV(type, props, key, source, self);
|
||||||
|
if (element == null) {
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
if (validType) {
|
||||||
|
var children = props.children;
|
||||||
|
if (children !== void 0) {
|
||||||
|
if (isStaticChildren) {
|
||||||
|
if (isArray(children)) {
|
||||||
|
for (var i = 0; i < children.length; i++) {
|
||||||
|
validateChildKeys(children[i], type);
|
||||||
|
}
|
||||||
|
if (Object.freeze) {
|
||||||
|
Object.freeze(children);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
validateChildKeys(children, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(props, "key")) {
|
||||||
|
var componentName = getComponentNameFromType(type);
|
||||||
|
var keys = Object.keys(props).filter(function(k) {
|
||||||
|
return k !== "key";
|
||||||
|
});
|
||||||
|
var beforeExample = keys.length > 0 ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||||
|
if (!didWarnAboutKeySpread[componentName + beforeExample]) {
|
||||||
|
var afterExample = keys.length > 0 ? "{" + keys.join(": ..., ") + ": ...}" : "{}";
|
||||||
|
error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
|
||||||
|
didWarnAboutKeySpread[componentName + beforeExample] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type === REACT_FRAGMENT_TYPE) {
|
||||||
|
validateFragmentProps(element);
|
||||||
|
} else {
|
||||||
|
validatePropTypes(element);
|
||||||
|
}
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var jsxDEV$1 = jsxWithValidation;
|
||||||
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||||
|
exports.jsxDEV = jsxDEV$1;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// node_modules/react/jsx-dev-runtime.js
|
||||||
|
var require_jsx_dev_runtime = __commonJS({
|
||||||
|
"node_modules/react/jsx-dev-runtime.js"(exports, module) {
|
||||||
|
if (false) {
|
||||||
|
module.exports = null;
|
||||||
|
} else {
|
||||||
|
module.exports = require_react_jsx_dev_runtime_development();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export default require_jsx_dev_runtime();
|
||||||
|
/*! Bundled license information:
|
||||||
|
|
||||||
|
react/cjs/react-jsx-dev-runtime.development.js:
|
||||||
|
(**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-dev-runtime.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*)
|
||||||
|
*/
|
||||||
|
//# sourceMappingURL=react_jsx-dev-runtime.js.map
|
||||||
7
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
923
frontend/node_modules/.vite/deps/react_jsx-runtime.js
generated
vendored
Normal file
923
frontend/node_modules/.vite/deps/react_jsx-runtime.js
generated
vendored
Normal file
@@ -0,0 +1,923 @@
|
|||||||
|
import {
|
||||||
|
__commonJS,
|
||||||
|
require_react
|
||||||
|
} from "./chunk-2YIMICFJ.js";
|
||||||
|
|
||||||
|
// node_modules/react/cjs/react-jsx-runtime.development.js
|
||||||
|
var require_react_jsx_runtime_development = __commonJS({
|
||||||
|
"node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
|
||||||
|
"use strict";
|
||||||
|
if (true) {
|
||||||
|
(function() {
|
||||||
|
"use strict";
|
||||||
|
var React = require_react();
|
||||||
|
var REACT_ELEMENT_TYPE = Symbol.for("react.element");
|
||||||
|
var REACT_PORTAL_TYPE = Symbol.for("react.portal");
|
||||||
|
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
||||||
|
var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
|
||||||
|
var REACT_PROFILER_TYPE = Symbol.for("react.profiler");
|
||||||
|
var REACT_PROVIDER_TYPE = Symbol.for("react.provider");
|
||||||
|
var REACT_CONTEXT_TYPE = Symbol.for("react.context");
|
||||||
|
var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref");
|
||||||
|
var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense");
|
||||||
|
var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list");
|
||||||
|
var REACT_MEMO_TYPE = Symbol.for("react.memo");
|
||||||
|
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
||||||
|
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||||
|
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||||
|
var FAUX_ITERATOR_SYMBOL = "@@iterator";
|
||||||
|
function getIteratorFn(maybeIterable) {
|
||||||
|
if (maybeIterable === null || typeof maybeIterable !== "object") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
||||||
|
if (typeof maybeIterator === "function") {
|
||||||
|
return maybeIterator;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||||
|
function error(format) {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
||||||
|
args[_key2 - 1] = arguments[_key2];
|
||||||
|
}
|
||||||
|
printWarning("error", format, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function printWarning(level, format, args) {
|
||||||
|
{
|
||||||
|
var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
var stack = ReactDebugCurrentFrame2.getStackAddendum();
|
||||||
|
if (stack !== "") {
|
||||||
|
format += "%s";
|
||||||
|
args = args.concat([stack]);
|
||||||
|
}
|
||||||
|
var argsWithFormat = args.map(function(item) {
|
||||||
|
return String(item);
|
||||||
|
});
|
||||||
|
argsWithFormat.unshift("Warning: " + format);
|
||||||
|
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var enableScopeAPI = false;
|
||||||
|
var enableCacheElement = false;
|
||||||
|
var enableTransitionTracing = false;
|
||||||
|
var enableLegacyHidden = false;
|
||||||
|
var enableDebugTracing = false;
|
||||||
|
var REACT_MODULE_REFERENCE;
|
||||||
|
{
|
||||||
|
REACT_MODULE_REFERENCE = Symbol.for("react.module.reference");
|
||||||
|
}
|
||||||
|
function isValidElementType(type) {
|
||||||
|
if (typeof type === "string" || typeof type === "function") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (typeof type === "object" && type !== null) {
|
||||||
|
if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
|
||||||
|
// types supported by any Flight configuration anywhere since
|
||||||
|
// we don't know which Flight build this will end up being used
|
||||||
|
// with.
|
||||||
|
type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
function getWrappedName(outerType, innerType, wrapperName) {
|
||||||
|
var displayName = outerType.displayName;
|
||||||
|
if (displayName) {
|
||||||
|
return displayName;
|
||||||
|
}
|
||||||
|
var functionName = innerType.displayName || innerType.name || "";
|
||||||
|
return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName;
|
||||||
|
}
|
||||||
|
function getContextName(type) {
|
||||||
|
return type.displayName || "Context";
|
||||||
|
}
|
||||||
|
function getComponentNameFromType(type) {
|
||||||
|
if (type == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (typeof type.tag === "number") {
|
||||||
|
error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof type === "function") {
|
||||||
|
return type.displayName || type.name || null;
|
||||||
|
}
|
||||||
|
if (typeof type === "string") {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case REACT_FRAGMENT_TYPE:
|
||||||
|
return "Fragment";
|
||||||
|
case REACT_PORTAL_TYPE:
|
||||||
|
return "Portal";
|
||||||
|
case REACT_PROFILER_TYPE:
|
||||||
|
return "Profiler";
|
||||||
|
case REACT_STRICT_MODE_TYPE:
|
||||||
|
return "StrictMode";
|
||||||
|
case REACT_SUSPENSE_TYPE:
|
||||||
|
return "Suspense";
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE:
|
||||||
|
return "SuspenseList";
|
||||||
|
}
|
||||||
|
if (typeof type === "object") {
|
||||||
|
switch (type.$$typeof) {
|
||||||
|
case REACT_CONTEXT_TYPE:
|
||||||
|
var context = type;
|
||||||
|
return getContextName(context) + ".Consumer";
|
||||||
|
case REACT_PROVIDER_TYPE:
|
||||||
|
var provider = type;
|
||||||
|
return getContextName(provider._context) + ".Provider";
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
return getWrappedName(type, type.render, "ForwardRef");
|
||||||
|
case REACT_MEMO_TYPE:
|
||||||
|
var outerName = type.displayName || null;
|
||||||
|
if (outerName !== null) {
|
||||||
|
return outerName;
|
||||||
|
}
|
||||||
|
return getComponentNameFromType(type.type) || "Memo";
|
||||||
|
case REACT_LAZY_TYPE: {
|
||||||
|
var lazyComponent = type;
|
||||||
|
var payload = lazyComponent._payload;
|
||||||
|
var init = lazyComponent._init;
|
||||||
|
try {
|
||||||
|
return getComponentNameFromType(init(payload));
|
||||||
|
} catch (x) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var assign = Object.assign;
|
||||||
|
var disabledDepth = 0;
|
||||||
|
var prevLog;
|
||||||
|
var prevInfo;
|
||||||
|
var prevWarn;
|
||||||
|
var prevError;
|
||||||
|
var prevGroup;
|
||||||
|
var prevGroupCollapsed;
|
||||||
|
var prevGroupEnd;
|
||||||
|
function disabledLog() {
|
||||||
|
}
|
||||||
|
disabledLog.__reactDisabledLog = true;
|
||||||
|
function disableLogs() {
|
||||||
|
{
|
||||||
|
if (disabledDepth === 0) {
|
||||||
|
prevLog = console.log;
|
||||||
|
prevInfo = console.info;
|
||||||
|
prevWarn = console.warn;
|
||||||
|
prevError = console.error;
|
||||||
|
prevGroup = console.group;
|
||||||
|
prevGroupCollapsed = console.groupCollapsed;
|
||||||
|
prevGroupEnd = console.groupEnd;
|
||||||
|
var props = {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
value: disabledLog,
|
||||||
|
writable: true
|
||||||
|
};
|
||||||
|
Object.defineProperties(console, {
|
||||||
|
info: props,
|
||||||
|
log: props,
|
||||||
|
warn: props,
|
||||||
|
error: props,
|
||||||
|
group: props,
|
||||||
|
groupCollapsed: props,
|
||||||
|
groupEnd: props
|
||||||
|
});
|
||||||
|
}
|
||||||
|
disabledDepth++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function reenableLogs() {
|
||||||
|
{
|
||||||
|
disabledDepth--;
|
||||||
|
if (disabledDepth === 0) {
|
||||||
|
var props = {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
writable: true
|
||||||
|
};
|
||||||
|
Object.defineProperties(console, {
|
||||||
|
log: assign({}, props, {
|
||||||
|
value: prevLog
|
||||||
|
}),
|
||||||
|
info: assign({}, props, {
|
||||||
|
value: prevInfo
|
||||||
|
}),
|
||||||
|
warn: assign({}, props, {
|
||||||
|
value: prevWarn
|
||||||
|
}),
|
||||||
|
error: assign({}, props, {
|
||||||
|
value: prevError
|
||||||
|
}),
|
||||||
|
group: assign({}, props, {
|
||||||
|
value: prevGroup
|
||||||
|
}),
|
||||||
|
groupCollapsed: assign({}, props, {
|
||||||
|
value: prevGroupCollapsed
|
||||||
|
}),
|
||||||
|
groupEnd: assign({}, props, {
|
||||||
|
value: prevGroupEnd
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (disabledDepth < 0) {
|
||||||
|
error("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
||||||
|
var prefix;
|
||||||
|
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
||||||
|
{
|
||||||
|
if (prefix === void 0) {
|
||||||
|
try {
|
||||||
|
throw Error();
|
||||||
|
} catch (x) {
|
||||||
|
var match = x.stack.trim().match(/\n( *(at )?)/);
|
||||||
|
prefix = match && match[1] || "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "\n" + prefix + name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var reentry = false;
|
||||||
|
var componentFrameCache;
|
||||||
|
{
|
||||||
|
var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map;
|
||||||
|
componentFrameCache = new PossiblyWeakMap();
|
||||||
|
}
|
||||||
|
function describeNativeComponentFrame(fn, construct) {
|
||||||
|
if (!fn || reentry) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
var frame = componentFrameCache.get(fn);
|
||||||
|
if (frame !== void 0) {
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var control;
|
||||||
|
reentry = true;
|
||||||
|
var previousPrepareStackTrace = Error.prepareStackTrace;
|
||||||
|
Error.prepareStackTrace = void 0;
|
||||||
|
var previousDispatcher;
|
||||||
|
{
|
||||||
|
previousDispatcher = ReactCurrentDispatcher.current;
|
||||||
|
ReactCurrentDispatcher.current = null;
|
||||||
|
disableLogs();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (construct) {
|
||||||
|
var Fake = function() {
|
||||||
|
throw Error();
|
||||||
|
};
|
||||||
|
Object.defineProperty(Fake.prototype, "props", {
|
||||||
|
set: function() {
|
||||||
|
throw Error();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (typeof Reflect === "object" && Reflect.construct) {
|
||||||
|
try {
|
||||||
|
Reflect.construct(Fake, []);
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
Reflect.construct(fn, [], Fake);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Fake.call();
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
fn.call(Fake.prototype);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
throw Error();
|
||||||
|
} catch (x) {
|
||||||
|
control = x;
|
||||||
|
}
|
||||||
|
fn();
|
||||||
|
}
|
||||||
|
} catch (sample) {
|
||||||
|
if (sample && control && typeof sample.stack === "string") {
|
||||||
|
var sampleLines = sample.stack.split("\n");
|
||||||
|
var controlLines = control.stack.split("\n");
|
||||||
|
var s = sampleLines.length - 1;
|
||||||
|
var c = controlLines.length - 1;
|
||||||
|
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
||||||
|
c--;
|
||||||
|
}
|
||||||
|
for (; s >= 1 && c >= 0; s--, c--) {
|
||||||
|
if (sampleLines[s] !== controlLines[c]) {
|
||||||
|
if (s !== 1 || c !== 1) {
|
||||||
|
do {
|
||||||
|
s--;
|
||||||
|
c--;
|
||||||
|
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
||||||
|
var _frame = "\n" + sampleLines[s].replace(" at new ", " at ");
|
||||||
|
if (fn.displayName && _frame.includes("<anonymous>")) {
|
||||||
|
_frame = _frame.replace("<anonymous>", fn.displayName);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (typeof fn === "function") {
|
||||||
|
componentFrameCache.set(fn, _frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return _frame;
|
||||||
|
}
|
||||||
|
} while (s >= 1 && c >= 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
reentry = false;
|
||||||
|
{
|
||||||
|
ReactCurrentDispatcher.current = previousDispatcher;
|
||||||
|
reenableLogs();
|
||||||
|
}
|
||||||
|
Error.prepareStackTrace = previousPrepareStackTrace;
|
||||||
|
}
|
||||||
|
var name = fn ? fn.displayName || fn.name : "";
|
||||||
|
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : "";
|
||||||
|
{
|
||||||
|
if (typeof fn === "function") {
|
||||||
|
componentFrameCache.set(fn, syntheticFrame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return syntheticFrame;
|
||||||
|
}
|
||||||
|
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
||||||
|
{
|
||||||
|
return describeNativeComponentFrame(fn, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function shouldConstruct(Component) {
|
||||||
|
var prototype = Component.prototype;
|
||||||
|
return !!(prototype && prototype.isReactComponent);
|
||||||
|
}
|
||||||
|
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
||||||
|
if (type == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (typeof type === "function") {
|
||||||
|
{
|
||||||
|
return describeNativeComponentFrame(type, shouldConstruct(type));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeof type === "string") {
|
||||||
|
return describeBuiltInComponentFrame(type);
|
||||||
|
}
|
||||||
|
switch (type) {
|
||||||
|
case REACT_SUSPENSE_TYPE:
|
||||||
|
return describeBuiltInComponentFrame("Suspense");
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE:
|
||||||
|
return describeBuiltInComponentFrame("SuspenseList");
|
||||||
|
}
|
||||||
|
if (typeof type === "object") {
|
||||||
|
switch (type.$$typeof) {
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
return describeFunctionComponentFrame(type.render);
|
||||||
|
case REACT_MEMO_TYPE:
|
||||||
|
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
||||||
|
case REACT_LAZY_TYPE: {
|
||||||
|
var lazyComponent = type;
|
||||||
|
var payload = lazyComponent._payload;
|
||||||
|
var init = lazyComponent._init;
|
||||||
|
try {
|
||||||
|
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
||||||
|
} catch (x) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||||
|
var loggedTypeFailures = {};
|
||||||
|
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
function setCurrentlyValidatingElement(element) {
|
||||||
|
{
|
||||||
|
if (element) {
|
||||||
|
var owner = element._owner;
|
||||||
|
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||||
|
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
||||||
|
} else {
|
||||||
|
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
||||||
|
{
|
||||||
|
var has = Function.call.bind(hasOwnProperty);
|
||||||
|
for (var typeSpecName in typeSpecs) {
|
||||||
|
if (has(typeSpecs, typeSpecName)) {
|
||||||
|
var error$1 = void 0;
|
||||||
|
try {
|
||||||
|
if (typeof typeSpecs[typeSpecName] !== "function") {
|
||||||
|
var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
||||||
|
err.name = "Invariant Violation";
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
||||||
|
} catch (ex) {
|
||||||
|
error$1 = ex;
|
||||||
|
}
|
||||||
|
if (error$1 && !(error$1 instanceof Error)) {
|
||||||
|
setCurrentlyValidatingElement(element);
|
||||||
|
error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1);
|
||||||
|
setCurrentlyValidatingElement(null);
|
||||||
|
}
|
||||||
|
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
||||||
|
loggedTypeFailures[error$1.message] = true;
|
||||||
|
setCurrentlyValidatingElement(element);
|
||||||
|
error("Failed %s type: %s", location, error$1.message);
|
||||||
|
setCurrentlyValidatingElement(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var isArrayImpl = Array.isArray;
|
||||||
|
function isArray(a) {
|
||||||
|
return isArrayImpl(a);
|
||||||
|
}
|
||||||
|
function typeName(value) {
|
||||||
|
{
|
||||||
|
var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag;
|
||||||
|
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function willCoercionThrow(value) {
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
testStringCoercion(value);
|
||||||
|
return false;
|
||||||
|
} catch (e) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function checkKeyStringCoercion(value) {
|
||||||
|
{
|
||||||
|
if (willCoercionThrow(value)) {
|
||||||
|
error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value));
|
||||||
|
return testStringCoercion(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
|
||||||
|
var RESERVED_PROPS = {
|
||||||
|
key: true,
|
||||||
|
ref: true,
|
||||||
|
__self: true,
|
||||||
|
__source: true
|
||||||
|
};
|
||||||
|
var specialPropKeyWarningShown;
|
||||||
|
var specialPropRefWarningShown;
|
||||||
|
var didWarnAboutStringRefs;
|
||||||
|
{
|
||||||
|
didWarnAboutStringRefs = {};
|
||||||
|
}
|
||||||
|
function hasValidRef(config) {
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(config, "ref")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "ref").get;
|
||||||
|
if (getter && getter.isReactWarning) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config.ref !== void 0;
|
||||||
|
}
|
||||||
|
function hasValidKey(config) {
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||||
|
if (getter && getter.isReactWarning) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config.key !== void 0;
|
||||||
|
}
|
||||||
|
function warnIfStringRefCannotBeAutoConverted(config, self) {
|
||||||
|
{
|
||||||
|
if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
|
||||||
|
var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
|
||||||
|
if (!didWarnAboutStringRefs[componentName]) {
|
||||||
|
error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
|
||||||
|
didWarnAboutStringRefs[componentName] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function defineKeyPropWarningGetter(props, displayName) {
|
||||||
|
{
|
||||||
|
var warnAboutAccessingKey = function() {
|
||||||
|
if (!specialPropKeyWarningShown) {
|
||||||
|
specialPropKeyWarningShown = true;
|
||||||
|
error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
warnAboutAccessingKey.isReactWarning = true;
|
||||||
|
Object.defineProperty(props, "key", {
|
||||||
|
get: warnAboutAccessingKey,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function defineRefPropWarningGetter(props, displayName) {
|
||||||
|
{
|
||||||
|
var warnAboutAccessingRef = function() {
|
||||||
|
if (!specialPropRefWarningShown) {
|
||||||
|
specialPropRefWarningShown = true;
|
||||||
|
error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
warnAboutAccessingRef.isReactWarning = true;
|
||||||
|
Object.defineProperty(props, "ref", {
|
||||||
|
get: warnAboutAccessingRef,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactElement = function(type, key, ref, self, source, owner, props) {
|
||||||
|
var element = {
|
||||||
|
// This tag allows us to uniquely identify this as a React Element
|
||||||
|
$$typeof: REACT_ELEMENT_TYPE,
|
||||||
|
// Built-in properties that belong on the element
|
||||||
|
type,
|
||||||
|
key,
|
||||||
|
ref,
|
||||||
|
props,
|
||||||
|
// Record the component responsible for creating this element.
|
||||||
|
_owner: owner
|
||||||
|
};
|
||||||
|
{
|
||||||
|
element._store = {};
|
||||||
|
Object.defineProperty(element._store, "validated", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: true,
|
||||||
|
value: false
|
||||||
|
});
|
||||||
|
Object.defineProperty(element, "_self", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: false,
|
||||||
|
value: self
|
||||||
|
});
|
||||||
|
Object.defineProperty(element, "_source", {
|
||||||
|
configurable: false,
|
||||||
|
enumerable: false,
|
||||||
|
writable: false,
|
||||||
|
value: source
|
||||||
|
});
|
||||||
|
if (Object.freeze) {
|
||||||
|
Object.freeze(element.props);
|
||||||
|
Object.freeze(element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return element;
|
||||||
|
};
|
||||||
|
function jsxDEV(type, config, maybeKey, source, self) {
|
||||||
|
{
|
||||||
|
var propName;
|
||||||
|
var props = {};
|
||||||
|
var key = null;
|
||||||
|
var ref = null;
|
||||||
|
if (maybeKey !== void 0) {
|
||||||
|
{
|
||||||
|
checkKeyStringCoercion(maybeKey);
|
||||||
|
}
|
||||||
|
key = "" + maybeKey;
|
||||||
|
}
|
||||||
|
if (hasValidKey(config)) {
|
||||||
|
{
|
||||||
|
checkKeyStringCoercion(config.key);
|
||||||
|
}
|
||||||
|
key = "" + config.key;
|
||||||
|
}
|
||||||
|
if (hasValidRef(config)) {
|
||||||
|
ref = config.ref;
|
||||||
|
warnIfStringRefCannotBeAutoConverted(config, self);
|
||||||
|
}
|
||||||
|
for (propName in config) {
|
||||||
|
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
||||||
|
props[propName] = config[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type && type.defaultProps) {
|
||||||
|
var defaultProps = type.defaultProps;
|
||||||
|
for (propName in defaultProps) {
|
||||||
|
if (props[propName] === void 0) {
|
||||||
|
props[propName] = defaultProps[propName];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (key || ref) {
|
||||||
|
var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type;
|
||||||
|
if (key) {
|
||||||
|
defineKeyPropWarningGetter(props, displayName);
|
||||||
|
}
|
||||||
|
if (ref) {
|
||||||
|
defineRefPropWarningGetter(props, displayName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
||||||
|
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||||
|
function setCurrentlyValidatingElement$1(element) {
|
||||||
|
{
|
||||||
|
if (element) {
|
||||||
|
var owner = element._owner;
|
||||||
|
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||||
|
ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
|
||||||
|
} else {
|
||||||
|
ReactDebugCurrentFrame$1.setExtraStackFrame(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var propTypesMisspellWarningShown;
|
||||||
|
{
|
||||||
|
propTypesMisspellWarningShown = false;
|
||||||
|
}
|
||||||
|
function isValidElement(object) {
|
||||||
|
{
|
||||||
|
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getDeclarationErrorAddendum() {
|
||||||
|
{
|
||||||
|
if (ReactCurrentOwner$1.current) {
|
||||||
|
var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
|
||||||
|
if (name) {
|
||||||
|
return "\n\nCheck the render method of `" + name + "`.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getSourceInfoErrorAddendum(source) {
|
||||||
|
{
|
||||||
|
if (source !== void 0) {
|
||||||
|
var fileName = source.fileName.replace(/^.*[\\\/]/, "");
|
||||||
|
var lineNumber = source.lineNumber;
|
||||||
|
return "\n\nCheck your code at " + fileName + ":" + lineNumber + ".";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ownerHasKeyUseWarning = {};
|
||||||
|
function getCurrentComponentErrorInfo(parentType) {
|
||||||
|
{
|
||||||
|
var info = getDeclarationErrorAddendum();
|
||||||
|
if (!info) {
|
||||||
|
var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name;
|
||||||
|
if (parentName) {
|
||||||
|
info = "\n\nCheck the top-level render call using <" + parentName + ">.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateExplicitKey(element, parentType) {
|
||||||
|
{
|
||||||
|
if (!element._store || element._store.validated || element.key != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
element._store.validated = true;
|
||||||
|
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
||||||
|
if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
|
||||||
|
var childOwner = "";
|
||||||
|
if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
|
||||||
|
childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
|
||||||
|
}
|
||||||
|
setCurrentlyValidatingElement$1(element);
|
||||||
|
error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateChildKeys(node, parentType) {
|
||||||
|
{
|
||||||
|
if (typeof node !== "object") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (isArray(node)) {
|
||||||
|
for (var i = 0; i < node.length; i++) {
|
||||||
|
var child = node[i];
|
||||||
|
if (isValidElement(child)) {
|
||||||
|
validateExplicitKey(child, parentType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (isValidElement(node)) {
|
||||||
|
if (node._store) {
|
||||||
|
node._store.validated = true;
|
||||||
|
}
|
||||||
|
} else if (node) {
|
||||||
|
var iteratorFn = getIteratorFn(node);
|
||||||
|
if (typeof iteratorFn === "function") {
|
||||||
|
if (iteratorFn !== node.entries) {
|
||||||
|
var iterator = iteratorFn.call(node);
|
||||||
|
var step;
|
||||||
|
while (!(step = iterator.next()).done) {
|
||||||
|
if (isValidElement(step.value)) {
|
||||||
|
validateExplicitKey(step.value, parentType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validatePropTypes(element) {
|
||||||
|
{
|
||||||
|
var type = element.type;
|
||||||
|
if (type === null || type === void 0 || typeof type === "string") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var propTypes;
|
||||||
|
if (typeof type === "function") {
|
||||||
|
propTypes = type.propTypes;
|
||||||
|
} else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
|
||||||
|
// Inner props are checked in the reconciler.
|
||||||
|
type.$$typeof === REACT_MEMO_TYPE)) {
|
||||||
|
propTypes = type.propTypes;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (propTypes) {
|
||||||
|
var name = getComponentNameFromType(type);
|
||||||
|
checkPropTypes(propTypes, element.props, "prop", name, element);
|
||||||
|
} else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) {
|
||||||
|
propTypesMisspellWarningShown = true;
|
||||||
|
var _name = getComponentNameFromType(type);
|
||||||
|
error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown");
|
||||||
|
}
|
||||||
|
if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) {
|
||||||
|
error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function validateFragmentProps(fragment) {
|
||||||
|
{
|
||||||
|
var keys = Object.keys(fragment.props);
|
||||||
|
for (var i = 0; i < keys.length; i++) {
|
||||||
|
var key = keys[i];
|
||||||
|
if (key !== "children" && key !== "key") {
|
||||||
|
setCurrentlyValidatingElement$1(fragment);
|
||||||
|
error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key);
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fragment.ref !== null) {
|
||||||
|
setCurrentlyValidatingElement$1(fragment);
|
||||||
|
error("Invalid attribute `ref` supplied to `React.Fragment`.");
|
||||||
|
setCurrentlyValidatingElement$1(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var didWarnAboutKeySpread = {};
|
||||||
|
function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
|
||||||
|
{
|
||||||
|
var validType = isValidElementType(type);
|
||||||
|
if (!validType) {
|
||||||
|
var info = "";
|
||||||
|
if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) {
|
||||||
|
info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
|
||||||
|
}
|
||||||
|
var sourceInfo = getSourceInfoErrorAddendum(source);
|
||||||
|
if (sourceInfo) {
|
||||||
|
info += sourceInfo;
|
||||||
|
} else {
|
||||||
|
info += getDeclarationErrorAddendum();
|
||||||
|
}
|
||||||
|
var typeString;
|
||||||
|
if (type === null) {
|
||||||
|
typeString = "null";
|
||||||
|
} else if (isArray(type)) {
|
||||||
|
typeString = "array";
|
||||||
|
} else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) {
|
||||||
|
typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />";
|
||||||
|
info = " Did you accidentally export a JSX literal instead of a component?";
|
||||||
|
} else {
|
||||||
|
typeString = typeof type;
|
||||||
|
}
|
||||||
|
error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||||
|
}
|
||||||
|
var element = jsxDEV(type, props, key, source, self);
|
||||||
|
if (element == null) {
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
if (validType) {
|
||||||
|
var children = props.children;
|
||||||
|
if (children !== void 0) {
|
||||||
|
if (isStaticChildren) {
|
||||||
|
if (isArray(children)) {
|
||||||
|
for (var i = 0; i < children.length; i++) {
|
||||||
|
validateChildKeys(children[i], type);
|
||||||
|
}
|
||||||
|
if (Object.freeze) {
|
||||||
|
Object.freeze(children);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
validateChildKeys(children, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (hasOwnProperty.call(props, "key")) {
|
||||||
|
var componentName = getComponentNameFromType(type);
|
||||||
|
var keys = Object.keys(props).filter(function(k) {
|
||||||
|
return k !== "key";
|
||||||
|
});
|
||||||
|
var beforeExample = keys.length > 0 ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||||
|
if (!didWarnAboutKeySpread[componentName + beforeExample]) {
|
||||||
|
var afterExample = keys.length > 0 ? "{" + keys.join(": ..., ") + ": ...}" : "{}";
|
||||||
|
error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
|
||||||
|
didWarnAboutKeySpread[componentName + beforeExample] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type === REACT_FRAGMENT_TYPE) {
|
||||||
|
validateFragmentProps(element);
|
||||||
|
} else {
|
||||||
|
validatePropTypes(element);
|
||||||
|
}
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function jsxWithValidationStatic(type, props, key) {
|
||||||
|
{
|
||||||
|
return jsxWithValidation(type, props, key, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function jsxWithValidationDynamic(type, props, key) {
|
||||||
|
{
|
||||||
|
return jsxWithValidation(type, props, key, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var jsx = jsxWithValidationDynamic;
|
||||||
|
var jsxs = jsxWithValidationStatic;
|
||||||
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||||
|
exports.jsx = jsx;
|
||||||
|
exports.jsxs = jsxs;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// node_modules/react/jsx-runtime.js
|
||||||
|
var require_jsx_runtime = __commonJS({
|
||||||
|
"node_modules/react/jsx-runtime.js"(exports, module) {
|
||||||
|
if (false) {
|
||||||
|
module.exports = null;
|
||||||
|
} else {
|
||||||
|
module.exports = require_react_jsx_runtime_development();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export default require_jsx_runtime();
|
||||||
|
/*! Bundled license information:
|
||||||
|
|
||||||
|
react/cjs/react-jsx-runtime.development.js:
|
||||||
|
(**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-runtime.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*)
|
||||||
|
*/
|
||||||
|
//# sourceMappingURL=react_jsx-runtime.js.map
|
||||||
7
frontend/node_modules/.vite/deps/react_jsx-runtime.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/react_jsx-runtime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
34392
frontend/node_modules/.vite/deps/recharts.js
generated
vendored
Normal file
34392
frontend/node_modules/.vite/deps/recharts.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
frontend/node_modules/.vite/deps/recharts.js.map
generated
vendored
Normal file
7
frontend/node_modules/.vite/deps/recharts.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
22
frontend/node_modules/@babel/code-frame/LICENSE
generated
vendored
Normal file
22
frontend/node_modules/@babel/code-frame/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
19
frontend/node_modules/@babel/code-frame/README.md
generated
vendored
Normal file
19
frontend/node_modules/@babel/code-frame/README.md
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# @babel/code-frame
|
||||||
|
|
||||||
|
> Generate errors that contain a code frame that point to source locations.
|
||||||
|
|
||||||
|
See our website [@babel/code-frame](https://babeljs.io/docs/babel-code-frame) for more information.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save-dev @babel/code-frame
|
||||||
|
```
|
||||||
|
|
||||||
|
or using yarn:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add @babel/code-frame --dev
|
||||||
|
```
|
||||||
217
frontend/node_modules/@babel/code-frame/lib/index.js
generated
vendored
Normal file
217
frontend/node_modules/@babel/code-frame/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||||||
|
|
||||||
|
var picocolors = require('picocolors');
|
||||||
|
var jsTokens = require('js-tokens');
|
||||||
|
var helperValidatorIdentifier = require('@babel/helper-validator-identifier');
|
||||||
|
|
||||||
|
function isColorSupported() {
|
||||||
|
return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const compose = (f, g) => v => f(g(v));
|
||||||
|
function buildDefs(colors) {
|
||||||
|
return {
|
||||||
|
keyword: colors.cyan,
|
||||||
|
capitalized: colors.yellow,
|
||||||
|
jsxIdentifier: colors.yellow,
|
||||||
|
punctuator: colors.yellow,
|
||||||
|
number: colors.magenta,
|
||||||
|
string: colors.green,
|
||||||
|
regex: colors.magenta,
|
||||||
|
comment: colors.gray,
|
||||||
|
invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
|
||||||
|
gutter: colors.gray,
|
||||||
|
marker: compose(colors.red, colors.bold),
|
||||||
|
message: compose(colors.red, colors.bold),
|
||||||
|
reset: colors.reset
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const defsOn = buildDefs(picocolors.createColors(true));
|
||||||
|
const defsOff = buildDefs(picocolors.createColors(false));
|
||||||
|
function getDefs(enabled) {
|
||||||
|
return enabled ? defsOn : defsOff;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
|
||||||
|
const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
|
||||||
|
const BRACKET = /^[()[\]{}]$/;
|
||||||
|
let tokenize;
|
||||||
|
const JSX_TAG = /^[a-z][\w-]*$/i;
|
||||||
|
const getTokenType = function (token, offset, text) {
|
||||||
|
if (token.type === "name") {
|
||||||
|
const tokenValue = token.value;
|
||||||
|
if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
|
||||||
|
return "keyword";
|
||||||
|
}
|
||||||
|
if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
|
||||||
|
return "jsxIdentifier";
|
||||||
|
}
|
||||||
|
const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
|
||||||
|
if (firstChar !== firstChar.toLowerCase()) {
|
||||||
|
return "capitalized";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (token.type === "punctuator" && BRACKET.test(token.value)) {
|
||||||
|
return "bracket";
|
||||||
|
}
|
||||||
|
if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
|
||||||
|
return "punctuator";
|
||||||
|
}
|
||||||
|
return token.type;
|
||||||
|
};
|
||||||
|
tokenize = function* (text) {
|
||||||
|
let match;
|
||||||
|
while (match = jsTokens.default.exec(text)) {
|
||||||
|
const token = jsTokens.matchToToken(match);
|
||||||
|
yield {
|
||||||
|
type: getTokenType(token, match.index, text),
|
||||||
|
value: token.value
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function highlight(text) {
|
||||||
|
if (text === "") return "";
|
||||||
|
const defs = getDefs(true);
|
||||||
|
let highlighted = "";
|
||||||
|
for (const {
|
||||||
|
type,
|
||||||
|
value
|
||||||
|
} of tokenize(text)) {
|
||||||
|
if (type in defs) {
|
||||||
|
highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
|
||||||
|
} else {
|
||||||
|
highlighted += value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return highlighted;
|
||||||
|
}
|
||||||
|
|
||||||
|
let deprecationWarningShown = false;
|
||||||
|
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
|
||||||
|
function getMarkerLines(loc, source, opts, startLineBaseZero) {
|
||||||
|
const startLoc = Object.assign({
|
||||||
|
column: 0,
|
||||||
|
line: -1
|
||||||
|
}, loc.start);
|
||||||
|
const endLoc = Object.assign({}, startLoc, loc.end);
|
||||||
|
const {
|
||||||
|
linesAbove = 2,
|
||||||
|
linesBelow = 3
|
||||||
|
} = opts || {};
|
||||||
|
const startLine = startLoc.line - startLineBaseZero;
|
||||||
|
const startColumn = startLoc.column;
|
||||||
|
const endLine = endLoc.line - startLineBaseZero;
|
||||||
|
const endColumn = endLoc.column;
|
||||||
|
let start = Math.max(startLine - (linesAbove + 1), 0);
|
||||||
|
let end = Math.min(source.length, endLine + linesBelow);
|
||||||
|
if (startLine === -1) {
|
||||||
|
start = 0;
|
||||||
|
}
|
||||||
|
if (endLine === -1) {
|
||||||
|
end = source.length;
|
||||||
|
}
|
||||||
|
const lineDiff = endLine - startLine;
|
||||||
|
const markerLines = {};
|
||||||
|
if (lineDiff) {
|
||||||
|
for (let i = 0; i <= lineDiff; i++) {
|
||||||
|
const lineNumber = i + startLine;
|
||||||
|
if (!startColumn) {
|
||||||
|
markerLines[lineNumber] = true;
|
||||||
|
} else if (i === 0) {
|
||||||
|
const sourceLength = source[lineNumber - 1].length;
|
||||||
|
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
|
||||||
|
} else if (i === lineDiff) {
|
||||||
|
markerLines[lineNumber] = [0, endColumn];
|
||||||
|
} else {
|
||||||
|
const sourceLength = source[lineNumber - i].length;
|
||||||
|
markerLines[lineNumber] = [0, sourceLength];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (startColumn === endColumn) {
|
||||||
|
if (startColumn) {
|
||||||
|
markerLines[startLine] = [startColumn, 0];
|
||||||
|
} else {
|
||||||
|
markerLines[startLine] = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
markerLines[startLine] = [startColumn, endColumn - startColumn];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
start,
|
||||||
|
end,
|
||||||
|
markerLines
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function codeFrameColumns(rawLines, loc, opts = {}) {
|
||||||
|
const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
|
||||||
|
const startLineBaseZero = (opts.startLine || 1) - 1;
|
||||||
|
const defs = getDefs(shouldHighlight);
|
||||||
|
const lines = rawLines.split(NEWLINE);
|
||||||
|
const {
|
||||||
|
start,
|
||||||
|
end,
|
||||||
|
markerLines
|
||||||
|
} = getMarkerLines(loc, lines, opts, startLineBaseZero);
|
||||||
|
const hasColumns = loc.start && typeof loc.start.column === "number";
|
||||||
|
const numberMaxWidth = String(end + startLineBaseZero).length;
|
||||||
|
const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
|
||||||
|
let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
|
||||||
|
const number = start + 1 + index;
|
||||||
|
const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
|
||||||
|
const gutter = ` ${paddedNumber} |`;
|
||||||
|
const hasMarker = markerLines[number];
|
||||||
|
const lastMarkerLine = !markerLines[number + 1];
|
||||||
|
if (hasMarker) {
|
||||||
|
let markerLine = "";
|
||||||
|
if (Array.isArray(hasMarker)) {
|
||||||
|
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
|
||||||
|
const numberOfMarkers = hasMarker[1] || 1;
|
||||||
|
markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
|
||||||
|
if (lastMarkerLine && opts.message) {
|
||||||
|
markerLine += " " + defs.message(opts.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
|
||||||
|
} else {
|
||||||
|
return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
|
||||||
|
}
|
||||||
|
}).join("\n");
|
||||||
|
if (opts.message && !hasColumns) {
|
||||||
|
frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
|
||||||
|
}
|
||||||
|
if (shouldHighlight) {
|
||||||
|
return defs.reset(frame);
|
||||||
|
} else {
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function index (rawLines, lineNumber, colNumber, opts = {}) {
|
||||||
|
if (!deprecationWarningShown) {
|
||||||
|
deprecationWarningShown = true;
|
||||||
|
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
|
||||||
|
if (process.emitWarning) {
|
||||||
|
process.emitWarning(message, "DeprecationWarning");
|
||||||
|
} else {
|
||||||
|
const deprecationError = new Error(message);
|
||||||
|
deprecationError.name = "DeprecationWarning";
|
||||||
|
console.warn(new Error(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
colNumber = Math.max(colNumber, 0);
|
||||||
|
const location = {
|
||||||
|
start: {
|
||||||
|
column: colNumber,
|
||||||
|
line: lineNumber
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return codeFrameColumns(rawLines, location, opts);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.codeFrameColumns = codeFrameColumns;
|
||||||
|
exports.default = index;
|
||||||
|
exports.highlight = highlight;
|
||||||
|
//# sourceMappingURL=index.js.map
|
||||||
1
frontend/node_modules/@babel/code-frame/lib/index.js.map
generated
vendored
Normal file
1
frontend/node_modules/@babel/code-frame/lib/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
32
frontend/node_modules/@babel/code-frame/package.json
generated
vendored
Normal file
32
frontend/node_modules/@babel/code-frame/package.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"name": "@babel/code-frame",
|
||||||
|
"version": "7.29.7",
|
||||||
|
"description": "Generate errors that contain a code frame that point to source locations.",
|
||||||
|
"author": "The Babel Team (https://babel.dev/team)",
|
||||||
|
"homepage": "https://babel.dev/docs/en/next/babel-code-frame",
|
||||||
|
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/babel/babel.git",
|
||||||
|
"directory": "packages/babel-code-frame"
|
||||||
|
},
|
||||||
|
"main": "./lib/index.js",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/helper-validator-identifier": "^7.29.7",
|
||||||
|
"js-tokens": "^4.0.0",
|
||||||
|
"picocolors": "^1.1.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"charcodes": "^0.2.0",
|
||||||
|
"import-meta-resolve": "^4.1.0",
|
||||||
|
"strip-ansi": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
},
|
||||||
|
"type": "commonjs"
|
||||||
|
}
|
||||||
22
frontend/node_modules/@babel/compat-data/LICENSE
generated
vendored
Normal file
22
frontend/node_modules/@babel/compat-data/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
19
frontend/node_modules/@babel/compat-data/README.md
generated
vendored
Normal file
19
frontend/node_modules/@babel/compat-data/README.md
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# @babel/compat-data
|
||||||
|
|
||||||
|
> The compat-data to determine required Babel plugins
|
||||||
|
|
||||||
|
See our website [@babel/compat-data](https://babeljs.io/docs/babel-compat-data) for more information.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save @babel/compat-data
|
||||||
|
```
|
||||||
|
|
||||||
|
or using yarn:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add @babel/compat-data
|
||||||
|
```
|
||||||
2
frontend/node_modules/@babel/compat-data/corejs2-built-ins.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/corejs2-built-ins.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2
|
||||||
|
module.exports = require("./data/corejs2-built-ins.json");
|
||||||
2
frontend/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3
|
||||||
|
module.exports = require("./data/corejs3-shipped-proposals.json");
|
||||||
2120
frontend/node_modules/@babel/compat-data/data/corejs2-built-ins.json
generated
vendored
Normal file
2120
frontend/node_modules/@babel/compat-data/data/corejs2-built-ins.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5
frontend/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
generated
vendored
Normal file
5
frontend/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[
|
||||||
|
"esnext.promise.all-settled",
|
||||||
|
"esnext.string.match-all",
|
||||||
|
"esnext.global-this"
|
||||||
|
]
|
||||||
18
frontend/node_modules/@babel/compat-data/data/native-modules.json
generated
vendored
Normal file
18
frontend/node_modules/@babel/compat-data/data/native-modules.json
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"es6.module": {
|
||||||
|
"chrome": "61",
|
||||||
|
"and_chr": "61",
|
||||||
|
"edge": "16",
|
||||||
|
"firefox": "60",
|
||||||
|
"and_ff": "60",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "48",
|
||||||
|
"op_mob": "45",
|
||||||
|
"safari": "10.1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "8.2",
|
||||||
|
"android": "61",
|
||||||
|
"electron": "2.0",
|
||||||
|
"ios_saf": "10.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
38
frontend/node_modules/@babel/compat-data/data/overlapping-plugins.json
generated
vendored
Normal file
38
frontend/node_modules/@babel/compat-data/data/overlapping-plugins.json
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"transform-async-to-generator": [
|
||||||
|
"bugfix/transform-async-arrows-in-class"
|
||||||
|
],
|
||||||
|
"transform-parameters": [
|
||||||
|
"bugfix/transform-edge-default-parameters",
|
||||||
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression"
|
||||||
|
],
|
||||||
|
"transform-function-name": [
|
||||||
|
"bugfix/transform-edge-function-name"
|
||||||
|
],
|
||||||
|
"transform-block-scoping": [
|
||||||
|
"bugfix/transform-safari-block-shadowing",
|
||||||
|
"bugfix/transform-safari-for-shadowing"
|
||||||
|
],
|
||||||
|
"transform-destructuring": [
|
||||||
|
"bugfix/transform-safari-rest-destructuring-rhs-array"
|
||||||
|
],
|
||||||
|
"transform-template-literals": [
|
||||||
|
"bugfix/transform-tagged-template-caching"
|
||||||
|
],
|
||||||
|
"transform-optional-chaining": [
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
||||||
|
],
|
||||||
|
"proposal-optional-chaining": [
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
||||||
|
],
|
||||||
|
"transform-class-properties": [
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly",
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key",
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope"
|
||||||
|
],
|
||||||
|
"proposal-class-properties": [
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly",
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key",
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope"
|
||||||
|
]
|
||||||
|
}
|
||||||
231
frontend/node_modules/@babel/compat-data/data/plugin-bugfixes.json
generated
vendored
Normal file
231
frontend/node_modules/@babel/compat-data/data/plugin-bugfixes.json
generated
vendored
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
{
|
||||||
|
"bugfix/transform-async-arrows-in-class": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"bugfix/transform-edge-default-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "18",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-edge-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-block-shadowing": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "44",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-for-shadowing": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "4",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "16.3",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16.3",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-rest-destructuring-rhs-array": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-tagged-template-caching": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-optional-chaining": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-chaining": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"transform-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-async-to-generator": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10.1",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"transform-template-literals": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-destructuring": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-block-scoping": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
843
frontend/node_modules/@babel/compat-data/data/plugins.json
generated
vendored
Normal file
843
frontend/node_modules/@babel/compat-data/data/plugins.json
generated
vendored
Normal file
@@ -0,0 +1,843 @@
|
|||||||
|
{
|
||||||
|
"transform-explicit-resource-management": {
|
||||||
|
"chrome": "141",
|
||||||
|
"edge": "141",
|
||||||
|
"firefox": "141",
|
||||||
|
"node": "25",
|
||||||
|
"electron": "39.0"
|
||||||
|
},
|
||||||
|
"transform-duplicate-named-capturing-groups-regex": {
|
||||||
|
"chrome": "126",
|
||||||
|
"opera": "112",
|
||||||
|
"edge": "126",
|
||||||
|
"firefox": "129",
|
||||||
|
"safari": "17.4",
|
||||||
|
"node": "23",
|
||||||
|
"ios": "17.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"electron": "31.0"
|
||||||
|
},
|
||||||
|
"transform-regexp-modifiers": {
|
||||||
|
"chrome": "125",
|
||||||
|
"opera": "111",
|
||||||
|
"edge": "125",
|
||||||
|
"firefox": "132",
|
||||||
|
"node": "23",
|
||||||
|
"samsung": "27",
|
||||||
|
"electron": "31.0"
|
||||||
|
},
|
||||||
|
"transform-unicode-sets-regex": {
|
||||||
|
"chrome": "112",
|
||||||
|
"opera": "98",
|
||||||
|
"edge": "112",
|
||||||
|
"firefox": "116",
|
||||||
|
"safari": "17",
|
||||||
|
"node": "20",
|
||||||
|
"deno": "1.32",
|
||||||
|
"ios": "17",
|
||||||
|
"samsung": "23",
|
||||||
|
"opera_mobile": "75",
|
||||||
|
"electron": "24.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly": {
|
||||||
|
"chrome": "98",
|
||||||
|
"opera": "84",
|
||||||
|
"edge": "98",
|
||||||
|
"firefox": "75",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1.18",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "52",
|
||||||
|
"electron": "17.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "126",
|
||||||
|
"safari": "16",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "69",
|
||||||
|
"safari": "16",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-class-static-block": {
|
||||||
|
"chrome": "94",
|
||||||
|
"opera": "80",
|
||||||
|
"edge": "94",
|
||||||
|
"firefox": "93",
|
||||||
|
"safari": "16.4",
|
||||||
|
"node": "16.11",
|
||||||
|
"deno": "1.14",
|
||||||
|
"ios": "16.4",
|
||||||
|
"samsung": "17",
|
||||||
|
"opera_mobile": "66",
|
||||||
|
"electron": "15.0"
|
||||||
|
},
|
||||||
|
"proposal-class-static-block": {
|
||||||
|
"chrome": "94",
|
||||||
|
"opera": "80",
|
||||||
|
"edge": "94",
|
||||||
|
"firefox": "93",
|
||||||
|
"safari": "16.4",
|
||||||
|
"node": "16.11",
|
||||||
|
"deno": "1.14",
|
||||||
|
"ios": "16.4",
|
||||||
|
"samsung": "17",
|
||||||
|
"opera_mobile": "66",
|
||||||
|
"electron": "15.0"
|
||||||
|
},
|
||||||
|
"transform-private-property-in-object": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"proposal-private-property-in-object": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-class-properties": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"proposal-class-properties": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-private-methods": {
|
||||||
|
"chrome": "84",
|
||||||
|
"opera": "70",
|
||||||
|
"edge": "84",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "14.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"proposal-private-methods": {
|
||||||
|
"chrome": "84",
|
||||||
|
"opera": "70",
|
||||||
|
"edge": "84",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "14.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"transform-numeric-separator": {
|
||||||
|
"chrome": "75",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "70",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "12.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "11",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "54",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"proposal-numeric-separator": {
|
||||||
|
"chrome": "75",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "70",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "12.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "11",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "54",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-logical-assignment-operators": {
|
||||||
|
"chrome": "85",
|
||||||
|
"opera": "71",
|
||||||
|
"edge": "85",
|
||||||
|
"firefox": "79",
|
||||||
|
"safari": "14",
|
||||||
|
"node": "15",
|
||||||
|
"deno": "1.2",
|
||||||
|
"ios": "14",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"proposal-logical-assignment-operators": {
|
||||||
|
"chrome": "85",
|
||||||
|
"opera": "71",
|
||||||
|
"edge": "85",
|
||||||
|
"firefox": "79",
|
||||||
|
"safari": "14",
|
||||||
|
"node": "15",
|
||||||
|
"deno": "1.2",
|
||||||
|
"ios": "14",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"transform-nullish-coalescing-operator": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "72",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"proposal-nullish-coalescing-operator": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "72",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"transform-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-json-strings": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "62",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-json-strings": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "62",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-optional-catch-binding": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "58",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-catch-binding": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "58",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "18",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "16.3",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16.3",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-async-generator-functions": {
|
||||||
|
"chrome": "63",
|
||||||
|
"opera": "50",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "57",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-async-generator-functions": {
|
||||||
|
"chrome": "63",
|
||||||
|
"opera": "50",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "57",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-object-rest-spread": {
|
||||||
|
"chrome": "60",
|
||||||
|
"opera": "47",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "55",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.3",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "44",
|
||||||
|
"electron": "2.0"
|
||||||
|
},
|
||||||
|
"proposal-object-rest-spread": {
|
||||||
|
"chrome": "60",
|
||||||
|
"opera": "47",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "55",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.3",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "44",
|
||||||
|
"electron": "2.0"
|
||||||
|
},
|
||||||
|
"transform-dotall-regex": {
|
||||||
|
"chrome": "62",
|
||||||
|
"opera": "49",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-unicode-property-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-unicode-property-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-named-capturing-groups-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-async-to-generator": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"transform-exponentiation-operator": {
|
||||||
|
"chrome": "52",
|
||||||
|
"opera": "39",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10.1",
|
||||||
|
"node": "7",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "6",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.3"
|
||||||
|
},
|
||||||
|
"transform-template-literals": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-literals": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-arrow-functions": {
|
||||||
|
"chrome": "47",
|
||||||
|
"opera": "34",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "43",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "34",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-block-scoped-functions": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "46",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-classes": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-object-super": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-shorthand-properties": {
|
||||||
|
"chrome": "43",
|
||||||
|
"opera": "30",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "33",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "30",
|
||||||
|
"electron": "0.27"
|
||||||
|
},
|
||||||
|
"transform-duplicate-keys": {
|
||||||
|
"chrome": "42",
|
||||||
|
"opera": "29",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"opera_mobile": "29",
|
||||||
|
"electron": "0.25"
|
||||||
|
},
|
||||||
|
"transform-computed-properties": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "7.1",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "8",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-for-of": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-sticky-regex": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "3",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-unicode-escapes": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-unicode-regex": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "46",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-spread": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-destructuring": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-block-scoping": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-typeof-symbol": {
|
||||||
|
"chrome": "48",
|
||||||
|
"opera": "35",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "36",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "35",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-new-target": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "41",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-regenerator": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-member-expression-literals": {
|
||||||
|
"chrome": "7",
|
||||||
|
"opera": "12",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "5.1",
|
||||||
|
"node": "0.4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "12",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-property-literals": {
|
||||||
|
"chrome": "7",
|
||||||
|
"opera": "12",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "5.1",
|
||||||
|
"node": "0.4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "12",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-reserved-words": {
|
||||||
|
"chrome": "13",
|
||||||
|
"opera": "10.50",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "3.1",
|
||||||
|
"node": "0.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4.4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "10.1",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-export-namespace-from": {
|
||||||
|
"chrome": "72",
|
||||||
|
"deno": "1.0",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "80",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "60",
|
||||||
|
"opera_mobile": "51",
|
||||||
|
"safari": "14.1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11.0",
|
||||||
|
"android": "72",
|
||||||
|
"electron": "5.0"
|
||||||
|
},
|
||||||
|
"proposal-export-namespace-from": {
|
||||||
|
"chrome": "72",
|
||||||
|
"deno": "1.0",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "80",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "60",
|
||||||
|
"opera_mobile": "51",
|
||||||
|
"safari": "14.1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11.0",
|
||||||
|
"android": "72",
|
||||||
|
"electron": "5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
2
frontend/node_modules/@babel/compat-data/native-modules.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/native-modules.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/native-modules.json");
|
||||||
2
frontend/node_modules/@babel/compat-data/overlapping-plugins.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/overlapping-plugins.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/overlapping-plugins.json");
|
||||||
40
frontend/node_modules/@babel/compat-data/package.json
generated
vendored
Normal file
40
frontend/node_modules/@babel/compat-data/package.json
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "@babel/compat-data",
|
||||||
|
"version": "7.29.7",
|
||||||
|
"author": "The Babel Team (https://babel.dev/team)",
|
||||||
|
"license": "MIT",
|
||||||
|
"description": "The compat-data to determine required Babel plugins",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/babel/babel.git",
|
||||||
|
"directory": "packages/babel-compat-data"
|
||||||
|
},
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"exports": {
|
||||||
|
"./plugins": "./plugins.js",
|
||||||
|
"./native-modules": "./native-modules.js",
|
||||||
|
"./corejs2-built-ins": "./corejs2-built-ins.js",
|
||||||
|
"./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js",
|
||||||
|
"./overlapping-plugins": "./overlapping-plugins.js",
|
||||||
|
"./plugin-bugfixes": "./plugin-bugfixes.js"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.mjs && node ./scripts/build-modules-support.mjs && node ./scripts/build-bugfixes-targets.mjs"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"babel",
|
||||||
|
"compat-table",
|
||||||
|
"compat-data"
|
||||||
|
],
|
||||||
|
"devDependencies": {
|
||||||
|
"@mdn/browser-compat-data": "^6.0.8",
|
||||||
|
"core-js-compat": "^3.48.0",
|
||||||
|
"electron-to-chromium": "^1.5.278"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
},
|
||||||
|
"type": "commonjs"
|
||||||
|
}
|
||||||
2
frontend/node_modules/@babel/compat-data/plugin-bugfixes.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/plugin-bugfixes.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/plugin-bugfixes.json");
|
||||||
2
frontend/node_modules/@babel/compat-data/plugins.js
generated
vendored
Normal file
2
frontend/node_modules/@babel/compat-data/plugins.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/plugins.json");
|
||||||
22
frontend/node_modules/@babel/core/LICENSE
generated
vendored
Normal file
22
frontend/node_modules/@babel/core/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user