ajout de jest 🧪
continuous-integration/drone/push Build is failing Details

pull/90/head
Pierre Ferreira 1 year ago
parent ace0ceef04
commit 292352e0f4

File diff suppressed because it is too large Load Diff

@ -2,6 +2,7 @@
"name": "cryptide", "name": "cryptide",
"version": "1.0.0", "version": "1.0.0",
"dependencies": { "dependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/fontawesome-svg-core": "^6.4.2",
"@fortawesome/free-regular-svg-icons": "^6.4.2", "@fortawesome/free-regular-svg-icons": "^6.4.2",
"@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2",
@ -13,6 +14,8 @@
"bootstrap": "^5.3.2", "bootstrap": "^5.3.2",
"cors": "^2.8.5", "cors": "^2.8.5",
"express": "^4.18.2", "express": "^4.18.2",
"jest": "^27.5.1",
"jest-config": "^29.7.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.9.1", "react-bootstrap": "^2.9.1",

@ -1,26 +0,0 @@
import React from 'react';
import { Link } from 'react-router-dom';
import './ButtonImgNav.css';
import { FormattedMessage } from 'react-intl';
import { useTheme } from '../Style/ThemeContext';
import COLORS from '../Style/Color';
//@ts-ignore
function BigButtonNav({ dest, img}) {
const theme = useTheme();
// const mystyle = {
// backgroundColor: "#0064E0",
// };
return (
<Link to={dest} className="link-without-underline">
<button className='bigbuttonNabImg' style={{ backgroundColor: theme.colors.primary }}>
<img src={img} alt="Button Image" height="100" width="100"/>
</button>
</Link>
);
}
export default BigButtonNav;

@ -1,42 +0,0 @@
.buttonNabImg{
margin: 15px 0;
width: auto;
height: 65px;
/* background-color: #85C9C2; */
/* color: #2A4541; */
border-radius: 15px;
border-width: 0;
font-size:large;
display: flex;
flex-direction: row;
align-items: center;
}
.bigbuttonNabImg{
margin: 15px 0;
width: auto;
height: 100px;
/* background-color: #85C9C2; */
/* color: #2A4541; */
border-radius: 15px;
border-width: 0;
font-size:large;
display: flex;
flex-direction: row;
align-items: center;
}
.buttonNabImg p {
color:white;
margin-top: 15px;
}
.link-without-underline {
text-decoration: none;
}

@ -1,21 +0,0 @@
import React from 'react';
import { Link } from 'react-router-dom';
import './ButtonImgNav.css';
import { FormattedMessage } from 'react-intl';
import { useTheme } from '../Style/ThemeContext';
//@ts-ignore
function ButtonImgNav({ dest, img, text = "" }) {
const theme = useTheme();
return (
<Link to={dest} className="link-without-underline"> {/*target='_blank' ==> ouvre un nouvelle onglet*/ }
<button className='buttonNabImg' style={{ backgroundColor: theme.colors.primary, color: theme.colors.secondary}}>
<img src={img} alt="Button Image" height="50" width="50"/>
<p>{text}</p>
</button>
</Link>
);
}
export default ButtonImgNav;

@ -1,21 +0,0 @@
.choice-bar-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.choice-bar-heading {
font-size: 1.5em;
color: #333;
}
.choice-bar-button {
margin: 5px;
padding: 10px;
/* background-color: lightseagreen; */
color: #fff;
border: 2px solid grey;
border-radius: 5px;
cursor: pointer;
}

@ -1,72 +0,0 @@
import React from 'react';
import { useGame } from '../Contexts/GameContext';
import { socket } from '../SocketConfig';
import './ChoiceBar.css';
import { useTheme } from '../Style/ThemeContext';
import IndiceTesterFactory from '../model/Factory/IndiceTesterFactory';
import { positionToColor } from '../ColorHelper';
const ChoiceBar = () => {
const { players, nodeId, actualPlayerIndex, personNetwork, indices, room } = useGame();
const theme = useTheme();
function askPlayer(playerId: string){
if (nodeId !== null){
socket.emit("ask player", nodeId, playerId, players.find((p) => p.id === socket.id, actualPlayerIndex))
}
}
async function askEveryone(){
if (nodeId !== null){
const person = personNetwork?.getPersons().find((p) => p.getId() == nodeId)
if (person != undefined){
const indiceTester = IndiceTesterFactory.Create(indices[actualPlayerIndex])
let nextPlayerIndex = actualPlayerIndex + 1
if (nextPlayerIndex == players.length){
nextPlayerIndex = 0
}
let playerIndex = actualPlayerIndex + 1
if (indiceTester.Works(person)){
socket.emit("node checked", nodeId, true, positionToColor(actualPlayerIndex), room, nextPlayerIndex)
while(playerIndex != actualPlayerIndex){
if (playerIndex == players.length){
playerIndex = 0
}
const tester = IndiceTesterFactory.Create(indices[playerIndex])
const works = tester.Works(person)
await delay(500);
socket.emit("asked all 1by1", person.getId(), players[playerIndex].id)
socket.emit("node checked", nodeId, works, positionToColor(playerIndex), room, nextPlayerIndex)
if(!works){
return
}
playerIndex ++
}
}
}
}
}
function delay(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms));
}
return (
<div className="choice-bar-container">
<h3 className="choice-bar-heading">Quel joueur voulez-vous interroger ?</h3>
<div>
<button className="choice-bar-button" onClick={async () => await askEveryone()} style={{ backgroundColor: theme.colors.primary }}>Tout le monde</button>
{players.map((player, index) => (
player.id !== socket.id &&
<button key={index} className="choice-bar-button" onClick={() => askPlayer(player.id)} style={{ backgroundColor: theme.colors.primary }}>
{player.name}
</button>
))}
</div>
</div>
);
};
export default ChoiceBar;

@ -1,24 +0,0 @@
import React from 'react';
import { Link } from 'react-router-dom';
import '../Style/Global.css';
import { FormattedMessage } from 'react-intl';
import { useTheme } from '../Style/ThemeContext';
//@ts-ignore
function ColoredIndices({ letter, color}) {
const theme = useTheme();
// const mystyle = {
// backgroundColor: "#0064E0",
// };
return (
<div className='centerDivH' style={{ backgroundColor: theme.colors.primary }}>
<img src={letter} alt="Indice Letter"/>
</div>
);
}
export default ColoredIndices;

@ -1,14 +0,0 @@
#graph-container {
width: 100%;
height: 100vh;
/* padding: 20px; */
/* border-radius: 25px; */
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
background-color: #f5f5f5;
}

@ -1,310 +0,0 @@
import React, { useEffect } from "react";
import { DataSet, Network} from "vis-network/standalone/esm/vis-network";
import EdgesCreator from "../model/EdgesCreator";
import GraphCreator from "../model/Graph/GraphCreator";
import IndiceChooser from "../model/IndiceChooser";
import SportIndice from "../model/Indices/SportIndice";
import NetworkGenerator from "../model/NetworkGenerator";
import Sport from "../model/Sport";
import Stub from "../model/Stub";
import "./GraphContainer.css";
import NodePerson from "../model/Graph/NodePerson";
import IndiceTesterFactory from "../model/Factory/IndiceTesterFactory";
import GameCreator from "../model/GameCreator";
import io from 'socket.io-client';
import JSONParser from "../JSONParser";
import PersonNetwork from "../model/PersonsNetwork";
import Person from "../model/Person";
import Indice from "../model/Indices/Indice";
import { useLocation } from "react-router-dom";
import { useGame } from "../Contexts/GameContext";
import { socket } from "../SocketConfig"
import { colorToEmoji, positionToColor } from "../ColorHelper";
interface MyGraphComponentProps {
onNodeClick: (shouldShowChoiceBar: boolean) => void;
handleShowTurnBar: (shouldShowTurnBar: boolean) => void
handleTurnBarTextChange: (newTurnBarText: string) => void
changecptTour: (newcptTour : number) => void
solo : boolean
}
let lastAskingPlayer = 0
let lastNodeId = -1
let first = true
let askedWrong = false
let cptTour: number = 0
const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleShowTurnBar, handleTurnBarTextChange, changecptTour, solo}) => {
const { indices, indice, person, personNetwork, setNodeIdData, players, askedPersons, setActualPlayerIndexData, room, actualPlayerIndex, turnPlayerIndex, onlyFalse, setOnlyFalseData } = useGame();
const params = new URLSearchParams(window.location.search);
let playerIndex: number = turnPlayerIndex
let index = 0
for (let i=0; i<players.length; i++){
if(players[i].id == socket.id){
index=i
break
}
}
let thisPlayerIndex = index
if (first){
first = false
if (!solo){
setActualPlayerIndexData(index)
if (playerIndex == thisPlayerIndex){
handleTurnBarTextChange("À vous de jouer")
handleShowTurnBar(true)
}
}
}
//* fonction qui reinitialise le graphe
const resGraph = () => { //? comment accéder au nework ??
const savedGraphStateString = localStorage.getItem('graphState');
if (savedGraphStateString !== null) {
const savedGraphState = JSON.parse(savedGraphStateString);
//network.setData(savedGraphState);
} else {
// La clé 'graphState' n'existe pas dans le localStorage, prenez une action en conséquence.
console.log("ayoooooo");
}
};
useEffect(() => {
if (personNetwork == null){
return
}
const graph = GraphCreator.CreateGraph(personNetwork)
let n = graph.nodesPerson;
let e = graph.edges;
const graphState = { n, e };
// Sauvegarder l'état dans localStorage
localStorage.setItem('graphState', JSON.stringify(graphState));
const container = document.getElementById('graph-container');
if (!container) {
console.error("Container not found");
return;
}
// Charger les données dans le graph
const nodes = new DataSet(graph.nodesPerson);
// Configuration des options du Graphe
const initialOptions = {
layout: {
improvedLayout: true,
hierarchical: {
enabled: false,
direction: 'LR', // LR (Left to Right) ou autre selon votre préférence
sortMethod: 'hubsize'
}
},
physics: {
enabled: true,
barnesHut: {
gravitationalConstant: -1000,
springConstant: 0.001,
springLength: 100
}
}
};
const networkData = { nodes: nodes, edges: graph.edges };
const network = new Network(container, networkData, initialOptions);
if (!solo){
socket.on("asked all", (id) =>{
const pers = personNetwork.getPersons().find((p) => p.getId() == id)
if (pers!=undefined){
askedPersons.push(pers)
}
})
socket.on("node checked",(id, works, color, newPlayerIndex) => {
//@ts-ignore
const node = nodes.get().find((n) => id == n.id)
if (node!=undefined){
onNodeClick(false)
playerIndex = newPlayerIndex
if (!node.label.includes(colorToEmoji(color, works))){
networkData.nodes.update({id: id, label: node.label + colorToEmoji(color, works)})
}
if (playerIndex === thisPlayerIndex){
handleTurnBarTextChange("À vous de jouer")
handleShowTurnBar(true)
}
else{
handleShowTurnBar(false)
}
}
lastAskingPlayer = 0
lastNodeId = -1
})
socket.on("already asked", (nodeId, askedPlayer) =>{
console.log("player: " + askedPlayer + " already asked on node " + nodeId)
})
socket.on("asked wrong", () =>{
setOnlyFalseData(true)
askedWrong = true
handleShowTurnBar(true)
handleTurnBarTextChange("Mauvais choix, posez un carré !")
})
socket.on("asked", (nodeId, askingPlayer, askingPlayerIndex) => {
console.log(askingPlayerIndex)
if (askingPlayer.id !== lastAskingPlayer || nodeId !== lastNodeId ){
lastAskingPlayer = askingPlayer.id
lastNodeId = nodeId
const pers = personNetwork.getPersons().find((p) => p.getId() == nodeId)
if (pers!=undefined){
if (askedPersons.includes(pers)){
socket.emit("already asked", nodeId, askingPlayer, socket.id)
return
}
else{
askedPersons.push(pers)
//@ts-ignore
const node = nodes.get().find((n) => nodeId == n.id)
if (node != undefined && indice != null){
var tester = IndiceTesterFactory.Create(indice)
let maybe = thisPlayerIndex
playerIndex = playerIndex + 1
if(playerIndex == players.length){
playerIndex = 0
}
if (tester.Works(pers)){
socket.emit("node checked", nodeId, true, positionToColor(thisPlayerIndex), room, playerIndex)
}
else{
maybe = maybe - 1
if(maybe == 0){
maybe = players.length - 1
}
socket.emit("node checked", nodeId, false, positionToColor(thisPlayerIndex), room, maybe)
socket.emit("asked wrong", askingPlayer, room)
}
}
}
}
}
})
}
personNetwork.getPersons().forEach(p => {
let a = 0
for (let i of indices){
let tester = IndiceTesterFactory.Create(i)
if (tester.Works(p)){
a++
}
}
if (a==indices.length){
//networkData.nodes.update({id: p.getId(), label: p.getName() + "\n🔵"})
console.log(p)
}
});
// Gérer le changement entre la physique et le déplacement manuel
network.on("dragging", (params) => {
if (params.nodes.length > 0) {
// Un nœud a été cliqué
initialOptions.physics.enabled = false;
network.setOptions(initialOptions);
}
});
network.on("click", async (params) => {
if(params.nodes.length > 0){
setNodeIdData(params.nodes[0])
if (!solo){
if (askedWrong){
//@ts-ignore
const person = personNetwork?.getPersons().find((p) => p.getId() == params.nodes[0])
if (person !== undefined && indice !== null){
const tester = IndiceTesterFactory.Create(indice)
if (!tester.Works(person) && !askedPersons.includes(person)){
playerIndex = thisPlayerIndex + 1
if(playerIndex == players.length){
playerIndex = 0
}
socket.emit("node checked", params.nodes[0], false, positionToColor(thisPlayerIndex), room, playerIndex)
askedPersons.push(person)
askedWrong = false
}
}
}
else if (thisPlayerIndex == playerIndex){
onNodeClick(true)
}
else{
onNodeClick(false)
}
}
else{ // si solo -> Mastermind
//@ts-ignore
const person = personNetwork?.getPersons().find((p) => p.getId() == params.nodes[0]) //person sélectionnée
if (person != undefined){
let index = 0;
// indices.forEach(async (i, index) =>{
for(const i of indices){
const tester = IndiceTesterFactory.Create(i)
const test = tester.Works(person)
//@ts-ignore
const node = nodes.get().find((n) => params.nodes[0] == n.id)
if (node!=undefined){
networkData.nodes.update({id: params.nodes[0], label: node.label + colorToEmoji(positionToColor(index), test)})
await delay(500);
}
index ++;
}
cptTour ++; // On Incrémente le nombre de tour du joueur
changecptTour(cptTour); // On le transmet a la page précédente avec la fonction
}
}
}
// Renvoyer un true pour afficher la choice bar
else{
// Renvoyer un false pour cacher la choice bar
onNodeClick(false)
}
});
}, []); // Le tableau vide signifie que cela ne s'exécutera qu'une fois après le premier rendu
return (
<>
<div id="graph-container"/>
<button onClick={resGraph}>
reinitialisation
</button>
</>
);
function delay(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms));
}
}
export default MyGraphComponent;

@ -1,34 +0,0 @@
import React from 'react';
/* Style */
import '../Style/Global.css';
//import { useTheme } from '../Style/ThemeContext';
/* Model */
import Stub from '../model/Stub';
import Indice from '../model/Indices/Indice';
/* lang */
import { FormattedMessage } from 'react-intl';
interface IndiceListComponentProps<T extends Indice> {
instance: (new (...args: any[]) => T) | (Function & { prototype: T });
lang: string;
}
const IndiceList: React.FC<IndiceListComponentProps<any>> = ({ instance, lang }) => {
const indices = Stub.GenerateIndice();
return (
<>
<ul className='listContainer'>
{indices
.filter((i) => i instanceof instance)
.map((indice, index) => (
<p key={index}>{indice.ToString(lang)}</p>
))}
</ul>
</>
);
}
export default IndiceList;

@ -1,37 +0,0 @@
.custom-navbar{
/* background-color: #85C9C2; */
color: #fff;
text-emphasis-color: #fff;
}
.navbar-title {
font-size: 24px;
}
.navbar-title-dd {
font-size: 24px;
color: #fff;
border-radius: 15px;
}
.navbar-title-dd a {
color: #fff;
border-radius: 15;
padding: 10px 20px; /* Ajustez le rembourrage selon vos préférences */
text-decoration: none; /* Pour supprimer le soulignement des liens */
display: inline-block; /* Pour que les styles de fond s'appliquent aux liens */
margin-right: 10px; /* Pour ajouter de l'espace entre les boutons */
}
.centerdiv{
display: flex;
justify-content: center;
}
.leftdiv{
display: flex;
justify-content: start;
}

@ -1,90 +0,0 @@
import React from 'react';
/* Naviagtion */
import { Navbar, Container, Nav, NavDropdown } from 'react-bootstrap';
/* Lang */
import { FormattedMessage } from 'react-intl';
/* Icon */
import { BiLogInCircle } from 'react-icons/bi';
import { BsFillPersonPlusFill } from 'react-icons/bs';
import { HiLanguage } from 'react-icons/hi2';
/* Images */
import logo from '../res/img/logo2_preview_rev_1.png';
/* Components */
import ReactCountryFlag from "react-country-flag"
/* Style */
import './NavBar.css';
/* Style */
import { useTheme } from '../Style/ThemeContext';
// @ts-ignore
function AppNavbar({changeLocale}) {
const theme = useTheme();
return (
<Navbar expand="lg" className="custom-navbar" style={{ backgroundColor: theme.colors.primary }}>
<Container>
<Navbar.Brand href="/">
<img src={logo} alt="logo" className="logo"/>
</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="me-auto">
<NavDropdown title={<span style={{color:theme.colors.text}}><FormattedMessage id="play"/></span>} className="navbar-title" id="basic-nav-dropdown" >
<NavDropdown.Item href="play"><FormattedMessage id="play_solo"/> </NavDropdown.Item>
<NavDropdown.Divider />
<NavDropdown.Item href="play"><FormattedMessage id="create_room"/> </NavDropdown.Item>
<NavDropdown.Item href="play"><FormattedMessage id="join"/> </NavDropdown.Item>
</NavDropdown>
</Nav>
<div className='leftdiv'>
<Nav className="ml-auto navbar-title-dd">
<Nav.Link href="login" className='navbar-title-dd' style={{ backgroundColor: theme.colors.secondary }}>
<BiLogInCircle/>
<FormattedMessage id="log_in"/>
</Nav.Link>
<Nav.Link href="signup" className='navbar-title-dd' style={{ backgroundColor: theme.colors.secondary }}>
<BsFillPersonPlusFill/>
<FormattedMessage id="sign_up"/>
</Nav.Link>
</Nav>
<Nav className="me-auto">
<NavDropdown
title={<span><HiLanguage /></span>}
className="navbar-title" id="basic-nav-dropdown">
<NavDropdown.Item onClick={() => changeLocale('fr')}>
<ReactCountryFlag countryCode="FR"
svg
style={{
width: '30px',
height: '20px',
margin: 'auto 10px 3px auto',
}}/>
<FormattedMessage id="languageSelector.french"/>
</NavDropdown.Item>
<NavDropdown.Item onClick={() => changeLocale('en')}>
<ReactCountryFlag countryCode="GB"
svg
style={{
width: '30px',
height: '20px',
margin: 'auto 10px 3px auto',
}}/>
<FormattedMessage id="languageSelector.english"/>
</NavDropdown.Item>
</NavDropdown>
</Nav>
</div>
</Navbar.Collapse>
</Container>
</Navbar>
);
}
export default AppNavbar;

@ -1,25 +0,0 @@
import React from 'react';
/* Style */
import '../Style/Global.css'
import { useTheme } from '../Style/ThemeContext';
/* Ressources */
import Person from '../res/img/Person.png'
import leave from '../res/img/bot.png'
//@ts-ignore
function PersonStatus({img = Person, state= Person, name = "Dummy"}) {
const theme=useTheme();
return (
<div className='centerDivV'>
<img src={img} alt="player" height="100" width="100"/>
<h4>{name}</h4>
<div className='statusDiv' style={{ backgroundColor: theme.colors.primary }}>
<img src={state} alt="state" height="30" width="30"/>
</div>
</div>
);
}
export default PersonStatus;

@ -1,37 +0,0 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import '../Style/Global.css';
import Bot from '../res/img/bot.png';
/* Boostrap */
import ToggleButton from 'react-bootstrap/ToggleButton';
import ToggleButtonGroup from 'react-bootstrap/ToggleButtonGroup';
//@ts-ignore
function PlayerItemList({ pdp, name, id}) {
const isBot = pdp === Bot;
return (
<div className='item-horizontal-div-container'>
<div className='item-horizontal-div'>
<img src={pdp} alt='player-image' height='100' width='100' />
<h4>{name}</h4>
</div>
{isBot && (
<ToggleButtonGroup type='radio' name={`options-${id}`} defaultValue={1}>
<ToggleButton id={`tbg-radio-1-${id}`} value={1}>
Facile
</ToggleButton>
<ToggleButton id={`tbg-radio-2-${id}`} value={2}>
Intermédiaire
</ToggleButton>
<ToggleButton id={`tbg-radio-3-${id}`} value={3}>
Fort
</ToggleButton>
</ToggleButtonGroup>
)}
</div>
)
}
export default PlayerItemList;

@ -1,21 +0,0 @@
import React from 'react';
import { colorToEmoji, positionToColor } from '../ColorHelper';
import PersonStatus from './PersonStatus';
//@ts-ignore
function PlayerList({ players }) {
return (
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: '16px' }}>
{
//@ts-ignore
players.map((player, index) => (
<PersonStatus key={index} state={player.state} name={player.name + " " + colorToEmoji(positionToColor(index), true)} />
))
}
</div>
);
}
export default PlayerList;

@ -1,21 +0,0 @@
import React from "react";
import { useTheme } from "../Style/ThemeContext";
interface TurnBarProps{
text: string
}
const TurnBar: React.FC<TurnBarProps> = ({text})=> {
const theme = useTheme();
return (
<div className='upperInfo'
style={{
borderColor: theme.colors.secondary
}}>
{/* texte changeable et a traduire */}
<p>{text}</p>
</div>
);
};
export default TurnBar;

@ -47,7 +47,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz"
integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.23.2" version "7.23.2"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz" resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz"
integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==
@ -87,7 +87,7 @@
"@jridgewell/trace-mapping" "^0.3.17" "@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1" jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.22.5": "@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5":
version "7.22.5" version "7.22.5"
resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz"
integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
@ -112,7 +112,7 @@
lru-cache "^5.1.1" lru-cache "^5.1.1"
semver "^6.3.1" semver "^6.3.1"
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5":
version "7.22.15" version "7.22.15"
resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz"
integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==
@ -358,6 +358,16 @@
"@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-proposal-private-property-in-object@^7.21.11":
version "7.21.11"
resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz"
integrity sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-create-class-features-plugin" "^7.21.0"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
version "7.21.0-placeholder-for-preset-env.2" version "7.21.0-placeholder-for-preset-env.2"
resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz"
@ -447,7 +457,7 @@
dependencies: dependencies:
"@babel/helper-plugin-utils" "^7.8.0" "@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-jsx@^7.22.5": "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2":
version "7.22.5" version "7.22.5"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz"
integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==
@ -1464,6 +1474,18 @@
jest-util "^28.1.3" jest-util "^28.1.3"
slash "^3.0.0" slash "^3.0.0"
"@jest/console@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz"
integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
dependencies:
"@jest/types" "^29.6.3"
"@types/node" "*"
chalk "^4.0.0"
jest-message-util "^29.7.0"
jest-util "^29.7.0"
slash "^3.0.0"
"@jest/core@^27.5.1": "@jest/core@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz"
@ -1508,6 +1530,16 @@
"@types/node" "*" "@types/node" "*"
jest-mock "^27.5.1" jest-mock "^27.5.1"
"@jest/environment@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz"
integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
dependencies:
"@jest/fake-timers" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
jest-mock "^29.7.0"
"@jest/expect-utils@^29.7.0": "@jest/expect-utils@^29.7.0":
version "29.7.0" version "29.7.0"
resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz"
@ -1515,6 +1547,14 @@
dependencies: dependencies:
jest-get-type "^29.6.3" jest-get-type "^29.6.3"
"@jest/expect@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz"
integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
dependencies:
expect "^29.7.0"
jest-snapshot "^29.7.0"
"@jest/fake-timers@^27.5.1": "@jest/fake-timers@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz"
@ -1527,6 +1567,18 @@
jest-mock "^27.5.1" jest-mock "^27.5.1"
jest-util "^27.5.1" jest-util "^27.5.1"
"@jest/fake-timers@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz"
integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==
dependencies:
"@jest/types" "^29.6.3"
"@sinonjs/fake-timers" "^10.0.2"
"@types/node" "*"
jest-message-util "^29.7.0"
jest-mock "^29.7.0"
jest-util "^29.7.0"
"@jest/globals@^27.5.1": "@jest/globals@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz"
@ -1536,6 +1588,16 @@
"@jest/types" "^27.5.1" "@jest/types" "^27.5.1"
expect "^27.5.1" expect "^27.5.1"
"@jest/globals@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz"
integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
dependencies:
"@jest/environment" "^29.7.0"
"@jest/expect" "^29.7.0"
"@jest/types" "^29.6.3"
jest-mock "^29.7.0"
"@jest/reporters@^27.5.1": "@jest/reporters@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz"
@ -1590,6 +1652,15 @@
graceful-fs "^4.2.9" graceful-fs "^4.2.9"
source-map "^0.6.0" source-map "^0.6.0"
"@jest/source-map@^29.6.3":
version "29.6.3"
resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz"
integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
dependencies:
"@jridgewell/trace-mapping" "^0.3.18"
callsites "^3.0.0"
graceful-fs "^4.2.9"
"@jest/test-result@^27.5.1": "@jest/test-result@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz"
@ -1610,6 +1681,16 @@
"@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0" collect-v8-coverage "^1.0.0"
"@jest/test-result@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz"
integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
dependencies:
"@jest/console" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
"@jest/test-sequencer@^27.5.1": "@jest/test-sequencer@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz"
@ -1620,6 +1701,16 @@
jest-haste-map "^27.5.1" jest-haste-map "^27.5.1"
jest-runtime "^27.5.1" jest-runtime "^27.5.1"
"@jest/test-sequencer@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz"
integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
dependencies:
"@jest/test-result" "^29.7.0"
graceful-fs "^4.2.9"
jest-haste-map "^29.7.0"
slash "^3.0.0"
"@jest/transform@^27.5.1": "@jest/transform@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz"
@ -1641,6 +1732,27 @@
source-map "^0.6.1" source-map "^0.6.1"
write-file-atomic "^3.0.0" write-file-atomic "^3.0.0"
"@jest/transform@^29.7.0":
version "29.7.0"
resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
dependencies:
"@babel/core" "^7.11.6"
"@jest/types" "^29.6.3"
"@jridgewell/trace-mapping" "^0.3.18"
babel-plugin-istanbul "^6.1.1"
chalk "^4.0.0"
convert-source-map "^2.0.0"
fast-json-stable-stringify "^2.1.0"
graceful-fs "^4.2.9"
jest-haste-map "^29.7.0"
jest-regex-util "^29.6.3"
jest-util "^29.7.0"
micromatch "^4.0.4"
pirates "^4.0.4"
slash "^3.0.0"
write-file-atomic "^4.0.2"
"@jest/types@^27.5.1": "@jest/types@^27.5.1":
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz"
@ -1708,7 +1820,7 @@
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.20" version "0.3.20"
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz"
integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
@ -1862,6 +1974,20 @@
dependencies: dependencies:
type-detect "4.0.8" type-detect "4.0.8"
"@sinonjs/commons@^3.0.0":
version "3.0.0"
resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz"
integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==
dependencies:
type-detect "4.0.8"
"@sinonjs/fake-timers@^10.0.2":
version "10.3.0"
resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz"
integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==
dependencies:
"@sinonjs/commons" "^3.0.0"
"@sinonjs/fake-timers@^8.0.1": "@sinonjs/fake-timers@^8.0.1":
version "8.1.0" version "8.1.0"
resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz"
@ -2189,7 +2315,7 @@
"@types/qs" "*" "@types/qs" "*"
"@types/serve-static" "*" "@types/serve-static" "*"
"@types/graceful-fs@^4.1.2": "@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3":
version "4.1.9" version "4.1.9"
resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==
@ -2464,9 +2590,9 @@
integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==
"@types/yargs@^16.0.0": "@types/yargs@^16.0.0":
version "16.0.7" version "16.0.8"
resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz" resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.8.tgz"
integrity sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg== integrity sha512-1GwLEkmFafeb/HbE6pC7tFlgYSQ4Iqh2qlWCq8xN+Qfaiaxr2PcLfuhfRFRYqI6XJyeFoLYyKnhFbNsst9FMtQ==
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"
@ -3089,6 +3215,19 @@ babel-jest@^27.4.2, babel-jest@^27.5.1:
graceful-fs "^4.2.9" graceful-fs "^4.2.9"
slash "^3.0.0" slash "^3.0.0"
babel-jest@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz"
integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
dependencies:
"@jest/transform" "^29.7.0"
"@types/babel__core" "^7.1.14"
babel-plugin-istanbul "^6.1.1"
babel-preset-jest "^29.6.3"
chalk "^4.0.0"
graceful-fs "^4.2.9"
slash "^3.0.0"
babel-loader@^8.2.3: babel-loader@^8.2.3:
version "8.3.0" version "8.3.0"
resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz"
@ -3120,6 +3259,16 @@ babel-plugin-jest-hoist@^27.5.1:
"@types/babel__core" "^7.0.0" "@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6" "@types/babel__traverse" "^7.0.6"
babel-plugin-jest-hoist@^29.6.3:
version "29.6.3"
resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
dependencies:
"@babel/template" "^7.3.3"
"@babel/types" "^7.3.3"
"@types/babel__core" "^7.1.14"
"@types/babel__traverse" "^7.0.6"
babel-plugin-macros@^3.1.0: babel-plugin-macros@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz"
@ -3189,6 +3338,14 @@ babel-preset-jest@^27.5.1:
babel-plugin-jest-hoist "^27.5.1" babel-plugin-jest-hoist "^27.5.1"
babel-preset-current-node-syntax "^1.0.0" babel-preset-current-node-syntax "^1.0.0"
babel-preset-jest@^29.6.3:
version "29.6.3"
resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
dependencies:
babel-plugin-jest-hoist "^29.6.3"
babel-preset-current-node-syntax "^1.0.0"
babel-preset-react-app@^10.0.1: babel-preset-react-app@^10.0.1:
version "10.0.1" version "10.0.1"
resolved "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" resolved "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz"
@ -4014,6 +4171,11 @@ dedent@^0.7.0:
resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz"
integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
dedent@^1.0.0:
version "1.5.1"
resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz"
integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==
deep-equal@^2.0.5: deep-equal@^2.0.5:
version "2.2.2" version "2.2.2"
resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz" resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz"
@ -4297,6 +4459,11 @@ emittery@^0.10.2:
resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz"
integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==
emittery@^0.13.1:
version "0.13.1"
resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz"
integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
emittery@^0.8.1: emittery@^0.8.1:
version "0.8.1" version "0.8.1"
resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz"
@ -4866,7 +5033,7 @@ expect@^27.5.1:
jest-matcher-utils "^27.5.1" jest-matcher-utils "^27.5.1"
jest-message-util "^27.5.1" jest-message-util "^27.5.1"
expect@^29.0.0: expect@^29.0.0, expect@^29.7.0:
version "29.7.0" version "29.7.0"
resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz"
integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
@ -6031,6 +6198,32 @@ jest-circus@^27.5.1:
stack-utils "^2.0.3" stack-utils "^2.0.3"
throat "^6.0.1" throat "^6.0.1"
jest-circus@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz"
integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
dependencies:
"@jest/environment" "^29.7.0"
"@jest/expect" "^29.7.0"
"@jest/test-result" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
chalk "^4.0.0"
co "^4.6.0"
dedent "^1.0.0"
is-generator-fn "^2.0.0"
jest-each "^29.7.0"
jest-matcher-utils "^29.7.0"
jest-message-util "^29.7.0"
jest-runtime "^29.7.0"
jest-snapshot "^29.7.0"
jest-util "^29.7.0"
p-limit "^3.1.0"
pretty-format "^29.7.0"
pure-rand "^6.0.0"
slash "^3.0.0"
stack-utils "^2.0.3"
jest-cli@^27.5.1: jest-cli@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz"
@ -6079,6 +6272,34 @@ jest-config@^27.5.1:
slash "^3.0.0" slash "^3.0.0"
strip-json-comments "^3.1.1" strip-json-comments "^3.1.1"
jest-config@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz"
integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
dependencies:
"@babel/core" "^7.11.6"
"@jest/test-sequencer" "^29.7.0"
"@jest/types" "^29.6.3"
babel-jest "^29.7.0"
chalk "^4.0.0"
ci-info "^3.2.0"
deepmerge "^4.2.2"
glob "^7.1.3"
graceful-fs "^4.2.9"
jest-circus "^29.7.0"
jest-environment-node "^29.7.0"
jest-get-type "^29.6.3"
jest-regex-util "^29.6.3"
jest-resolve "^29.7.0"
jest-runner "^29.7.0"
jest-util "^29.7.0"
jest-validate "^29.7.0"
micromatch "^4.0.4"
parse-json "^5.2.0"
pretty-format "^29.7.0"
slash "^3.0.0"
strip-json-comments "^3.1.1"
jest-diff@^27.5.1: jest-diff@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz"
@ -6106,6 +6327,13 @@ jest-docblock@^27.5.1:
dependencies: dependencies:
detect-newline "^3.0.0" detect-newline "^3.0.0"
jest-docblock@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz"
integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
dependencies:
detect-newline "^3.0.0"
jest-each@^27.5.1: jest-each@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz"
@ -6117,6 +6345,17 @@ jest-each@^27.5.1:
jest-util "^27.5.1" jest-util "^27.5.1"
pretty-format "^27.5.1" pretty-format "^27.5.1"
jest-each@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz"
integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
dependencies:
"@jest/types" "^29.6.3"
chalk "^4.0.0"
jest-get-type "^29.6.3"
jest-util "^29.7.0"
pretty-format "^29.7.0"
jest-environment-jsdom@^27.5.1: jest-environment-jsdom@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz"
@ -6142,6 +6381,18 @@ jest-environment-node@^27.5.1:
jest-mock "^27.5.1" jest-mock "^27.5.1"
jest-util "^27.5.1" jest-util "^27.5.1"
jest-environment-node@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz"
integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
dependencies:
"@jest/environment" "^29.7.0"
"@jest/fake-timers" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
jest-mock "^29.7.0"
jest-util "^29.7.0"
jest-get-type@^27.5.1: jest-get-type@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz"
@ -6172,6 +6423,25 @@ jest-haste-map@^27.5.1:
optionalDependencies: optionalDependencies:
fsevents "^2.3.2" fsevents "^2.3.2"
jest-haste-map@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
dependencies:
"@jest/types" "^29.6.3"
"@types/graceful-fs" "^4.1.3"
"@types/node" "*"
anymatch "^3.0.3"
fb-watchman "^2.0.0"
graceful-fs "^4.2.9"
jest-regex-util "^29.6.3"
jest-util "^29.7.0"
jest-worker "^29.7.0"
micromatch "^4.0.4"
walker "^1.0.8"
optionalDependencies:
fsevents "^2.3.2"
jest-jasmine2@^27.5.1: jest-jasmine2@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz"
@ -6203,6 +6473,14 @@ jest-leak-detector@^27.5.1:
jest-get-type "^27.5.1" jest-get-type "^27.5.1"
pretty-format "^27.5.1" pretty-format "^27.5.1"
jest-leak-detector@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
dependencies:
jest-get-type "^29.6.3"
pretty-format "^29.7.0"
jest-matcher-utils@^27.5.1: jest-matcher-utils@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz"
@ -6276,6 +6554,15 @@ jest-mock@^27.5.1:
"@jest/types" "^27.5.1" "@jest/types" "^27.5.1"
"@types/node" "*" "@types/node" "*"
jest-mock@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz"
integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
dependencies:
"@jest/types" "^29.6.3"
"@types/node" "*"
jest-util "^29.7.0"
jest-pnp-resolver@^1.2.2: jest-pnp-resolver@^1.2.2:
version "1.2.3" version "1.2.3"
resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
@ -6291,6 +6578,11 @@ jest-regex-util@^28.0.0:
resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz"
integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==
jest-regex-util@^29.6.3:
version "29.6.3"
resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
jest-resolve-dependencies@^27.5.1: jest-resolve-dependencies@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz"
@ -6316,6 +6608,21 @@ jest-resolve@*, jest-resolve@^27.4.2, jest-resolve@^27.5.1:
resolve.exports "^1.1.0" resolve.exports "^1.1.0"
slash "^3.0.0" slash "^3.0.0"
jest-resolve@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz"
integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
dependencies:
chalk "^4.0.0"
graceful-fs "^4.2.9"
jest-haste-map "^29.7.0"
jest-pnp-resolver "^1.2.2"
jest-util "^29.7.0"
jest-validate "^29.7.0"
resolve "^1.20.0"
resolve.exports "^2.0.0"
slash "^3.0.0"
jest-runner@^27.5.1: jest-runner@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz"
@ -6343,6 +6650,33 @@ jest-runner@^27.5.1:
source-map-support "^0.5.6" source-map-support "^0.5.6"
throat "^6.0.1" throat "^6.0.1"
jest-runner@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz"
integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
dependencies:
"@jest/console" "^29.7.0"
"@jest/environment" "^29.7.0"
"@jest/test-result" "^29.7.0"
"@jest/transform" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
chalk "^4.0.0"
emittery "^0.13.1"
graceful-fs "^4.2.9"
jest-docblock "^29.7.0"
jest-environment-node "^29.7.0"
jest-haste-map "^29.7.0"
jest-leak-detector "^29.7.0"
jest-message-util "^29.7.0"
jest-resolve "^29.7.0"
jest-runtime "^29.7.0"
jest-util "^29.7.0"
jest-watcher "^29.7.0"
jest-worker "^29.7.0"
p-limit "^3.1.0"
source-map-support "0.5.13"
jest-runtime@^27.5.1: jest-runtime@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz"
@ -6371,6 +6705,34 @@ jest-runtime@^27.5.1:
slash "^3.0.0" slash "^3.0.0"
strip-bom "^4.0.0" strip-bom "^4.0.0"
jest-runtime@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz"
integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
dependencies:
"@jest/environment" "^29.7.0"
"@jest/fake-timers" "^29.7.0"
"@jest/globals" "^29.7.0"
"@jest/source-map" "^29.6.3"
"@jest/test-result" "^29.7.0"
"@jest/transform" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
chalk "^4.0.0"
cjs-module-lexer "^1.0.0"
collect-v8-coverage "^1.0.0"
glob "^7.1.3"
graceful-fs "^4.2.9"
jest-haste-map "^29.7.0"
jest-message-util "^29.7.0"
jest-mock "^29.7.0"
jest-regex-util "^29.6.3"
jest-resolve "^29.7.0"
jest-snapshot "^29.7.0"
jest-util "^29.7.0"
slash "^3.0.0"
strip-bom "^4.0.0"
jest-serializer@^27.5.1: jest-serializer@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz"
@ -6407,6 +6769,32 @@ jest-snapshot@^27.5.1:
pretty-format "^27.5.1" pretty-format "^27.5.1"
semver "^7.3.2" semver "^7.3.2"
jest-snapshot@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz"
integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
dependencies:
"@babel/core" "^7.11.6"
"@babel/generator" "^7.7.2"
"@babel/plugin-syntax-jsx" "^7.7.2"
"@babel/plugin-syntax-typescript" "^7.7.2"
"@babel/types" "^7.3.3"
"@jest/expect-utils" "^29.7.0"
"@jest/transform" "^29.7.0"
"@jest/types" "^29.6.3"
babel-preset-current-node-syntax "^1.0.0"
chalk "^4.0.0"
expect "^29.7.0"
graceful-fs "^4.2.9"
jest-diff "^29.7.0"
jest-get-type "^29.6.3"
jest-matcher-utils "^29.7.0"
jest-message-util "^29.7.0"
jest-util "^29.7.0"
natural-compare "^1.4.0"
pretty-format "^29.7.0"
semver "^7.5.3"
jest-util@^27.5.1: jest-util@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz"
@ -6455,6 +6843,18 @@ jest-validate@^27.5.1:
leven "^3.1.0" leven "^3.1.0"
pretty-format "^27.5.1" pretty-format "^27.5.1"
jest-validate@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz"
integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
dependencies:
"@jest/types" "^29.6.3"
camelcase "^6.2.0"
chalk "^4.0.0"
jest-get-type "^29.6.3"
leven "^3.1.0"
pretty-format "^29.7.0"
jest-watch-typeahead@^1.0.0: jest-watch-typeahead@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz"
@ -6495,6 +6895,20 @@ jest-watcher@^28.0.0:
jest-util "^28.1.3" jest-util "^28.1.3"
string-length "^4.0.1" string-length "^4.0.1"
jest-watcher@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz"
integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
dependencies:
"@jest/test-result" "^29.7.0"
"@jest/types" "^29.6.3"
"@types/node" "*"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
emittery "^0.13.1"
jest-util "^29.7.0"
string-length "^4.0.1"
jest-worker@^26.2.1: jest-worker@^26.2.1:
version "26.6.2" version "26.6.2"
resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz"
@ -6522,7 +6936,17 @@ jest-worker@^28.0.2:
merge-stream "^2.0.0" merge-stream "^2.0.0"
supports-color "^8.0.0" supports-color "^8.0.0"
"jest@^27.0.0 || ^28.0.0", jest@^27.4.3: jest-worker@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
dependencies:
"@types/node" "*"
jest-util "^29.7.0"
merge-stream "^2.0.0"
supports-color "^8.0.0"
"jest@^27.0.0 || ^28.0.0", jest@^27.4.3, jest@^27.5.1:
version "27.5.1" version "27.5.1"
resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz"
integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==
@ -7292,7 +7716,7 @@ p-limit@^2.2.0:
dependencies: dependencies:
p-try "^2.0.0" p-try "^2.0.0"
p-limit@^3.0.2: p-limit@^3.0.2, p-limit@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
@ -8122,6 +8546,11 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
pure-rand@^6.0.0:
version "6.0.4"
resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz"
integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==
q@^1.1.2: q@^1.1.2:
version "1.5.1" version "1.5.1"
resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
@ -8597,6 +9026,11 @@ resolve.exports@^1.1.0:
resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz" resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz"
integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==
resolve.exports@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz"
integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==
resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4: resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4:
version "1.22.8" version "1.22.8"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz"
@ -8910,7 +9344,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2" get-intrinsic "^1.0.2"
object-inspect "^1.9.0" object-inspect "^1.9.0"
signal-exit@^3.0.2, signal-exit@^3.0.3: signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7" version "3.0.7"
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@ -9004,6 +9438,14 @@ source-map-support@^0.5.6, source-map-support@~0.5.20:
buffer-from "^1.0.0" buffer-from "^1.0.0"
source-map "^0.6.0" source-map "^0.6.0"
source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map@^0.6.0: source-map@^0.6.0:
version "0.6.1" version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
@ -9840,7 +10282,7 @@ w3c-xmlserializer@^2.0.0:
dependencies: dependencies:
xml-name-validator "^3.0.0" xml-name-validator "^3.0.0"
walker@^1.0.7: walker@^1.0.7, walker@^1.0.8:
version "1.0.8" version "1.0.8"
resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz"
integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
@ -10306,6 +10748,14 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2" signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5" typedarray-to-buffer "^3.1.5"
write-file-atomic@^4.0.2:
version "4.0.2"
resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz"
integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
dependencies:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
ws@^7.4.6: ws@^7.4.6:
version "7.5.9" version "7.5.9"
resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz"

6
package-lock.json generated

@ -1,6 +0,0 @@
{
"name": "Cryptid",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}
Loading…
Cancel
Save