From b2db9b5e33672c72406b2a2fcffe7955f90235ef Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Mon, 15 Apr 2024 10:34:50 +0300 Subject: [PATCH 01/24] pass products vs repo to server logic --- packages/client/src/adapters/harness.tsx | 9 +++++---- packages/client/test/purchase.flow.spec.tsx | 3 +-- packages/client/test/search.flow.spec.tsx | 3 +-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index 8dfcad8..4298158 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -6,16 +6,17 @@ import {MemoryRouter} from "react-router-dom"; import {App} from "../components/App"; import {IOContextProvider} from "./context"; import userEvent from "@testing-library/user-event"; +import {ProductTemplate} from "@ts-react-tdd/server/src/types"; type AppContext = { - productRepo?: InMemoryProductRepository, - orderRepo?: InMemoryOrderRepository + products: ProductTemplate[] }; export async function makeApp({ - productRepo = new InMemoryProductRepository(), - orderRepo = new InMemoryOrderRepository() + products = [], }: AppContext) { + const productRepo = new InMemoryProductRepository(products); + const orderRepo = new InMemoryOrderRepository(); const fastify = createServerLogic(productRepo, orderRepo); const queryClient = new QueryClient(); diff --git a/packages/client/test/purchase.flow.spec.tsx b/packages/client/test/purchase.flow.spec.tsx index bf64378..2d5b396 100644 --- a/packages/client/test/purchase.flow.spec.tsx +++ b/packages/client/test/purchase.flow.spec.tsx @@ -1,12 +1,11 @@ import {aProduct} from "@ts-react-tdd/server/src/builders"; import {makeApp} from "../src/adapters/harness"; -import {InMemoryProductRepository} from "@ts-react-tdd/server/src/adapters/fakes"; test("a user can purchase a product, see the confirmation page and see their order summary, after which the cart is reset", async () => { const moogOne = aProduct({title: "Moog One"}); using harness = await makeApp({ - productRepo: new InMemoryProductRepository([moogOne]), + products: [moogOne], }); const {driver, orderRepo} = harness; diff --git a/packages/client/test/search.flow.spec.tsx b/packages/client/test/search.flow.spec.tsx index 25159d5..41d667a 100644 --- a/packages/client/test/search.flow.spec.tsx +++ b/packages/client/test/search.flow.spec.tsx @@ -1,7 +1,6 @@ import {aProduct} from "@ts-react-tdd/server/src/builders"; import {makeApp} from "../src/adapters/harness"; import userEvent from "@testing-library/user-event"; -import {InMemoryProductRepository} from "@ts-react-tdd/server/src/adapters/fakes"; test("Product search is case-insensitive", async () => { @@ -9,7 +8,7 @@ test("Product search is case-insensitive", async () => { const minimoog = aProduct({title: "Minimoog"}); const ob8x = aProduct({title: "OB 8x"}); using harness = await makeApp({ - productRepo: new InMemoryProductRepository([moogOne, minimoog, ob8x]), + products: [moogOne, minimoog, ob8x], }); const {driver} = harness; From 7304db51702a494d2372f23f4c00fad9d203db30 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Mon, 15 Apr 2024 10:44:28 +0300 Subject: [PATCH 02/24] introduced interfaces derived from Mongo impl --- packages/server/src/adapters/fakes.ts | 6 ++++-- packages/server/src/adapters/order.repo.ts | 4 +++- packages/server/src/adapters/product.repo.ts | 9 +-------- packages/server/src/routes.ts | 19 +++---------------- packages/server/src/server.ts | 9 ++++++++- 5 files changed, 19 insertions(+), 28 deletions(-) diff --git a/packages/server/src/adapters/fakes.ts b/packages/server/src/adapters/fakes.ts index d12d7ca..132b605 100644 --- a/packages/server/src/adapters/fakes.ts +++ b/packages/server/src/adapters/fakes.ts @@ -1,7 +1,9 @@ import { nanoid } from "nanoid"; import { Order, Product, ProductTemplate } from "../types"; +import {ProductRepository} from "./product.repo"; +import {OrderRepository} from "./order.repo"; -export class InMemoryProductRepository { +export class InMemoryProductRepository implements ProductRepository { private products: Product[] = [] constructor(products: ProductTemplate[] = []) { @@ -22,7 +24,7 @@ export class InMemoryProductRepository { } } -export class InMemoryOrderRepository { +export class InMemoryOrderRepository implements OrderRepository { orders: Order[] = []; async create(order: Omit): Promise { diff --git a/packages/server/src/adapters/order.repo.ts b/packages/server/src/adapters/order.repo.ts index 9b47f81..f824e84 100644 --- a/packages/server/src/adapters/order.repo.ts +++ b/packages/server/src/adapters/order.repo.ts @@ -23,4 +23,6 @@ export class MongoDBOrderRepository { return this.orders.findOne({_id: {$eq: new ObjectId(orderId)}}) .then(doc => doc ? docToOrder(doc) : null) } -} \ No newline at end of file +} + +export type OrderRepository = Omit; \ No newline at end of file diff --git a/packages/server/src/adapters/product.repo.ts b/packages/server/src/adapters/product.repo.ts index ab71350..b1bac73 100644 --- a/packages/server/src/adapters/product.repo.ts +++ b/packages/server/src/adapters/product.repo.ts @@ -26,17 +26,10 @@ export class MongoDBProductRepository { .toArray(); } - async findByIds(productIds: string[]): Promise { - return this.products.find({_id: {$in: productIds.map(id => new ObjectId(id))}}) - .map(docToProduct) - .toArray(); - } - async findById(productId: string): Promise { return this.products.findOne({_id: {$eq: new ObjectId(productId)}}) .then(doc => doc ? docToProduct(doc) : undefined) } } - - \ No newline at end of file +export type ProductRepository = Omit; \ No newline at end of file diff --git a/packages/server/src/routes.ts b/packages/server/src/routes.ts index 0580a62..66c65dc 100644 --- a/packages/server/src/routes.ts +++ b/packages/server/src/routes.ts @@ -1,28 +1,15 @@ -import {LineItem, Order, Product, ProductTemplate} from "./types"; +import {LineItem, ProductTemplate} from "./types"; import {FastifyInstance} from "fastify"; import {serializerCompiler, validatorCompiler, ZodTypeProvider} from "fastify-type-provider-zod"; import {z} from "zod"; +import { ProductRepository } from "./adapters/product.repo"; +import { OrderRepository } from "./adapters/order.repo"; type Cart = { id: string; items: LineItem[]; } -export interface ProductRepository { - findById(productId: Product["id"]): Promise; - - create(template: Omit): Promise; - - findAll(): Promise; -} - -export interface OrderRepository { - create(order: Omit): Promise; - - findById(orderId: string): Promise; - -} - const CartIdSchema = z.object({ cartId: z.string() }); diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts index 9f7ed6f..7d9d37a 100644 --- a/packages/server/src/server.ts +++ b/packages/server/src/server.ts @@ -1,6 +1,9 @@ import Fastify, {FastifyHttpOptions} from "fastify"; import cors from "@fastify/cors"; -import { createRoutes, OrderRepository, ProductRepository } from "./routes"; +import { createRoutes } from "./routes"; +import {ProductTemplate} from "./types"; +import { ProductRepository } from "./adapters/product.repo"; +import {OrderRepository} from "./adapters/order.repo"; export function createServerLogic(productRepo: ProductRepository, orderRepo: OrderRepository, opts?: FastifyHttpOptions) { const fastify = Fastify(opts); @@ -8,3 +11,7 @@ export function createServerLogic(productRepo: ProductRepository, orderRepo: Ord fastify.register(createRoutes(productRepo, orderRepo)); return fastify; } + +export function createTestingModule(products: ProductTemplate[] = []) { + +} \ No newline at end of file From 6c780528322f2e51a9d8d5ad3321b84378288187 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Mon, 15 Apr 2024 14:34:49 +0300 Subject: [PATCH 03/24] use nestjs --- packages/client/src/adapters/harness.tsx | 15 +- packages/client/src/hooks/cart.ts | 93 +- packages/server/package.json | 8 + packages/server/src/adapters/cart.repo.ts | 18 + .../server/src/adapters/{fakes.ts => fake.ts} | 3 +- packages/server/src/adapters/index.ts | 3 + packages/server/src/adapters/order.repo.ts | 2 + packages/server/src/adapters/product.repo.ts | 2 + packages/server/src/app.module.ts | 31 + packages/server/src/controllers.ts | 96 + packages/server/src/index.ts | 8 +- packages/server/src/routes.ts | 6 +- packages/server/src/server.ts | 28 +- packages/server/src/types.ts | 7 +- packages/server/test/order.repo.spec.ts | 2 +- packages/server/test/product.repo.spec.ts | 2 +- packages/server/tsconfig.json | 4 +- yarn.lock | 7309 +++++++++++++---- 18 files changed, 5957 insertions(+), 1680 deletions(-) create mode 100644 packages/server/src/adapters/cart.repo.ts rename packages/server/src/adapters/{fakes.ts => fake.ts} (99%) create mode 100644 packages/server/src/adapters/index.ts create mode 100644 packages/server/src/app.module.ts create mode 100644 packages/server/src/controllers.ts diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index 4298158..0ac3dad 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -1,6 +1,5 @@ import {render, within} from "@testing-library/react"; -import {InMemoryOrderRepository, InMemoryProductRepository} from "@ts-react-tdd/server/src/adapters/fakes"; -import {createServerLogic} from "@ts-react-tdd/server/src/server"; +import {createTestingModule} from "@ts-react-tdd/server/src/server"; import {QueryClient, QueryClientProvider} from "react-query"; import {MemoryRouter} from "react-router-dom"; import {App} from "../components/App"; @@ -15,14 +14,14 @@ type AppContext = { export async function makeApp({ products = [], }: AppContext) { - const productRepo = new InMemoryProductRepository(products); - const orderRepo = new InMemoryOrderRepository(); - const fastify = createServerLogic(productRepo, orderRepo); + + const {nest, orderRepo, productRepo} = await createTestingModule(products); + const queryClient = new QueryClient(); - const baseUrl = await fastify.listen({host: '127.0.0.1', port: 0}); + const server = await nest.listen(0, "127.0.0.1"); - const app = render( + const app = render( ); const addProductToCart = async (title: string) => { @@ -56,7 +55,7 @@ export async function makeApp({ productRepo, orderRepo, driver, - [Symbol.dispose]: () => fastify.close(), + [Symbol.dispose]: () => server.close(), }; } diff --git a/packages/client/src/hooks/cart.ts b/packages/client/src/hooks/cart.ts index 50eb678..c826fc1 100644 --- a/packages/client/src/hooks/cart.ts +++ b/packages/client/src/hooks/cart.ts @@ -10,61 +10,68 @@ const KEY = "cartId"; const generateCartId = () => new Date().getTime().toString(); export const useCartId = () => { - const [cartId, setCartId] = useState(null); + const [cartId, setCartId] = useState(null); - const resetCartId = () => { - persistantStorage.setItem(KEY, null); - setCartId(null); - }; + const resetCartId = () => { + persistantStorage.setItem(KEY, null); + setCartId(null); + }; - useEffect(() => { - if (cartId === null) { - const savedValue = persistantStorage.getItem(KEY); - if (savedValue !== null) { - setCartId(savedValue); - } else { - const id = generateCartId(); - persistantStorage.setItem(KEY, id); - setCartId(id); - } - } - }, [cartId]); + useEffect(() => { + if (cartId === null) { + const savedValue = persistantStorage.getItem(KEY); + if (savedValue !== null) { + setCartId(savedValue); + } else { + const id = generateCartId(); + persistantStorage.setItem(KEY, id); + setCartId(id); + } + } + }, [cartId]); - return { cartId, resetCartId }; + return {cartId, resetCartId}; }; export const useCartSummary = (id: string) => { - const {cart} = useContext(IOContext); - const {data: summary, isLoading, error} = useQuery({ - queryKey: 'cartSummary', - queryFn: () => cart.getCartSummary(id) - }) + const {cart} = useContext(IOContext); + const {data: summary, isLoading, error} = useQuery({ + queryKey: 'cartSummary', + queryFn: () => cart.getCartSummary(id) + }) - const checkout = async () => { - return cart.checkout(id); - } + const checkout = async () => { + return cart.checkout(id); + } - return {isLoading, error, summary, checkout}; + return {isLoading, error, summary, checkout}; } export const useCartWidget = (cartId: string) => { - const {cart} = useContext(IOContext); + const {cart} = useContext(IOContext); - const itemCount = useQuery("itemCount", () => cart.getCount(cartId)); - const addItem = useMutation(async (productId: Product["id"]) => { - await cart.addItem(cartId, productId); - await itemCount.refetch(); - }); + const itemCount = useQuery({ + queryKey: "itemCount", + queryFn: () => cart.getCount(cartId), + onError: (error) => console.error(error) + }); + const addItem = useMutation({ + onError: (error) => console.error(error), + mutationFn: async (productId: Product["id"]) => { + await cart.addItem(cartId, productId); + await itemCount.refetch(); + } + }); - const navigate = useNavigate(); + const navigate = useNavigate(); - const viewCart = () => { - navigate('/cart'); - } + const viewCart = () => { + navigate('/cart'); + } - return { - viewCart, - addItem: addItem.mutate, - itemCount: itemCount.data, - fetched: itemCount.isFetched - } + return { + viewCart, + addItem: addItem.mutate, + itemCount: itemCount.data, + fetched: itemCount.isFetched + } } \ No newline at end of file diff --git a/packages/server/package.json b/packages/server/package.json index 8771b73..84648a5 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -12,6 +12,9 @@ "author": "", "license": "ISC", "devDependencies": { + "@nestjs/testing": "^10.3.7", + "@types/jest": "^28.1.8", + "@types/morgan": "^1.9.5", "@faker-js/faker": "^8.4.1", "@types/node": "^20.12.12", "nodemon": "^3.1.1", @@ -19,10 +22,15 @@ }, "dependencies": { "@fastify/cors": "^9.0.1", + "@nestjs/common": "^10.3.7", + "@nestjs/core": "^10.3.7", + "@nestjs/platform-express": "^10.3.7", "fastify": "^4.27.0", "fastify-type-provider-zod": "^1.2.0", "mongodb": "^6.6.2", "nanoid": "^5.0.7", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1", "ts-byob": "^1.0.3", "ts-node": "^10.9.2", "typescript": "^5.4.5", diff --git a/packages/server/src/adapters/cart.repo.ts b/packages/server/src/adapters/cart.repo.ts new file mode 100644 index 0000000..5d33f78 --- /dev/null +++ b/packages/server/src/adapters/cart.repo.ts @@ -0,0 +1,18 @@ +import {Cart, Product} from "../types"; +import {Injectable} from "@nestjs/common"; + +@Injectable() +export class MemoryCartRepository { + carts: Cart[] = []; + + async addToCart(cartId: string, product: Product) { + const cart = this.carts.find(({id}) => id === cartId) || {id: cartId, items: []}; + cart.items.push({productId: product.id, price: product.price, name: product.title}); + this.carts = this.carts.filter(({id}) => id !== cartId).concat(cart); + } + async findById(cartId: string): Promise { + return this.carts.find(({id}) => id === cartId) || null; + } +} + +export type CartRepository = Omit; \ No newline at end of file diff --git a/packages/server/src/adapters/fakes.ts b/packages/server/src/adapters/fake.ts similarity index 99% rename from packages/server/src/adapters/fakes.ts rename to packages/server/src/adapters/fake.ts index 132b605..2d2ddcd 100644 --- a/packages/server/src/adapters/fakes.ts +++ b/packages/server/src/adapters/fake.ts @@ -37,4 +37,5 @@ export class InMemoryOrderRepository implements OrderRepository { return this.orders.find(({id}) => id === orderId) || null; } -} \ No newline at end of file +} + diff --git a/packages/server/src/adapters/index.ts b/packages/server/src/adapters/index.ts new file mode 100644 index 0000000..60a1e99 --- /dev/null +++ b/packages/server/src/adapters/index.ts @@ -0,0 +1,3 @@ +export const PRODUCT_REPO = "ProductRepository"; +export const ORDER_REPO = "OrderRepository"; +export const CART_REPO = "CartRepository"; diff --git a/packages/server/src/adapters/order.repo.ts b/packages/server/src/adapters/order.repo.ts index f824e84..5af2db5 100644 --- a/packages/server/src/adapters/order.repo.ts +++ b/packages/server/src/adapters/order.repo.ts @@ -1,9 +1,11 @@ import { Collection, Db, ObjectId, WithId } from "mongodb"; import { Order } from "../types"; +import {Injectable} from "@nestjs/common"; type MongoOrder = Omit; const docToOrder = ({_id, ...rest}: WithId) => Order.parse({id: _id.toString(), ...rest}); +@Injectable() export class MongoDBOrderRepository { private orders: Collection; diff --git a/packages/server/src/adapters/product.repo.ts b/packages/server/src/adapters/product.repo.ts index b1bac73..b4d02b2 100644 --- a/packages/server/src/adapters/product.repo.ts +++ b/packages/server/src/adapters/product.repo.ts @@ -1,8 +1,10 @@ import { Collection, Db, ObjectId, WithId } from "mongodb"; import { Product, ProductTemplate } from "../types"; +import {Injectable} from "@nestjs/common"; const docToProduct = ({_id, ...rest}: WithId) => Product.parse({id: _id.toString(), ...rest}); +@Injectable() export class MongoDBProductRepository { private products: Collection; diff --git a/packages/server/src/app.module.ts b/packages/server/src/app.module.ts new file mode 100644 index 0000000..91cc5e9 --- /dev/null +++ b/packages/server/src/app.module.ts @@ -0,0 +1,31 @@ +import {DynamicModule, Module} from "@nestjs/common"; +import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; +import {OrderRepository} from "./adapters/order.repo"; +import {ProductRepository} from "./adapters/product.repo"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; +import {MemoryCartRepository} from "./adapters/cart.repo"; + +@Module({}) +export class AppModule { + static register(productRepo: ProductRepository, orderRepo: OrderRepository): DynamicModule { + return { + module: AppModule, + providers: [ + { + provide: PRODUCT_REPO, + useValue: productRepo + }, + { + provide: ORDER_REPO, + useValue: orderRepo, + }, + { + provide: CART_REPO, + useClass: MemoryCartRepository, + } + ], + controllers: [CartController, ProductController, OrderController, CheckoutController] + + } + } +} \ No newline at end of file diff --git a/packages/server/src/controllers.ts b/packages/server/src/controllers.ts new file mode 100644 index 0000000..364cedb --- /dev/null +++ b/packages/server/src/controllers.ts @@ -0,0 +1,96 @@ +import { + ArgumentMetadata, + BadRequestException, + Body, + Controller, + Get, Inject, + Param, + PipeTransform, + Post, + UsePipes +} from '@nestjs/common'; +import { ZodSchema} from 'zod'; +import { ProductRepository } from './adapters/product.repo'; +import {ProductTemplate} from "./types"; +import {OrderRepository} from "./adapters/order.repo"; +import {CartRepository} from "./adapters/cart.repo"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; + +export class ZodValidationPipe implements PipeTransform { + constructor(private schema: ZodSchema) {} + + transform(value: unknown, metadata: ArgumentMetadata) { + try { + return this.schema.parse(value); + } catch (error) { + throw new BadRequestException(`failed parsing value ${value} into type ${metadata.type} with ${error}`); + } + } +} + +@Controller("/products") +export class ProductController { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository) {} + + @Post() + @UsePipes(new ZodValidationPipe(ProductTemplate)) + async createProduct(@Body() product: ProductTemplate) { + return this.productRepo.create(product); + } + + @Get() + async getProducts() { + return this.productRepo.findAll(); + } +} + +@Controller("/order") +export class OrderController { + constructor(@Inject(ORDER_REPO) private orderRepo: OrderRepository) {} + + @Get("/:orderId") + async getOrder(@Param("orderId") orderId: string) { + return this.orderRepo.findById(orderId); + } +} + +@Controller("/cart") +export class CartController { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository, @Inject(CART_REPO) private cartRepo: CartRepository) {} + + @Post("/:cartId") + async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { + const product = await this.productRepo.findById(productId); + if (!product) { + throw new BadRequestException(`product with id ${productId} not found`); + } + await this.cartRepo.addToCart(cartId, product); + } + + @Get("/:cartId/count") + async getCartCount(@Param("cartId") cartId: string) { + const cart = await this.cartRepo.findById(cartId); + return cart?.items.length || 0; + } + + @Get("/:cartId") + async getCart(@Param("cartId") cartId: string) { + return this.cartRepo.findById(cartId); + } +} + +@Controller("/checkout") +export class CheckoutController { + constructor(@Inject(CART_REPO) private cartRepo: CartRepository, @Inject(ORDER_REPO) private orderRepo: OrderRepository) {} + + @Post("/:cartId") + async checkout(@Param("cartId") cartId: string) { + const cart = await this.cartRepo.findById(cartId); + if (!cart) { + throw new BadRequestException(`no cart with id ${cartId} found`); + } + const order = await this.orderRepo.create({items: cart.items}); + return order.id + } + +} \ No newline at end of file diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index fc9bb10..68e0720 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -1,7 +1,8 @@ import { MongoClient } from "mongodb"; import { MongoDBOrderRepository } from "./adapters/order.repo"; import { MongoDBProductRepository } from "./adapters/product.repo"; -import { createServerLogic } from "./server"; +import {NestFactory} from "@nestjs/core"; +import {AppModule} from "./app.module"; async function startServer() { const mongo = await new MongoClient( @@ -12,8 +13,9 @@ async function startServer() { const productRepo = new MongoDBProductRepository(db); const orderRepo = new MongoDBOrderRepository(db); - const app = createServerLogic(productRepo, orderRepo, {logger: true}); - await app.listen({port: 8080}); + const app = await NestFactory.create(AppModule.register(productRepo, orderRepo)) + app.enableCors({origin: "*"}); + await app.listen(8080); } void startServer(); diff --git a/packages/server/src/routes.ts b/packages/server/src/routes.ts index 66c65dc..59fce96 100644 --- a/packages/server/src/routes.ts +++ b/packages/server/src/routes.ts @@ -1,14 +1,10 @@ -import {LineItem, ProductTemplate} from "./types"; +import {Cart, ProductTemplate} from "./types"; import {FastifyInstance} from "fastify"; import {serializerCompiler, validatorCompiler, ZodTypeProvider} from "fastify-type-provider-zod"; import {z} from "zod"; import { ProductRepository } from "./adapters/product.repo"; import { OrderRepository } from "./adapters/order.repo"; -type Cart = { - id: string; - items: LineItem[]; -} const CartIdSchema = z.object({ cartId: z.string() diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts index 7d9d37a..6ec34a0 100644 --- a/packages/server/src/server.ts +++ b/packages/server/src/server.ts @@ -1,17 +1,17 @@ -import Fastify, {FastifyHttpOptions} from "fastify"; -import cors from "@fastify/cors"; -import { createRoutes } from "./routes"; import {ProductTemplate} from "./types"; -import { ProductRepository } from "./adapters/product.repo"; -import {OrderRepository} from "./adapters/order.repo"; - -export function createServerLogic(productRepo: ProductRepository, orderRepo: OrderRepository, opts?: FastifyHttpOptions) { - const fastify = Fastify(opts); - fastify.register(cors); - fastify.register(createRoutes(productRepo, orderRepo)); - return fastify; -} - -export function createTestingModule(products: ProductTemplate[] = []) { +import {Test} from "@nestjs/testing"; +import {InMemoryOrderRepository, InMemoryProductRepository} from "./adapters/fake"; +import {AppModule} from "./app.module"; +export async function createTestingModule(products: ProductTemplate[] = []) { + const productRepo = new InMemoryProductRepository(products); + const orderRepo = new InMemoryOrderRepository(); + const testingModule = await Test.createTestingModule({ + imports: [AppModule.register(productRepo, orderRepo)], + }) + .compile(); + const nest = testingModule.createNestApplication(); + nest.enableCors({origin: "*"}); + await nest.init(); + return {nest, orderRepo, productRepo}; } \ No newline at end of file diff --git a/packages/server/src/types.ts b/packages/server/src/types.ts index 4ae439d..c1bc791 100644 --- a/packages/server/src/types.ts +++ b/packages/server/src/types.ts @@ -33,4 +33,9 @@ export const Order = z.object({ items: z.array(LineItem), }); -export type Order = z.infer; \ No newline at end of file +export type Order = z.infer; + +export type Cart = { + id: string; + items: LineItem[]; +} \ No newline at end of file diff --git a/packages/server/test/order.repo.spec.ts b/packages/server/test/order.repo.spec.ts index 69d3465..82d4e60 100644 --- a/packages/server/test/order.repo.spec.ts +++ b/packages/server/test/order.repo.spec.ts @@ -1,6 +1,6 @@ import { MongoClient } from "mongodb"; import { nanoid } from "nanoid"; -import { InMemoryOrderRepository } from "../src/adapters/fakes"; +import { InMemoryOrderRepository } from "../src/adapters/fake"; import { MongoDBOrderRepository } from "../src/adapters/order.repo"; diff --git a/packages/server/test/product.repo.spec.ts b/packages/server/test/product.repo.spec.ts index 8fb05d3..1ea9771 100644 --- a/packages/server/test/product.repo.spec.ts +++ b/packages/server/test/product.repo.spec.ts @@ -1,5 +1,5 @@ import { MongoClient } from "mongodb"; -import { InMemoryProductRepository } from "../src/adapters/fakes"; +import { InMemoryProductRepository } from "../src/adapters/fake"; import { MongoDBProductRepository } from "../src/adapters/product.repo"; import { aProduct } from "../src/builders"; diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json index fe43f17..8a18684 100644 --- a/packages/server/tsconfig.json +++ b/packages/server/tsconfig.json @@ -13,7 +13,9 @@ "noFallthroughCasesInSwitch": true, "moduleResolution": "node", "noUnusedLocals": true, - "isolatedModules": true + "isolatedModules": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true }, "include": ["src", "test"] } diff --git a/yarn.lock b/yarn.lock index 3b21ba3..afce80b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,10 +5,20 @@ __metadata: version: 6 cacheKey: 8 -"@adobe/css-tools@npm:^4.3.2": - version: 4.3.3 - resolution: "@adobe/css-tools@npm:4.3.3" - checksum: d21f3786b84911fee59c995a146644a85c98692979097b26484ffa9e442fb1a92ccd68ce984e3e7cf8d5933c3560fbc0ad3e3cd1de50b9a723d1c012e793bbcb +"@adobe/css-tools@npm:^4.0.1": + version: 4.1.0 + resolution: "@adobe/css-tools@npm:4.1.0" + checksum: 50d0098461af146e112bdc700959fac473cce31ad25f5077b11c87bc66529c4aeb5a1e6f30f4a9646efe003c242f52f181f042e21f9cc137703ffde54a9d1fb5 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 languageName: node linkType: hard @@ -22,713 +32,2348 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.10.4": - version: 7.18.6 - resolution: "@babel/code-frame@npm:7.18.6" +"@aws-crypto/ie11-detection@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/ie11-detection@npm:3.0.0" dependencies: - "@babel/highlight": ^7.18.6 - checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + tslib: ^1.11.1 + checksum: 299b2ddd46eddac1f2d54d91386ceb37af81aef8a800669281c73d634ed17fd855dcfb8b3157f2879344b93a2666a6d602550eb84b71e4d7868100ad6da8f803 languageName: node linkType: hard -"@babel/code-frame@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/code-frame@npm:7.24.6" +"@aws-crypto/sha256-browser@npm:3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/sha256-browser@npm:3.0.0" dependencies: - "@babel/highlight": ^7.24.6 - picocolors: ^1.0.0 - checksum: 0904514ea7079a9590c1c546cd20b9c1beab9649873f2a0703429860775c1713a8dfb2daacd781a0210bb3930c656c1c436013fb20eaa3644880fb3a2b34541d + "@aws-crypto/ie11-detection": ^3.0.0 + "@aws-crypto/sha256-js": ^3.0.0 + "@aws-crypto/supports-web-crypto": ^3.0.0 + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + "@aws-sdk/util-locate-window": ^3.0.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: ca89456bf508db2e08060a7f656460db97ac9a15b11e39d6fa7665e2b156508a1758695bff8e82d0a00178d6ac5c36f35eb4bcfac2e48621265224ca14a19bd2 languageName: node linkType: hard -"@babel/compat-data@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/compat-data@npm:7.24.6" - checksum: 92233c708f7c349923c1f9a2b3c9354875a951ac3afaca0a2c159de1c808f6799ad4433652b90870015281aa466ec6e9aa8922e755cd7ac1413a3a5782cd685d +"@aws-crypto/sha256-js@npm:3.0.0, @aws-crypto/sha256-js@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/sha256-js@npm:3.0.0" + dependencies: + "@aws-crypto/util": ^3.0.0 + "@aws-sdk/types": ^3.222.0 + tslib: ^1.11.1 + checksum: 644ded32ea310237811afae873d3c7320739cb6f6cc39dced9c94801379e68e5ee2cca0c34f0384793fa9e750a7e0a5e2468f95754bd08e6fd72ab833c8fe23c languageName: node linkType: hard -"@babel/core@npm:^7.24.5": - version: 7.24.6 - resolution: "@babel/core@npm:7.24.6" +"@aws-crypto/supports-web-crypto@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/supports-web-crypto@npm:3.0.0" dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.24.6 - "@babel/generator": ^7.24.6 - "@babel/helper-compilation-targets": ^7.24.6 - "@babel/helper-module-transforms": ^7.24.6 - "@babel/helpers": ^7.24.6 - "@babel/parser": ^7.24.6 - "@babel/template": ^7.24.6 - "@babel/traverse": ^7.24.6 - "@babel/types": ^7.24.6 - convert-source-map: ^2.0.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.3 - semver: ^6.3.1 - checksum: f8af23de19865818c27c2fbe0d87b0834b118386da5ee09b20ae0cf7a5540065054ef2b70f377d025d9feee765db18df39900e4c18e905988b94b54a104c738e + tslib: ^1.11.1 + checksum: 35479a1558db9e9a521df6877a99f95670e972c602f2a0349303477e5d638a5baf569fb037c853710e382086e6fd77e8ed58d3fb9b49f6e1186a9d26ce7be006 languageName: node linkType: hard -"@babel/generator@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/generator@npm:7.24.6" +"@aws-crypto/util@npm:^3.0.0": + version: 3.0.0 + resolution: "@aws-crypto/util@npm:3.0.0" + dependencies: + "@aws-sdk/types": ^3.222.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: d29d5545048721aae3d60b236708535059733019a105f8a64b4e4a8eab7cf8dde1546dc56bff7de20d36140a4d1f0f4693e639c5732a7059273a7b1e56354776 + languageName: node + linkType: hard + +"@aws-sdk/abort-controller@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/abort-controller@npm:3.271.0" + dependencies: + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: d4b091a63517f444abc574fdbf8207314f815d1a6f6b4ce6fb9b5610d226f66753758c2a76b0635797838142f43d910b2c5e660ba04b55736a85a37dab854b4f + languageName: node + linkType: hard + +"@aws-sdk/client-cognito-identity@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.271.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/client-sts": 3.271.0 + "@aws-sdk/config-resolver": 3.271.0 + "@aws-sdk/credential-provider-node": 3.271.0 + "@aws-sdk/fetch-http-handler": 3.271.0 + "@aws-sdk/hash-node": 3.271.0 + "@aws-sdk/invalid-dependency": 3.271.0 + "@aws-sdk/middleware-content-length": 3.271.0 + "@aws-sdk/middleware-endpoint": 3.271.0 + "@aws-sdk/middleware-host-header": 3.271.0 + "@aws-sdk/middleware-logger": 3.271.0 + "@aws-sdk/middleware-recursion-detection": 3.271.0 + "@aws-sdk/middleware-retry": 3.271.0 + "@aws-sdk/middleware-serde": 3.271.0 + "@aws-sdk/middleware-signing": 3.271.0 + "@aws-sdk/middleware-stack": 3.271.0 + "@aws-sdk/middleware-user-agent": 3.271.0 + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/node-http-handler": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/smithy-client": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.271.0 + "@aws-sdk/util-defaults-mode-node": 3.271.0 + "@aws-sdk/util-endpoints": 3.271.0 + "@aws-sdk/util-retry": 3.271.0 + "@aws-sdk/util-user-agent-browser": 3.271.0 + "@aws-sdk/util-user-agent-node": 3.271.0 + "@aws-sdk/util-utf8": 3.254.0 + tslib: ^2.3.1 + checksum: 52f45c7c546c0f38dd0a38543b6ef1626f4738ba0d5698b10a9f1022e757597ad63ecc53fd300c4ae3f2d35b2fe6057ca0b950436f4b99147bec476e402ff3bc + languageName: node + linkType: hard + +"@aws-sdk/client-sso-oidc@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.271.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/config-resolver": 3.271.0 + "@aws-sdk/fetch-http-handler": 3.271.0 + "@aws-sdk/hash-node": 3.271.0 + "@aws-sdk/invalid-dependency": 3.271.0 + "@aws-sdk/middleware-content-length": 3.271.0 + "@aws-sdk/middleware-endpoint": 3.271.0 + "@aws-sdk/middleware-host-header": 3.271.0 + "@aws-sdk/middleware-logger": 3.271.0 + "@aws-sdk/middleware-recursion-detection": 3.271.0 + "@aws-sdk/middleware-retry": 3.271.0 + "@aws-sdk/middleware-serde": 3.271.0 + "@aws-sdk/middleware-stack": 3.271.0 + "@aws-sdk/middleware-user-agent": 3.271.0 + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/node-http-handler": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/smithy-client": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.271.0 + "@aws-sdk/util-defaults-mode-node": 3.271.0 + "@aws-sdk/util-endpoints": 3.271.0 + "@aws-sdk/util-retry": 3.271.0 + "@aws-sdk/util-user-agent-browser": 3.271.0 + "@aws-sdk/util-user-agent-node": 3.271.0 + "@aws-sdk/util-utf8": 3.254.0 + tslib: ^2.3.1 + checksum: 355ee373de34b83f7619b67cb726ff39a563c494e696488216a0f2fa11022b164f55bd3ba4517e582b8f93ee5e407db6b26b6c190a1f5a329d52f4c99ddd33b9 + languageName: node + linkType: hard + +"@aws-sdk/client-sso@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/client-sso@npm:3.271.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/config-resolver": 3.271.0 + "@aws-sdk/fetch-http-handler": 3.271.0 + "@aws-sdk/hash-node": 3.271.0 + "@aws-sdk/invalid-dependency": 3.271.0 + "@aws-sdk/middleware-content-length": 3.271.0 + "@aws-sdk/middleware-endpoint": 3.271.0 + "@aws-sdk/middleware-host-header": 3.271.0 + "@aws-sdk/middleware-logger": 3.271.0 + "@aws-sdk/middleware-recursion-detection": 3.271.0 + "@aws-sdk/middleware-retry": 3.271.0 + "@aws-sdk/middleware-serde": 3.271.0 + "@aws-sdk/middleware-stack": 3.271.0 + "@aws-sdk/middleware-user-agent": 3.271.0 + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/node-http-handler": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/smithy-client": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.271.0 + "@aws-sdk/util-defaults-mode-node": 3.271.0 + "@aws-sdk/util-endpoints": 3.271.0 + "@aws-sdk/util-retry": 3.271.0 + "@aws-sdk/util-user-agent-browser": 3.271.0 + "@aws-sdk/util-user-agent-node": 3.271.0 + "@aws-sdk/util-utf8": 3.254.0 + tslib: ^2.3.1 + checksum: ed297d05ffcdc4c78aa1535ae7bacf4c54ca55638c4440edd781099cf59ce76958915581a3d0619d2f0018916cd3a2ce864e6bc954dd305ca992a0ab26290712 + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/client-sts@npm:3.271.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/config-resolver": 3.271.0 + "@aws-sdk/credential-provider-node": 3.271.0 + "@aws-sdk/fetch-http-handler": 3.271.0 + "@aws-sdk/hash-node": 3.271.0 + "@aws-sdk/invalid-dependency": 3.271.0 + "@aws-sdk/middleware-content-length": 3.271.0 + "@aws-sdk/middleware-endpoint": 3.271.0 + "@aws-sdk/middleware-host-header": 3.271.0 + "@aws-sdk/middleware-logger": 3.271.0 + "@aws-sdk/middleware-recursion-detection": 3.271.0 + "@aws-sdk/middleware-retry": 3.271.0 + "@aws-sdk/middleware-sdk-sts": 3.271.0 + "@aws-sdk/middleware-serde": 3.271.0 + "@aws-sdk/middleware-signing": 3.271.0 + "@aws-sdk/middleware-stack": 3.271.0 + "@aws-sdk/middleware-user-agent": 3.271.0 + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/node-http-handler": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/smithy-client": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.271.0 + "@aws-sdk/util-defaults-mode-node": 3.271.0 + "@aws-sdk/util-endpoints": 3.271.0 + "@aws-sdk/util-retry": 3.271.0 + "@aws-sdk/util-user-agent-browser": 3.271.0 + "@aws-sdk/util-user-agent-node": 3.271.0 + "@aws-sdk/util-utf8": 3.254.0 + fast-xml-parser: 4.0.11 + tslib: ^2.3.1 + checksum: 69776bdf5250d4b5f59a0fd85a73d998ac7bbc07218322a8b3a89cc470b1e29804e9ba4167d3ee35fd009fc32c0d9aefe3b021c01706382b728df066defbb936 + languageName: node + linkType: hard + +"@aws-sdk/config-resolver@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/config-resolver@npm:3.271.0" + dependencies: + "@aws-sdk/signature-v4": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-config-provider": 3.208.0 + "@aws-sdk/util-middleware": 3.271.0 + tslib: ^2.3.1 + checksum: 27b7a57a7c40b2579f49845d628c773c353b2d03c443d20d32ce101b584ebf4296cc5e8b3de5441ede2d01d47117f66251715f79082ff84b43a6f3375b9139d2 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-cognito-identity@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.271.0" + dependencies: + "@aws-sdk/client-cognito-identity": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 3ab54cc0935f4c916abd850ae5e247c874ab27e4e07f326e9ce99266b539c7783526b48672dadaaf252de4f1f85d116ebd4080f0e159af0768231138c5cfcc56 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-env@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.271.0" + dependencies: + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: d3eff98ca5fa7b18ea67be268e1bef7cecb7af4e7d8df3eb0240e059bb58ef69ec1b35cdb0de5ebe13115b648ea299cc8fdada013fa97d443a4f8940bbba753d + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-imds@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-imds@npm:3.271.0" + dependencies: + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + tslib: ^2.3.1 + checksum: 1d055739bd7cff2a65f8050e9bcdf10da4440a4e96a38a8ee0b753dbb80f3aa2201c0975c6ffa1ab053fc34a5db3f38c3a35e774c16c2b7cbf655f1f615baff1 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-ini@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.271.0" + dependencies: + "@aws-sdk/credential-provider-env": 3.271.0 + "@aws-sdk/credential-provider-imds": 3.271.0 + "@aws-sdk/credential-provider-process": 3.271.0 + "@aws-sdk/credential-provider-sso": 3.271.0 + "@aws-sdk/credential-provider-web-identity": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 55b6505407e760e735b7f0f7ba6037416fa2c99e15a5c81b5cdefedeca4ac9719635eb2e8cf68652aabb2bf50156cfc36e041c36684d56d8f1adf9b2619fb9fc + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-node@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.271.0" dependencies: - "@babel/types": ^7.24.6 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 - jsesc: ^2.5.1 - checksum: a477e03129106908f464b195c4f138052d732cfca47506b127edbed6a496371bae821662a8a4e51e6d144ac236a5d05dc2da0e145e29bb8e19d3e7c480ac00fe + "@aws-sdk/credential-provider-env": 3.271.0 + "@aws-sdk/credential-provider-imds": 3.271.0 + "@aws-sdk/credential-provider-ini": 3.271.0 + "@aws-sdk/credential-provider-process": 3.271.0 + "@aws-sdk/credential-provider-sso": 3.271.0 + "@aws-sdk/credential-provider-web-identity": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: c06efe5461c1671e73b8fa69b899d4d4d9451e3ecbc576fa96d21fb9d76d6598b254ab4f96b860b9ba2aca5870a1ea929b06d9405c1e2ab351ee23461fb953e1 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-compilation-targets@npm:7.24.6" +"@aws-sdk/credential-provider-process@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.271.0" dependencies: - "@babel/compat-data": ^7.24.6 - "@babel/helper-validator-option": ^7.24.6 - browserslist: ^4.22.2 - lru-cache: ^5.1.1 - semver: ^6.3.1 - checksum: c66bf86387fbeefc617db9510de553880ed33dc91308421ee36a7b489d0e8c8eb615e0f467a9ec886eada7c05b03e421e55b2a724ff302402fdd4e0c0b2b0443 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: d0516aa1b00c0fbab73625ed6aac4bc508d1ed9b73d82b7b6aa085b5d1382adcf19fc6ba7229c04fe650cb53fb1e3d887c82de5f723509059d502f4668d31e82 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-environment-visitor@npm:7.24.6" - checksum: 9c2b3f1ee7ba46b61b0482efab6d37f5c76f0ea4e9d9775df44a89644729c3a50101040a0233543ec6c3f416d8e548d337f310ff3e164f847945507428ee39e5 +"@aws-sdk/credential-provider-sso@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.271.0" + dependencies: + "@aws-sdk/client-sso": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/token-providers": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 43f4a9ee2a80dab259068060745b52e819e3068af2e572d5d2ed2ff9686c03e8b496c57ddb4a1d05946e8d3e11ed13492e4ddf21b667bf37e277f3f541514048 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-function-name@npm:7.24.6" +"@aws-sdk/credential-provider-web-identity@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.271.0" dependencies: - "@babel/template": ^7.24.6 - "@babel/types": ^7.24.6 - checksum: d7a2198b6bf2cae9767d5b0d6cb5d3cbd9a07640ad4b6798abb7d7242e8f32765a94fd98ab1a039d7607f0ddbeaf9ddc822dd536b856e499f7082899c6f455f0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 7818fa9f26ce86429a8ffc319fe5d68d739d9e87b6f3046850dc727193326dbadf904d1f9bc8aeab8382f3ccda136ba87124557d2bff4ee55c415a2a4790dcc2 languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-hoist-variables@npm:7.24.6" +"@aws-sdk/credential-providers@npm:^3.186.0": + version: 3.271.0 + resolution: "@aws-sdk/credential-providers@npm:3.271.0" dependencies: - "@babel/types": ^7.24.6 - checksum: 4819b574393a5214aff6ae02a6e5250ace2564f8bcdb28d580ffec57bbb2092425e8f39563d75cfa268940a01fd425bad503c0b92717c12426f15cf6847855d3 + "@aws-sdk/client-cognito-identity": 3.271.0 + "@aws-sdk/client-sso": 3.271.0 + "@aws-sdk/client-sts": 3.271.0 + "@aws-sdk/credential-provider-cognito-identity": 3.271.0 + "@aws-sdk/credential-provider-env": 3.271.0 + "@aws-sdk/credential-provider-imds": 3.271.0 + "@aws-sdk/credential-provider-ini": 3.271.0 + "@aws-sdk/credential-provider-node": 3.271.0 + "@aws-sdk/credential-provider-process": 3.271.0 + "@aws-sdk/credential-provider-sso": 3.271.0 + "@aws-sdk/credential-provider-web-identity": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 0cf5145d70c8ed1322ca148ce76ef29783b1854cb834eee9ac2688f5a27022e5a16dc0cf998a81f6b1861a5fee80b1e8095616f574604705b6c24bef90f4feae languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-module-imports@npm:7.24.6" +"@aws-sdk/fetch-http-handler@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/fetch-http-handler@npm:3.271.0" dependencies: - "@babel/types": ^7.24.6 - checksum: 3484420c45529aac34cb14111a03c78edab84e5c4419634affe61176d832af82963395ea319f67c7235fd4106d9052a9f3ce012d2d57d56644572d3f7d495231 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/querystring-builder": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-base64": 3.208.0 + tslib: ^2.3.1 + checksum: fea104afd834d9abc6249bb5c8e4ad3d7f2e9fabaffc90f4b3b14fe2ce59e295384497d99067a3c0d73d7bbbc881bbffc29a654fa92f35ae9e134717490dfbbb languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-module-transforms@npm:7.24.6" +"@aws-sdk/hash-node@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/hash-node@npm:3.271.0" dependencies: - "@babel/helper-environment-visitor": ^7.24.6 - "@babel/helper-module-imports": ^7.24.6 - "@babel/helper-simple-access": ^7.24.6 - "@babel/helper-split-export-declaration": ^7.24.6 - "@babel/helper-validator-identifier": ^7.24.6 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 904e2a0701eb1eeb84b0d0df5dacdc40291307025b7e3a9a3c6f3eee912c893524f9dc7f5624225a5783a258dec2eb2489a9638bf5f3de26ebfcbcac1b5cc2fc + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-buffer-from": 3.208.0 + "@aws-sdk/util-utf8": 3.254.0 + tslib: ^2.3.1 + checksum: 5822cfc5c0b5153ba9b4cb372fcfae5cbd7f0556880f3b936b558a3e776ef7520518caca54a3ae7df77cfeec3b581e053afa3aeb6e4eaa668773246dd278ffb6 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-plugin-utils@npm:7.24.6" - checksum: d22bb82c75afed0d8c37784876fd6deb9db06ef21526db909ef7986a6050b50beb60a7823c08a1bb7c57c668af2e086d8086e88b6f9140b0d9ade07472f7c748 +"@aws-sdk/invalid-dependency@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/invalid-dependency@npm:3.271.0" + dependencies: + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: ce0a5a06b3a1f12e54820045240a9a1cc0a05e8af8e16524530aba96bddc791aef20bcb4583bb4b3b6f00225db0f1ad8a2238078f3f069c839c3482963c62db7 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-simple-access@npm:7.24.6" +"@aws-sdk/is-array-buffer@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/is-array-buffer@npm:3.201.0" dependencies: - "@babel/types": ^7.24.6 - checksum: 929162e887efc1bcadd4e141ed7782b45fccc6873d5023a744fee9c94d16d3a13dbfb66eb259181613a36c2d35f7d2088ee37e76014223d3b9b6c9ef1094e4b6 + tslib: ^2.3.1 + checksum: 295450b417a9ab0b734050afff6c53aaed8a33dccd3ede60bf67fdec21f675d14ab8edc24f4e1d12aa4e99f9ccaf794aaaaff270c296c1ee38f73ea7ba7f59ce languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-split-export-declaration@npm:7.24.6" +"@aws-sdk/middleware-content-length@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-content-length@npm:3.271.0" dependencies: - "@babel/types": ^7.24.6 - checksum: b546fd7e186b4aa69f96e041b6c4c9154115a2579a297b86773719dbed53b938cfc3f6b4996ae410296bb8aa30ea031f9ff31f1255aa25c3af75026c5b7c4059 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 1e863b40e232f5747fda58267b711e138629f51c6350f266383161852d5e5c294e7aafcad074704e2da59af845e88c8ff4f7c655412f15577164dc3d3ac12266 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.19.4": - version: 7.19.4 - resolution: "@babel/helper-string-parser@npm:7.19.4" - checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943 +"@aws-sdk/middleware-endpoint@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-endpoint@npm:3.271.0" + dependencies: + "@aws-sdk/middleware-serde": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/signature-v4": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/url-parser": 3.271.0 + "@aws-sdk/util-config-provider": 3.208.0 + "@aws-sdk/util-middleware": 3.271.0 + tslib: ^2.3.1 + checksum: 304ea76fe00ed103dee88fbd47312bcb94c64bea39055ebc7016f20490f1eec238ac4c08d70b5fb5cd03ce40c1766dee61b8e4b920a073b8fc571c2665162e4a languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-string-parser@npm:7.24.6" - checksum: c8c614a663928b67c5c65cfea958ed20c858fa2af8c957d301bd852c0ab98adae0861f081fd8f5add16539d9393bd4b10b8c86a97a9d7304f70a6a67b2c2ff07 +"@aws-sdk/middleware-host-header@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.271.0" + dependencies: + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: a9f0da6ec0f545dffb92a3515d4b116a58ca41b0262e4cbd8f6335cf56978d64c3f18360d3a6f9aef12c697a4b97b0bfd8b54c4b0abe411840e9a0d1abdb8cfc languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a +"@aws-sdk/middleware-logger@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-logger@npm:3.271.0" + dependencies: + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: f977ba654168f36ccfb7568f112689637cfb054bfa85fc7284ce8dfacc3987a7f4ca2b21f6a6e2e77df6e139bc11150cf8c47ec1262ff55e0bfa147e29d0c85b languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-validator-identifier@npm:7.24.6" - checksum: a265a6fba570332dca63ad7e749b867d29b52da2573dc62bf19b5b8c5387d4f4296af33da9da7c71ffe3d3abecd743418278f56d38b057ad4b53f09b937fe113 +"@aws-sdk/middleware-recursion-detection@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.271.0" + dependencies: + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 600e7e1dbba8504ffbf41dd6bade178053ef2bddd921a0d7782006100afcf99be0d686b270716d66d33ac40c2e61c9b7a1a7bc5c73d079d841df67ae3123d140 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helper-validator-option@npm:7.24.6" - checksum: 5defb2da74e1cac9497016f4e41698aeed75ec7a5e9dc07e777cdb67ef73cd2e27bd2bf8a3ab8d37e0b93a6a45524a9728f03e263afdef452436cf74794bde87 +"@aws-sdk/middleware-retry@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-retry@npm:3.271.0" + dependencies: + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/service-error-classification": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-middleware": 3.271.0 + "@aws-sdk/util-retry": 3.271.0 + tslib: ^2.3.1 + uuid: ^8.3.2 + checksum: 981d1e5e271a7e989e16bbfd61ae5b5c617ac459d16e6a20c306a92d0b3fe5254e9620f47d72fdd7435c73fe41957d80c5fb37b4fddd2906d71404460bc136e3 languageName: node linkType: hard -"@babel/helpers@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/helpers@npm:7.24.6" +"@aws-sdk/middleware-sdk-sts@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-sdk-sts@npm:3.271.0" dependencies: - "@babel/template": ^7.24.6 - "@babel/types": ^7.24.6 - checksum: c936058fd5caf7173e157f790fdbe9535237a7b8bc2c3d084bdf16467a034f73bd5d731deb514aa84e356c72de1cc93500a376f9d481f5c1e335f5a563426e58 + "@aws-sdk/middleware-signing": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/signature-v4": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 9fc44aa9a2b6e2727853aa4a60677c960078983097bc75f4cf94c06a1c17a2fe80e7a11804cc7288942c01c46e55f69171fa4ed02f2b74256e888344c0e58523 languageName: node linkType: hard -"@babel/highlight@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/highlight@npm:7.18.6" +"@aws-sdk/middleware-serde@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-serde@npm:3.271.0" dependencies: - "@babel/helper-validator-identifier": ^7.18.6 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 4d87afa1597d5e73d478511758cd4a9ff77c24cae30dba49a903c6ce19babc01a887bc84376f1d03466620674a1725a6a846e54e2d934bb8259c4f812d6ba05d languageName: node linkType: hard -"@babel/highlight@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/highlight@npm:7.24.6" +"@aws-sdk/middleware-signing@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-signing@npm:3.271.0" dependencies: - "@babel/helper-validator-identifier": ^7.24.6 - chalk: ^2.4.2 - js-tokens: ^4.0.0 - picocolors: ^1.0.0 - checksum: 2f8f7f060eeccc3ddf03ba12c263995de0e6c0dd31ad224bed58d983b3bb08fe34dfc01440396266456a4cad83226c38ad6814805bc5d0c774a056cac9182eca + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/signature-v4": 3.271.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-middleware": 3.271.0 + tslib: ^2.3.1 + checksum: 0ffda3e6f3fdcce27de69056758d200a4902f4df602530c033e8c30fe21657ea56284c66b59006ab099eb96e9ed1ae70578770eab7f0c0b149629caf09a840d1 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7": - version: 7.20.15 - resolution: "@babel/parser@npm:7.20.15" - bin: - parser: ./bin/babel-parser.js - checksum: 1d0f47ca67ff2652f1c0ff1570bed8deccbc4b53509e7cd73476af9cc7ed23480c99f1179bd6d0be01612368b92b39e206d330ad6054009d699934848a89298b +"@aws-sdk/middleware-stack@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-stack@npm:3.271.0" + dependencies: + tslib: ^2.3.1 + checksum: c7adf213e69e0c9789410e797c0f3fa1f0d054311c9c27bbae853a7616340fdf75b8b5ee3ca232958c0ff755ac7fdf51fedfff085eab512d64da6d60e8f70c6b languageName: node linkType: hard -"@babel/parser@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/parser@npm:7.24.6" - bin: - parser: ./bin/babel-parser.js - checksum: ca3773f5b2a4a065b827990ca0c867e670f01d7a7d7278838bd64d583e68ed52356b5a613303c5aa736d20f024728fec80fc5845fed1eb751ab5f1bfbdc1dd3c +"@aws-sdk/middleware-user-agent@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.271.0" + dependencies: + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: f6588fd17724ef63919a7c2d8ad4468768bbfa0d854c247e48c0f7ae7e45915db64b5edf61e5570e31c4d9b863e9012ccf88a77186046cb92e8cbb24c5739ec0 languageName: node linkType: hard -"@babel/plugin-proposal-explicit-resource-management@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.24.6" +"@aws-sdk/node-config-provider@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/node-config-provider@npm:3.271.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.6 - "@babel/plugin-syntax-explicit-resource-management": ^7.24.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4658cdec35c44366489481f8d049bef55d225feef44b7af963c9242e97da698e7a1e9f19c87123b5444f7f2990f33a8159ab837cfdcaa326fb77e7db5aa8c803 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 1ecfd728b2a81126821df440f4aa7129d43986e68652d7e8add9cebae2de9c6c6cf98014735276707695af5947036fbedcf4dbc4ca051363ede2ba253513678b languageName: node linkType: hard -"@babel/plugin-syntax-explicit-resource-management@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/plugin-syntax-explicit-resource-management@npm:7.24.6" +"@aws-sdk/node-http-handler@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/node-http-handler@npm:3.271.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 49701ac5b5112fe219aa7faf74e68b8c336611dd5bc52e64bcd7f146d1bd10c0cc040e2155a943a78098a7d0b7fa0cc1bbd8990a0b98d6ce89a46e5bfcd2015c + "@aws-sdk/abort-controller": 3.271.0 + "@aws-sdk/protocol-http": 3.271.0 + "@aws-sdk/querystring-builder": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: cef8bc9df63e784360ef10efcb7a67cab2cfd526380ea31e127dea09ffe5cc1b6827dc837ddfd8b9436abf66e23d35faa2a9c1c7f7b4f7dcb0373450a8bbc007 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": - version: 7.24.6 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.6" +"@aws-sdk/property-provider@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/property-provider@npm:3.271.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 695b1dd98b52ed05522d3a6a042f4b02e95764e443b781682cb59233f318b7f3849e4e6cf29d8d7afabc740d73cf1ec185bbfe58df724066bccb3e669d2a98be + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: b3ae0e7ff3494089668f90af5f9ca195522cbe1ea9a387bd9fda7186c0c675e56a32ab673e213fcfed4397ccc4203b6ed592154b050a04d0292c02061dd9e87e languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": - version: 7.24.6 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.6" +"@aws-sdk/protocol-http@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/protocol-http@npm:3.271.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d642f9153a82f159e5d469fbc9976555e01ecb2d42b2ee2af62005719bd847129809142a88d56c031c85cb2483ad251937bb3b722e2226cbbd9d39bbf26a3233 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 51427c5f8c27bb9939b70ef2d64529f3e7a96da8fd4d9d185bfa0571f3c234153aac925b0a70b6dc77cdf29d721fcf48c96a250c4dd58689f424c9aa9abd5a71 languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.9.2": - version: 7.20.13 - resolution: "@babel/runtime@npm:7.20.13" +"@aws-sdk/querystring-builder@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/querystring-builder@npm:3.271.0" dependencies: - regenerator-runtime: ^0.13.11 - checksum: 09b7a97a05c80540db6c9e4ddf8c5d2ebb06cae5caf3a87e33c33f27f8c4d49d9c67a2d72f1570e796045288fad569f98a26ceba0c4f5fad2af84b6ad855c4fb + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-uri-escape": 3.201.0 + tslib: ^2.3.1 + checksum: 025b5bd957ee8bd1d0a450cce55fde9a759507f65f5a9d87c3ba111e0c5d9e5386fff7f24b1591df367e6bdd35be068e49c3284b045706e8d2e286c61663396a languageName: node linkType: hard -"@babel/template@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/template@npm:7.24.6" +"@aws-sdk/querystring-parser@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/querystring-parser@npm:3.271.0" dependencies: - "@babel/code-frame": ^7.24.6 - "@babel/parser": ^7.24.6 - "@babel/types": ^7.24.6 - checksum: 8e532ebdd5e1398c030af16881061bad43b9c3b758a193a6289dc5be5988cc543f7aa56a360e15b755258c0b3d387f3cd78b505835b040a2729d0261d0ff1711 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 1bb8954dc91da90b934bf118ee4c29c060a69b0f985e977cfd1a0fb851ba459fc4b1836038cb320b4f27a6d55268d7909180b4a8c244c90c9983bfb3ac22cb11 languageName: node linkType: hard -"@babel/traverse@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/traverse@npm:7.24.6" - dependencies: - "@babel/code-frame": ^7.24.6 - "@babel/generator": ^7.24.6 - "@babel/helper-environment-visitor": ^7.24.6 - "@babel/helper-function-name": ^7.24.6 - "@babel/helper-hoist-variables": ^7.24.6 - "@babel/helper-split-export-declaration": ^7.24.6 - "@babel/parser": ^7.24.6 - "@babel/types": ^7.24.6 - debug: ^4.3.1 - globals: ^11.1.0 - checksum: 654151b2ab5c9d5031c274cf197f707b8a27a1c70b38fcb8d1bf5ad2d8848f38675ab9c2a86aeb804657c5817124ac5be4cb6f5defa8ef7ac40596e1220697aa +"@aws-sdk/service-error-classification@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/service-error-classification@npm:3.271.0" + checksum: c75a340cb30c91015d1c5891f86fa78652aca91f6aa3c9d0133dfa074aed6144ec722dce296d3289dd472fc712a0ab24267278b2a13c3345043d46be128b56c8 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.8.3": - version: 7.20.7 - resolution: "@babel/types@npm:7.20.7" +"@aws-sdk/shared-ini-file-loader@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/shared-ini-file-loader@npm:3.271.0" dependencies: - "@babel/helper-string-parser": ^7.19.4 - "@babel/helper-validator-identifier": ^7.19.1 - to-fast-properties: ^2.0.0 - checksum: b39af241f0b72bba67fd6d0d23914f6faec8c0eba8015c181cbd5ea92e59fc91a52a1ab490d3520c7dbd19ddb9ebb76c476308f6388764f16d8201e37fae6811 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 0a559cd450ff32b3a506c21db76f8f0a20dc82f69b49ee492f0fa727444385fdff2dac627304e92e528425cd1ab3d41b452c7540fa26e064be9d8a6712ec3d55 languageName: node linkType: hard -"@babel/types@npm:^7.24.6": - version: 7.24.6 - resolution: "@babel/types@npm:7.24.6" +"@aws-sdk/signature-v4@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/signature-v4@npm:3.271.0" dependencies: - "@babel/helper-string-parser": ^7.24.6 - "@babel/helper-validator-identifier": ^7.24.6 - to-fast-properties: ^2.0.0 - checksum: 58d798dd37e6b14f818730b4536795d68d28ccd5dc2a105fd977104789b20602be11d92cdd47cdbd48d8cce3cc0e14c7773813357ad9d5d6e94d70587eb45bf5 + "@aws-sdk/is-array-buffer": 3.201.0 + "@aws-sdk/types": 3.271.0 + "@aws-sdk/util-hex-encoding": 3.201.0 + "@aws-sdk/util-middleware": 3.271.0 + "@aws-sdk/util-uri-escape": 3.201.0 + "@aws-sdk/util-utf8": 3.254.0 + tslib: ^2.3.1 + checksum: 62dfd596829f096ef1c23b64124265b6adf6261b5e3bbd6b10c3b216755e822c78df4da376e801f15b056bd3c9113cea8aaa7eda042f55d2e3ea2bbc0e7b2172 languageName: node linkType: hard -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: d64d5260bed1d5012ae3fc617d38d1afc0329fec05342f4e6b838f46998855ba56e0a73833f4a80fa8378c84810da254f76a8a19c39d038260dc06dc4e007425 +"@aws-sdk/smithy-client@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/smithy-client@npm:3.271.0" + dependencies: + "@aws-sdk/middleware-stack": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: bb17cd5a478bad8687b93f45605097060c1e15ba983eca0ccf26fe9c92beebc2cf7a3c2f32b4ba1e02973d69b37f30b56d67338e9d288c548718dbcf90744295 languageName: node linkType: hard -"@colors/colors@npm:^1.6.0": - version: 1.6.0 - resolution: "@colors/colors@npm:1.6.0" - checksum: aa209963e0c3218e80a4a20553ba8c0fbb6fa13140540b4e5f97923790be06801fc90172c1114fc8b7e888b3d012b67298cde6b9e81521361becfaee400c662f +"@aws-sdk/token-providers@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/token-providers@npm:3.271.0" + dependencies: + "@aws-sdk/client-sso-oidc": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/shared-ini-file-loader": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 8924eb4b1d857856415fe95b108aca627c467c74526662554a9e4bfcc3d145b5162dee3eb1701e09b8ceb3a57ffb8c0870532549cc4fb3b1d8cee29d3a99ebbb languageName: node linkType: hard -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" +"@aws-sdk/types@npm:3.271.0, @aws-sdk/types@npm:^3.222.0": + version: 3.271.0 + resolution: "@aws-sdk/types@npm:3.271.0" dependencies: - "@jridgewell/trace-mapping": 0.3.9 - checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa + tslib: ^2.3.1 + checksum: 02cdc37d8eec567c76735386084b5248c94b062acb2da75810259decb63e6187be0a0e845a24f5ec7a3c4cc54b4ff99780e72407508c0ce77aa206e1c6e24875 languageName: node linkType: hard -"@dabh/diagnostics@npm:^2.0.2": - version: 2.0.3 - resolution: "@dabh/diagnostics@npm:2.0.3" +"@aws-sdk/url-parser@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/url-parser@npm:3.271.0" dependencies: - colorspace: 1.1.x - enabled: 2.0.x - kuler: ^2.0.0 - checksum: 4879600c55c8315a0fb85fbb19057bad1adc08f0a080a8cb4e2b63f723c379bfc4283b68123a2b078d367b327dd8df12fcb27464efe791addc0a48b9df6d79a1 + "@aws-sdk/querystring-parser": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: ee1ebf52053054e6b37b29a4c89ef131b34f6f4d615c082e0847e54ea0c307cd0bd4675e1132d167a6c833e7d33b842dff2eb70e1431a7c6881672341ee7ae94 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/aix-ppc64@npm:0.20.2" - conditions: os=aix & cpu=ppc64 +"@aws-sdk/util-base64@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-base64@npm:3.208.0" + dependencies: + "@aws-sdk/util-buffer-from": 3.208.0 + tslib: ^2.3.1 + checksum: 2ccab3453a3a3636f3f1397441574b3adb984e1ba3865030393108327ed7304cf80c9b31d69691e6aba85cfe6a611a881bbb724e544324240763bb4e96630ed9 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm64@npm:0.20.2" - conditions: os=android & cpu=arm64 +"@aws-sdk/util-body-length-browser@npm:3.188.0": + version: 3.188.0 + resolution: "@aws-sdk/util-body-length-browser@npm:3.188.0" + dependencies: + tslib: ^2.3.1 + checksum: 1b08bd1e63ec843ee336f51d894c49bf3c4c2f96e50d1711a12f7d0c5b6f7a15b490e366fec55b63e77036002994bac12927b29de2eb9ac91e4f152b1af78e58 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm@npm:0.20.2" - conditions: os=android & cpu=arm +"@aws-sdk/util-body-length-node@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-body-length-node@npm:3.208.0" + dependencies: + tslib: ^2.3.1 + checksum: 986b42b358656dec4e75c231213331c4f01785f9ab17c8b87b6e268b6880818a96117f1785cef9786e6c0f7e2c1332c80e8388a43bfd83e8c7224ad059a72733 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-x64@npm:0.20.2" - conditions: os=android & cpu=x64 +"@aws-sdk/util-buffer-from@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-buffer-from@npm:3.208.0" + dependencies: + "@aws-sdk/is-array-buffer": 3.201.0 + tslib: ^2.3.1 + checksum: 00bfa4d4494d3a1eb128e19104994d1aca8b3802e9aa218cecafb1ed3ff2ecf5c946485e06aa97ae312458842b0f31a6484dc945232f7cb0e357ba341cb2e53e languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-arm64@npm:0.20.2" - conditions: os=darwin & cpu=arm64 +"@aws-sdk/util-config-provider@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-config-provider@npm:3.208.0" + dependencies: + tslib: ^2.3.1 + checksum: 97b0414b120b4eb53001f3ab2135ee94937e47bd7bd0d0de7c6a7e00a282eaa78cd84be2bfd3e389340f0c0b2f7ba60da9a403f084721970ee55b779ecf7a451 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-x64@npm:0.20.2" - conditions: os=darwin & cpu=x64 +"@aws-sdk/util-defaults-mode-browser@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.271.0" + dependencies: + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + bowser: ^2.11.0 + tslib: ^2.3.1 + checksum: a2ada9a707c748fc296fc6c4c79db5a65bd76483357defb0dfca178e04eac15db9ed7a8a0286716a39333f836effc12b5c0a2e63640ef8c65d8a8fa0ac3c0823 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-arm64@npm:0.20.2" - conditions: os=freebsd & cpu=arm64 +"@aws-sdk/util-defaults-mode-node@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-defaults-mode-node@npm:3.271.0" + dependencies: + "@aws-sdk/config-resolver": 3.271.0 + "@aws-sdk/credential-provider-imds": 3.271.0 + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/property-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 02e69ba62c832c90b1d0864de4e79fdf41c473c3020c4e37cb309ecaee0886a09a0eb6a6a6811250f3341b6800f575d2a4e437b63857c3a0965e29d18b570b8d languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-x64@npm:0.20.2" - conditions: os=freebsd & cpu=x64 +"@aws-sdk/util-endpoints@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-endpoints@npm:3.271.0" + dependencies: + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + checksum: 8b0a7fc90a14deb8fbc136bb4bc517a94a2a15f77dec1970582425d3f807162d2b13c6d7eeacaedf73d90768d311986a53881e91c4642c3beae365f194d68409 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm64@npm:0.20.2" - conditions: os=linux & cpu=arm64 +"@aws-sdk/util-hex-encoding@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/util-hex-encoding@npm:3.201.0" + dependencies: + tslib: ^2.3.1 + checksum: a27f3365dfb1e6ece79ea34fd6e2c4540eb0084536d7300ff0ff42a7334ddf07f21958c6cfd0bbeb71361ee408e16deae2c82b7c7378b048b8e81a52c75f190a languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm@npm:0.20.2" - conditions: os=linux & cpu=arm +"@aws-sdk/util-locate-window@npm:^3.0.0": + version: 3.208.0 + resolution: "@aws-sdk/util-locate-window@npm:3.208.0" + dependencies: + tslib: ^2.3.1 + checksum: 7518c110c4fa27c5e1d2d173647f1c58fc6ea244d25733c08ac441d3a2650b050ce06cecbe56b80a9997d514c9f7515b3c529c84c1e04b29aa0265d53af23c52 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ia32@npm:0.20.2" - conditions: os=linux & cpu=ia32 +"@aws-sdk/util-middleware@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-middleware@npm:3.271.0" + dependencies: + tslib: ^2.3.1 + checksum: db33d492c73cdf0b9de45dc275b81fbe16318e9d6a7c10e23f2d6e4a5a3ab85022ff0db599d15dfae0e9e6442e1ad954c8ae9a5c384fcbe747655a63c1b6928e languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-loong64@npm:0.20.2" - conditions: os=linux & cpu=loong64 +"@aws-sdk/util-retry@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-retry@npm:3.271.0" + dependencies: + "@aws-sdk/service-error-classification": 3.271.0 + tslib: ^2.3.1 + checksum: 9a8a2654e7923525a79ec1ad81676c8c8fd5063cc5d07d55faf00d66401077fb406de5101b902213217470b3d974d4cfeb9aa5e60460a8150f3036c88e407a3a languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-mips64el@npm:0.20.2" - conditions: os=linux & cpu=mips64el +"@aws-sdk/util-uri-escape@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/util-uri-escape@npm:3.201.0" + dependencies: + tslib: ^2.3.1 + checksum: 8bd751459eaab75a9b61801f3484cfa5c4e0133381ace6ec901cb9b92b1fee99beb4ef9c0f87ade59425a882ed3a280255d9b2fd8da6a6286e49efb9af8f0d55 languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ppc64@npm:0.20.2" - conditions: os=linux & cpu=ppc64 +"@aws-sdk/util-user-agent-browser@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.271.0" + dependencies: + "@aws-sdk/types": 3.271.0 + bowser: ^2.11.0 + tslib: ^2.3.1 + checksum: 0d65d8af54e3150e54b96efe08aef98102a79ff0279565c1285681b3e0f387766e735198ef7734d11eb2730fda8f7d6a82bfef60cb27d6b3ac86548e7710c27f languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-riscv64@npm:0.20.2" - conditions: os=linux & cpu=riscv64 +"@aws-sdk/util-user-agent-node@npm:3.271.0": + version: 3.271.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.271.0" + dependencies: + "@aws-sdk/node-config-provider": 3.271.0 + "@aws-sdk/types": 3.271.0 + tslib: ^2.3.1 + peerDependencies: + aws-crt: ">=1.0.0" + peerDependenciesMeta: + aws-crt: + optional: true + checksum: 8130e188f3b6ae2d3276e9b66358fee5915cba31f4a557deff3907d126d79a806261f16cc6f5fe205333729501fb82feffbe6930d2572b25f194cc0a32080d33 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-s390x@npm:0.20.2" - conditions: os=linux & cpu=s390x +"@aws-sdk/util-utf8-browser@npm:^3.0.0": + version: 3.259.0 + resolution: "@aws-sdk/util-utf8-browser@npm:3.259.0" + dependencies: + tslib: ^2.3.1 + checksum: b6a1e580da1c9b62c749814182a7649a748ca4253edb4063aa521df97d25b76eae3359eb1680b86f71aac668e05cc05c514379bca39ebf4ba998ae4348412da8 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-x64@npm:0.20.2" - conditions: os=linux & cpu=x64 +"@aws-sdk/util-utf8@npm:3.254.0": + version: 3.254.0 + resolution: "@aws-sdk/util-utf8@npm:3.254.0" + dependencies: + "@aws-sdk/util-buffer-from": 3.208.0 + tslib: ^2.3.1 + checksum: e5dfe7565f2de32245a544d1d715d803025bc5522538c0206fa61377f747804d95fc2e5e25976144bb63a6857e360b4286d101e730ab5d39866c60383a47e7d5 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/netbsd-x64@npm:0.20.2" - conditions: os=netbsd & cpu=x64 +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" + dependencies: + "@babel/highlight": ^7.18.6 + checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/openbsd-x64@npm:0.20.2" - conditions: os=openbsd & cpu=x64 +"@babel/code-frame@npm:^7.22.10, @babel/code-frame@npm:^7.22.5": + version: 7.22.10 + resolution: "@babel/code-frame@npm:7.22.10" + dependencies: + "@babel/highlight": ^7.22.10 + chalk: ^2.4.2 + checksum: 89a06534ad19759da6203a71bad120b1d7b2ddc016c8e07d4c56b35dea25e7396c6da60a754e8532a86733092b131ae7f661dbe6ba5d165ea777555daa2ed3c9 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/sunos-x64@npm:0.20.2" - conditions: os=sunos & cpu=x64 +"@babel/compat-data@npm:^7.20.5": + version: 7.20.14 + resolution: "@babel/compat-data@npm:7.20.14" + checksum: 6c9efe36232094e4ad0b70d165587f21ca718e5d011f7a52a77a18502a7524e90e2855aa5a2e086395bcfd21bd2c7c99128dcd8d9fdffe94316b72acf5c66f2c languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-arm64@npm:0.20.2" - conditions: os=win32 & cpu=arm64 +"@babel/compat-data@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/compat-data@npm:7.22.9" + checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-ia32@npm:0.20.2" - conditions: os=win32 & cpu=ia32 +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": + version: 7.20.12 + resolution: "@babel/core@npm:7.20.12" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-compilation-targets": ^7.20.7 + "@babel/helper-module-transforms": ^7.20.11 + "@babel/helpers": ^7.20.7 + "@babel/parser": ^7.20.7 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.12 + "@babel/types": ^7.20.7 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.2 + semver: ^6.3.0 + checksum: 62e6c3e2149a70b5c9729ef5f0d3e2e97e9dcde89fc039c8d8e3463d5d7ba9b29ee84d10faf79b61532ac1645aa62f2bd42338320617e6e3a8a4d8e2a27076e7 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-x64@npm:0.20.2" - conditions: os=win32 & cpu=x64 +"@babel/core@npm:^7.22.9": + version: 7.22.11 + resolution: "@babel/core@npm:7.22.11" + dependencies: + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.22.10 + "@babel/generator": ^7.22.10 + "@babel/helper-compilation-targets": ^7.22.10 + "@babel/helper-module-transforms": ^7.22.9 + "@babel/helpers": ^7.22.11 + "@babel/parser": ^7.22.11 + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.11 + "@babel/types": ^7.22.11 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: f258b2539ea2e5bfe55a708c2f3e1093a1b4744f12becc35abeb896037b66210de9a8ad6296a706046d5dc3a24e564362b73a9b814e5bfe500c8baab60c22d2e languageName: node linkType: hard -"@faker-js/faker@npm:^8.4.1": - version: 8.4.1 - resolution: "@faker-js/faker@npm:8.4.1" - checksum: d802d531f8929562715adc279cfec763c9a4bc596ec67b0ce43fd0ae61b285d2b0eec6f1f4aa852452a63721a842fe7e81926dce7bd92acca94b01e2a1f55f5a +"@babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2": + version: 7.20.14 + resolution: "@babel/generator@npm:7.20.14" + dependencies: + "@babel/types": ^7.20.7 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 5f6aa2d86af26e76d276923a5c34191124a119b16ee9ccc34aef654a7dec84fbd7d2daed2e6458a6a06bf87f3661deb77c9fea59b8f67faff5c90793c96d76d6 languageName: node linkType: hard -"@fastify/ajv-compiler@npm:^3.5.0": - version: 3.5.0 - resolution: "@fastify/ajv-compiler@npm:3.5.0" +"@babel/generator@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/generator@npm:7.22.10" dependencies: - ajv: ^8.11.0 - ajv-formats: ^2.1.1 - fast-uri: ^2.0.0 - checksum: 5e5b16469f8d586473d0b32e3a9cf38c0d86ef2a6fb7ea12ed7f3665642bd8eb2dde9adcc317814369cb5a58210bfdac35996fa87d1cc23e88bbc799f0b128b0 + "@babel/types": ^7.22.10 + "@jridgewell/gen-mapping": ^0.3.2 + "@jridgewell/trace-mapping": ^0.3.17 + jsesc: ^2.5.1 + checksum: 59a79730abdff9070692834bd3af179e7a9413fa2ff7f83dff3eb888765aeaeb2bfc7b0238a49613ed56e1af05956eff303cc139f2407eda8df974813e486074 languageName: node linkType: hard -"@fastify/cors@npm:^9.0.1": - version: 9.0.1 - resolution: "@fastify/cors@npm:9.0.1" +"@babel/helper-compilation-targets@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/helper-compilation-targets@npm:7.20.7" dependencies: - fastify-plugin: ^4.0.0 - mnemonist: 0.39.6 - checksum: 3b5618b59ba63636b233b5ac54f061132da53364a98b52a61db57f9fd87678bbe22589411e11b454ad2bf6a5e69e7b9514a9d587c56e28c84aa4b50ea836e380 + "@babel/compat-data": ^7.20.5 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.21.3 + lru-cache: ^5.1.1 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 8c32c873ba86e2e1805b30e0807abd07188acbe00ebb97576f0b09061cc65007f1312b589eccb4349c5a8c7f8bb9f2ab199d41da7030bf103d9f347dcd3a3cf4 languageName: node linkType: hard -"@fastify/deepmerge@npm:^1.0.0": - version: 1.3.0 - resolution: "@fastify/deepmerge@npm:1.3.0" - checksum: 33ec927905dca320d7ae9535a1521909f7c82339706345324ab6287ad100589a799b8257c15b0e582c7bb74e2aa4883d82ba0228d7b116aa8789ada4f78d6974 +"@babel/helper-compilation-targets@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/helper-compilation-targets@npm:7.22.10" + dependencies: + "@babel/compat-data": ^7.22.9 + "@babel/helper-validator-option": ^7.22.5 + browserslist: ^4.21.9 + lru-cache: ^5.1.1 + semver: ^6.3.1 + checksum: f6f1896816392bcff671bbe6e277307729aee53befb4a66ea126e2a91eda78d819a70d06fa384c74ef46c1595544b94dca50bef6c78438d9ffd31776dafbd435 languageName: node linkType: hard -"@fastify/error@npm:^3.3.0, @fastify/error@npm:^3.4.0": - version: 3.4.1 - resolution: "@fastify/error@npm:3.4.1" - checksum: 2c2e98c33327884c0927a73e8c3b8f162acbf1e4d058bacb68bca0c3607f36d6fde8c376fde45b2097e724d450266f8bb29134305fa24aabd200f83f087c7321 +"@babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 languageName: node linkType: hard -"@fastify/fast-json-stringify-compiler@npm:^4.3.0": - version: 4.3.0 - resolution: "@fastify/fast-json-stringify-compiler@npm:4.3.0" - dependencies: - fast-json-stringify: ^5.7.0 - checksum: 2734afabe2539d3e15d2bd9f8dfee756d9cd969f7303dc085dd91c744ff61742bb0d3ebd3b561cf3c32be54567048a634b4962f943eb6bd9ed3fbd71cbf6a4fa +"@babel/helper-environment-visitor@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-environment-visitor@npm:7.22.5" + checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 languageName: node linkType: hard -"@fastify/merge-json-schemas@npm:^0.1.0": - version: 0.1.1 - resolution: "@fastify/merge-json-schemas@npm:0.1.1" +"@babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" dependencies: - fast-deep-equal: ^3.1.3 - checksum: d5b976f82e6d5d30a603345a29edb176a14866b98dd4d30aabe6e58a91dfc34fb1c2dd97289bdd7f4d1e11675c9dbb9382138968742d2ac8c6fdcc5f7bd08b97 + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 +"@babel/helper-function-name@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-function-name@npm:7.22.5" + dependencies: + "@babel/template": ^7.22.5 + "@babel/types": ^7.22.5 + checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" dependencies: - "@sinclair/typebox": ^0.27.8 - checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 + "@babel/types": ^7.18.6 + checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0": - version: 0.3.2 - resolution: "@jridgewell/gen-mapping@npm:0.3.2" +"@babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" dependencies: - "@jridgewell/set-array": ^1.0.1 - "@jridgewell/sourcemap-codec": ^1.4.10 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 + "@babel/types": ^7.22.5 + checksum: 394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" dependencies: - "@jridgewell/set-array": ^1.2.1 - "@jridgewell/sourcemap-codec": ^1.4.10 - "@jridgewell/trace-mapping": ^0.3.24 - checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + "@babel/types": ^7.18.6 + checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 +"@babel/helper-module-imports@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-module-imports@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 +"@babel/helper-module-transforms@npm:^7.20.11": + version: 7.20.11 + resolution: "@babel/helper-module-transforms@npm:7.20.11" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.20.2 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.19.1 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.10 + "@babel/types": ^7.20.7 + checksum: 29319ebafa693d48756c6ba0d871677bb0037e0da084fbe221a17c38d57093fc8aa38543c07d76e788266a937976e37ab4901971ca7f237c5ab45f524b9ecca0 languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e +"@babel/helper-module-transforms@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-module-transforms@npm:7.22.9" + dependencies: + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-simple-access": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/helper-validator-identifier": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.20.2 + resolution: "@babel/helper-plugin-utils@npm:7.20.2" + checksum: f6cae53b7fdb1bf3abd50fa61b10b4470985b400cc794d92635da1e7077bb19729f626adc0741b69403d9b6e411cddddb9c0157a709cc7c4eeb41e663be5d74b languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/source-map@npm:0.3.2" - dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 +"@babel/helper-plugin-utils@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 +"@babel/helper-simple-access@npm:^7.20.2": + version: 7.20.2 + resolution: "@babel/helper-simple-access@npm:7.20.2" + dependencies: + "@babel/types": ^7.20.2 + checksum: ad1e96ee2e5f654ffee2369a586e5e8d2722bf2d8b028a121b4c33ebae47253f64d420157b9f0a8927aea3a9e0f18c0103e74fdd531815cf3650a0a4adca11a1 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": ^7.22.5 + checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" +"@babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef + "@babel/types": ^7.18.6 + checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: - "@jridgewell/resolve-uri": ^3.1.0 - "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + "@babel/types": ^7.22.5 + checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.17 +"@babel/helper-string-parser@npm:^7.19.4": + version: 7.19.4 + resolution: "@babel/helper-string-parser@npm:7.19.4" + checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-string-parser@npm:7.22.5" + checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-validator-identifier@npm:7.22.5" + checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-validator-option@npm:7.22.5" + checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.20.7": + version: 7.20.13 + resolution: "@babel/helpers@npm:7.20.13" + dependencies: + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.13 + "@babel/types": ^7.20.7 + checksum: d62076fa834f342798f8c3fd7aec0870cc1725d273d99e540cbaa8d6c3ed10258228dd14601c8e66bfeabbb9424c3b31090ecc467fe855f7bd72c4734df7fb09 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/helpers@npm:7.22.11" + dependencies: + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.11 + "@babel/types": ^7.22.11 + checksum: 93186544228b5e371486466ec3b86a77cce91beeff24a5670ca8ec46d50328f7700dab82d532351286e9d68624dc51d6d71589b051dd9535e44be077a43ec013 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" + dependencies: + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/highlight@npm:7.22.10" + dependencies: + "@babel/helper-validator-identifier": ^7.22.5 + chalk: ^2.4.2 + js-tokens: ^4.0.0 + checksum: f714a1e1a72dd9d72f6383f4f30fd342e21a8df32d984a4ea8f5eab691bb6ba6db2f8823d4b4cf135d98869e7a98925b81306aa32ee3c429f8cfa52c75889e1b + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.13, @babel/parser@npm:^7.20.7": + version: 7.20.15 + resolution: "@babel/parser@npm:7.20.15" + bin: + parser: ./bin/babel-parser.js + checksum: 1d0f47ca67ff2652f1c0ff1570bed8deccbc4b53509e7cd73476af9cc7ed23480c99f1179bd6d0be01612368b92b39e206d330ad6054009d699934848a89298b + languageName: node + linkType: hard + +"@babel/parser@npm:^7.22.11, @babel/parser@npm:^7.22.5": + version: 7.22.11 + resolution: "@babel/parser@npm:7.22.11" + bin: + parser: ./bin/babel-parser.js + checksum: 332079ed09794d3685343e9fc39c6a12dcb6ea589119f2135952cdef2424296786bb609a33f6dfa9be271797bbf8339f1865118418ea50b32a0c701734c96664 + languageName: node + linkType: hard + +"@babel/plugin-proposal-explicit-resource-management@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.22.6" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/plugin-syntax-explicit-resource-management": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 293f7d6b3fdae20dcd3328499797d1fe44675f0b23ae118bb696746966b3912ee8a488cfe86337ae159b2c1f06257bca06278417518a32354cf9ed3b6c920209 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + languageName: node + linkType: hard + +"@babel/plugin-syntax-explicit-resource-management@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-syntax-explicit-resource-management@npm:7.22.5" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ab7d1ad1220cfe10fa37b970585c159b7a2f82bced76b78e1f0f37a379ff26816e0bde2660c1dbfeb2ef349a0788d7f2f73c1f7a3e304ab61054b1d054ff1ed9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": ^7.10.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.20.0 + resolution: "@babel/plugin-syntax-typescript@npm:7.20.0" + dependencies: + "@babel/helper-plugin-utils": ^7.19.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6189c0b5c32ba3c9a80a42338bd50719d783b20ef29b853d4f03929e971913d3cefd80184e924ae98ad6db09080be8fe6f1ffde9a6db8972523234f0274d36f7 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.22.5" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 671eebfabd14a0c7d6ae805fff7e289dfdb7ba984bb100ea2ef6dad1d6a665ebbb09199ab2e64fca7bc78bd0fdc80ca897b07996cf215fafc32c67bc564309af + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4ca2bd62ca14f8bbdcda9139f3f799e1c1c1bae504b67c1ca9bca142c53d81926d1a2b811f66a625f20999b2d352131053d886601f1ba3c1e9378c104d884277 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.9.2": + version: 7.20.13 + resolution: "@babel/runtime@npm:7.20.13" + dependencies: + regenerator-runtime: ^0.13.11 + checksum: 09b7a97a05c80540db6c9e4ddf8c5d2ebb06cae5caf3a87e33c33f27f8c4d49d9c67a2d72f1570e796045288fad569f98a26ceba0c4f5fad2af84b6ad855c4fb + languageName: node + linkType: hard + +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3": + version: 7.20.7 + resolution: "@babel/template@npm:7.20.7" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + checksum: 2eb1a0ab8d415078776bceb3473d07ab746e6bb4c2f6ca46ee70efb284d75c4a32bb0cd6f4f4946dec9711f9c0780e8e5d64b743208deac6f8e9858afadc349e + languageName: node + linkType: hard + +"@babel/template@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/template@npm:7.22.5" + dependencies: + "@babel/code-frame": ^7.22.5 + "@babel/parser": ^7.22.5 + "@babel/types": ^7.22.5 + checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.13, @babel/traverse@npm:^7.7.2": + version: 7.20.13 + resolution: "@babel/traverse@npm:7.20.13" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.20.13 + "@babel/types": ^7.20.7 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 30ca6e0bd18233fda48fa09315efd14dfc61dcf5b8fa3712b343bfc61b32bc63b5e85ea1773cc9576c9b293b96f46b4589aaeb0a52e1f3eeac4edc076d049fc7 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/traverse@npm:7.22.11" + dependencies: + "@babel/code-frame": ^7.22.10 + "@babel/generator": ^7.22.10 + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-function-name": ^7.22.5 + "@babel/helper-hoist-variables": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/parser": ^7.22.11 + "@babel/types": ^7.22.11 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 4ad62d548ca8b95dbf45bae16cc167428f174f3c837d55a5878b1f17bdbc8b384d6df741dc7c461b62c04d881cf25644d3ab885909ba46e3ac43224e2b15b504 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": + version: 7.20.7 + resolution: "@babel/types@npm:7.20.7" + dependencies: + "@babel/helper-string-parser": ^7.19.4 + "@babel/helper-validator-identifier": ^7.19.1 + to-fast-properties: ^2.0.0 + checksum: b39af241f0b72bba67fd6d0d23914f6faec8c0eba8015c181cbd5ea92e59fc91a52a1ab490d3520c7dbd19ddb9ebb76c476308f6388764f16d8201e37fae6811 + languageName: node + linkType: hard + +"@babel/types@npm:^7.22.10, @babel/types@npm:^7.22.11, @babel/types@npm:^7.22.5": + version: 7.22.11 + resolution: "@babel/types@npm:7.22.11" + dependencies: + "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.5 + to-fast-properties: ^2.0.0 + checksum: 431a6446896adb62c876d0fe75263835735d3c974aae05356a87eb55f087c20a777028cf08eadcace7993e058bbafe3b21ce2119363222c6cef9eedd7a204810 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: d64d5260bed1d5012ae3fc617d38d1afc0329fec05342f4e6b838f46998855ba56e0a73833f4a80fa8378c84810da254f76a8a19c39d038260dc06dc4e007425 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa + languageName: node + linkType: hard + +"@dabh/diagnostics@npm:^2.0.2": + version: 2.0.3 + resolution: "@dabh/diagnostics@npm:2.0.3" + dependencies: + colorspace: 1.1.x + enabled: 2.0.x + kuler: ^2.0.0 + checksum: 4879600c55c8315a0fb85fbb19057bad1adc08f0a080a8cb4e2b63f723c379bfc4283b68123a2b078d367b327dd8df12fcb27464efe791addc0a48b9df6d79a1 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-arm64@npm:0.18.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/android-arm64@npm:0.19.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-arm@npm:0.18.17" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/android-arm@npm:0.19.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-x64@npm:0.18.17" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/android-x64@npm:0.19.4" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/darwin-arm64@npm:0.18.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/darwin-arm64@npm:0.19.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/darwin-x64@npm:0.18.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/darwin-x64@npm:0.19.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/freebsd-arm64@npm:0.18.17" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/freebsd-arm64@npm:0.19.4" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/freebsd-x64@npm:0.18.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/freebsd-x64@npm:0.19.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-arm64@npm:0.18.17" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-arm64@npm:0.19.4" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-arm@npm:0.18.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-arm@npm:0.19.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-ia32@npm:0.18.17" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-ia32@npm:0.19.4" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-loong64@npm:0.18.17" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-loong64@npm:0.19.4" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-mips64el@npm:0.18.17" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-mips64el@npm:0.19.4" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-ppc64@npm:0.18.17" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-ppc64@npm:0.19.4" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-riscv64@npm:0.18.17" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-riscv64@npm:0.19.4" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-s390x@npm:0.18.17" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-s390x@npm:0.19.4" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-x64@npm:0.18.17" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/linux-x64@npm:0.19.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/netbsd-x64@npm:0.18.17" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/netbsd-x64@npm:0.19.4" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/openbsd-x64@npm:0.18.17" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/openbsd-x64@npm:0.19.4" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/sunos-x64@npm:0.18.17" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/sunos-x64@npm:0.19.4" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-arm64@npm:0.18.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/win32-arm64@npm:0.19.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-ia32@npm:0.18.17" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/win32-ia32@npm:0.19.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-x64@npm:0.18.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.4": + version: 0.19.4 + resolution: "@esbuild/win32-x64@npm:0.19.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@faker-js/faker@npm:^7.6.0": + version: 7.6.0 + resolution: "@faker-js/faker@npm:7.6.0" + checksum: 942af6221774e8c98a0eb6bc75265e05fb81a941170377666c3439aab9495dd321d6beedc5406f07e6ad44262b3e43c20961f666d116ad150b78e7437dd1bb2b + languageName: node + linkType: hard + +"@fastify/ajv-compiler@npm:^3.5.0": + version: 3.5.0 + resolution: "@fastify/ajv-compiler@npm:3.5.0" + dependencies: + ajv: ^8.11.0 + ajv-formats: ^2.1.1 + fast-uri: ^2.0.0 + checksum: 5e5b16469f8d586473d0b32e3a9cf38c0d86ef2a6fb7ea12ed7f3665642bd8eb2dde9adcc317814369cb5a58210bfdac35996fa87d1cc23e88bbc799f0b128b0 + languageName: node + linkType: hard + +"@fastify/cors@npm:^8.4.0": + version: 8.4.0 + resolution: "@fastify/cors@npm:8.4.0" + dependencies: + fastify-plugin: ^4.0.0 + mnemonist: 0.39.5 + checksum: 4fe99623918b9c58f6590dac00fe778f2755eacc47de726acf97b3a3305a414425b393422429efca1b261514100f4092a4ad41bc549c6f6edf60e83f9f5d3701 + languageName: node + linkType: hard + +"@fastify/deepmerge@npm:^1.0.0": + version: 1.3.0 + resolution: "@fastify/deepmerge@npm:1.3.0" + checksum: 33ec927905dca320d7ae9535a1521909f7c82339706345324ab6287ad100589a799b8257c15b0e582c7bb74e2aa4883d82ba0228d7b116aa8789ada4f78d6974 + languageName: node + linkType: hard + +"@fastify/error@npm:^3.2.0": + version: 3.3.0 + resolution: "@fastify/error@npm:3.3.0" + checksum: 202507c8c7f49922cac2f5afc82802151b0bd9c583ca1c2850bf43d0f4cd97eedb3a3388b9016da74f8a01b517a5861d1f666c506dd64fd22995e559bc139264 + languageName: node + linkType: hard + +"@fastify/fast-json-stringify-compiler@npm:^4.3.0": + version: 4.3.0 + resolution: "@fastify/fast-json-stringify-compiler@npm:4.3.0" + dependencies: + fast-json-stringify: ^5.7.0 + checksum: 2734afabe2539d3e15d2bd9f8dfee756d9cd969f7303dc085dd91c744ff61742bb0d3ebd3b561cf3c32be54567048a634b4962f943eb6bd9ed3fbd71cbf6a4fa + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + get-package-type: ^0.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 + languageName: node + linkType: hard + +"@jest/console@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/console@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + slash: ^3.0.0 + checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a + languageName: node + linkType: hard + +"@jest/core@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/core@npm:28.1.3" + dependencies: + "@jest/console": ^28.1.3 + "@jest/reporters": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + ci-info: ^3.2.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + jest-changed-files: ^28.1.3 + jest-config: ^28.1.3 + jest-haste-map: ^28.1.3 + jest-message-util: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-resolve-dependencies: ^28.1.3 + jest-runner: ^28.1.3 + jest-runtime: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + jest-watcher: ^28.1.3 + micromatch: ^4.0.4 + pretty-format: ^28.1.3 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: cb79f34bafc4637e7130df12257f5b29075892a2be2c7f45c6d4c0420853e80b5dae11016e652530eb234f4c44c00910cdca3c2cd86275721860725073f7d9b4 + languageName: node + linkType: hard + +"@jest/environment@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/environment@npm:28.1.3" + dependencies: + "@jest/fake-timers": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + jest-mock: ^28.1.3 + checksum: 14c496b84aef951df33128cea68988e9de43b2e9d62be9f9c4308d4ac307fa345642813679f80d0a4cedeb900cf6f0b6bb2b92ce089528e8721f72295fdc727f + languageName: node + linkType: hard + +"@jest/environment@npm:^29.3.1": + version: 29.6.1 + resolution: "@jest/environment@npm:29.6.1" + dependencies: + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 + "@types/node": "*" + jest-mock: ^29.6.1 + checksum: fb671f91f27e7aa1ba04983ef87a83f0794a597aba0a57d08cbb1fcb484c2aedc2201e99f85fafe27aec9be78af6f2d1d7e6ea88267938992a1d0f9d4615f5b2 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/expect-utils@npm:28.1.3" + dependencies: + jest-get-type: ^28.0.2 + checksum: 808ea3a68292a7e0b95490fdd55605c430b4cf209ea76b5b61bfb2a1badcb41bc046810fe4e364bd5fe04663978aa2bd73d8f8465a761dd7c655aeb44cf22987 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/expect-utils@npm:29.4.3" + dependencies: + jest-get-type: ^29.4.3 + checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 + languageName: node + linkType: hard + +"@jest/expect@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/expect@npm:28.1.3" + dependencies: + expect: ^28.1.3 + jest-snapshot: ^28.1.3 + checksum: 4197f6fdddc33dc45ba4e838f992fc61839c421d7aed0dfe665ef9c2f172bb1df8a8cac9cecee272b40e744a326da521d5e182709fe82a0b936055bfffa3b473 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/fake-timers@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@sinonjs/fake-timers": ^9.1.2 + "@types/node": "*" + jest-message-util: ^28.1.3 + jest-mock: ^28.1.3 + jest-util: ^28.1.3 + checksum: cec14d5b14913a54dce64a62912c5456235f5d90b509ceae19c727565073114dae1aaf960ac6be96b3eb94789a3a758b96b72c8fca7e49a6ccac415fbc0321e1 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.3.1, @jest/fake-timers@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/fake-timers@npm:29.6.1" + dependencies: + "@jest/types": ^29.6.1 + "@sinonjs/fake-timers": ^10.0.2 + "@types/node": "*" + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 86991276944b7d6c2ada3703a272517f5f8f2f4e2af1fe26065f6db1dac4dc6299729a88c46bcb781dcc1b20504c1d4bbd8119fd8a0838ac81a9a4b5d2c8e429 + languageName: node + linkType: hard + +"@jest/globals@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/globals@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/expect": ^28.1.3 + "@jest/types": ^28.1.3 + checksum: 3504bb23de629d466c6f2b6b75d2e1c1b10caccbbcfb7eaa82d22cc37711c8e364c243929581184846605c023b475ea6c42c2e3ea5994429a988d8d527af32cd + languageName: node + linkType: hard + +"@jest/reporters@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/reporters@npm:28.1.3" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@jridgewell/trace-mapping": ^0.3.13 + "@types/node": "*" + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^5.1.0 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + jest-worker: ^28.1.3 + slash: ^3.0.0 + string-length: ^4.0.1 + strip-ansi: ^6.0.0 + terminal-link: ^2.0.0 + v8-to-istanbul: ^9.0.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: a7440887ce837922cbeaa64c3232eb48aae02aa9123f29fc4280ad3e1afe4b35dcba171ba1d5fd219037c396c5152d9c2d102cff1798dd5ae3bd33ac4759ae0a + languageName: node + linkType: hard + +"@jest/schemas@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/schemas@npm:28.1.3" + dependencies: + "@sinclair/typebox": ^0.24.1 + checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/schemas@npm:29.4.3" + dependencies: + "@sinclair/typebox": ^0.25.16 + checksum: ac754e245c19dc39e10ebd41dce09040214c96a4cd8efa143b82148e383e45128f24599195ab4f01433adae4ccfbe2db6574c90db2862ccd8551a86704b5bebd + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/schemas@npm:29.6.0" + dependencies: + "@sinclair/typebox": ^0.27.8 + checksum: c00511c69cf89138a7d974404d3a5060af375b5a52b9c87215d91873129b382ca11c1ff25bd6d605951404bb381ddce5f8091004a61e76457da35db1f5c51365 + languageName: node + linkType: hard + +"@jest/source-map@npm:^28.1.2": + version: 28.1.2 + resolution: "@jest/source-map@npm:28.1.2" + dependencies: + "@jridgewell/trace-mapping": ^0.3.13 + callsites: ^3.0.0 + graceful-fs: ^4.2.9 + checksum: b82a5c2e93d35d86779c61a02ccb967d1b5cd2e9dd67d26d8add44958637cbbb99daeeb8129c7653389cb440dc2a2f5ae4d2183dc453c67669ff98938b775a3a + languageName: node + linkType: hard + +"@jest/test-result@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/test-result@npm:28.1.3" + dependencies: + "@jest/console": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/test-sequencer@npm:28.1.3" + dependencies: + "@jest/test-result": ^28.1.3 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + slash: ^3.0.0 + checksum: 13f8905e6d1ec8286694146f7be3cf90eff801bbdea5e5c403e6881444bb390ed15494c7b9948aa94bd7e9c9a851e0d3002ed6e7371d048b478596e5b23df953 + languageName: node + linkType: hard + +"@jest/transform@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/transform@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@jest/types": ^28.1.3 + "@jridgewell/trace-mapping": ^0.3.13 + babel-plugin-istanbul: ^6.1.1 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.3 + micromatch: ^4.0.4 + pirates: ^4.0.4 + slash: ^3.0.0 + write-file-atomic: ^4.0.1 + checksum: dadf618936e0aa84342f07f532801d5bed43cdf95d1417b929e4f8782c872cff1adc84096d5a287a796d0039a2691c06d8450cce5a713a8b52fbb9f872a1e760 + languageName: node + linkType: hard + +"@jest/types@npm:^28.1.3": + version: 28.1.3 + resolution: "@jest/types@npm:28.1.3" + dependencies: + "@jest/schemas": ^28.1.3 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 + languageName: node + linkType: hard + +"@jest/types@npm:^29.3.1, @jest/types@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/types@npm:29.6.1" + dependencies: + "@jest/schemas": ^29.6.0 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: 89fc1ccf71a84fe0da643e0675b1cfe6a6f19ea72e935b2ab1dbdb56ec547e94433fb59b3536d3832a6e156c077865b7176fe9dae707dab9c3d2f9405ba6233c + languageName: node + linkType: hard + +"@jest/types@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/types@npm:29.4.3" + dependencies: + "@jest/schemas": ^29.4.3 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: 1756f4149d360f98567f56f434144f7af23ed49a2c42889261a314df6b6654c2de70af618fb2ee0ee39cadaf10835b885845557184509503646c9cb9dcc02bac + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" + dependencies: + "@jridgewell/set-array": ^1.0.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + languageName: node + linkType: hard + +"@jridgewell/source-map@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/source-map@npm:0.3.2" + dependencies: + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" dependencies: "@jridgewell/resolve-uri": 3.1.0 @@ -737,12 +2382,173 @@ __metadata: languageName: node linkType: hard -"@mongodb-js/saslprep@npm:^1.1.5": - version: 1.1.7 - resolution: "@mongodb-js/saslprep@npm:1.1.7" +"@jridgewell/trace-mapping@npm:^0.3.17": + version: 0.3.19 + resolution: "@jridgewell/trace-mapping@npm:0.3.19" + dependencies: + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: 956a6f0f6fec060fb48c6bf1f5ec2064e13cd38c8be3873877d4b92b4a27ba58289a34071752671262a3e3c202abcc3fa2aac64d8447b4b0fa1ba3c9047f1c20 + languageName: node + linkType: hard + +"@lukeed/csprng@npm:^1.0.0": + version: 1.1.0 + resolution: "@lukeed/csprng@npm:1.1.0" + checksum: 926f5f7fc629470ca9a8af355bfcd0271d34535f7be3890f69902432bddc3262029bb5dbe9025542cf6c9883d878692eef2815fc2f3ba5b92e9da1f9eba2e51b + languageName: node + linkType: hard + +"@mongodb-js/saslprep@npm:^1.1.0": + version: 1.1.0 + resolution: "@mongodb-js/saslprep@npm:1.1.0" dependencies: sparse-bitfield: ^3.0.3 - checksum: 27e0ae6d4741b89183f2cf4fe2167756f26c9b9a73804d8e72f33e016cd54abf0a987254870da37b62dbf741be075743a35a0b6cd507ad496f258983c7c3a240 + checksum: 1479a43e216734672f8eb1a2a55165b6896841bd00fb5bd645390a24374ef6c29f0f6d19a43618a19b8f1912fcbd2b2cc2210a62361103d1f28dce6852cf31d4 + languageName: node + linkType: hard + +"@nestjs/common@npm:^10.3.7": + version: 10.3.7 + resolution: "@nestjs/common@npm:10.3.7" + dependencies: + iterare: 1.2.1 + tslib: 2.6.2 + uid: 2.0.2 + peerDependencies: + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + checksum: 9f4b43b3818861a9a3ae356cba3b7670f7960baf01f9215c155c1ebfd56b77346fc55c7c373abb018b07eccddefed349b2ff58ae3d889ba66364c9c2500393a0 + languageName: node + linkType: hard + +"@nestjs/core@npm:^10.3.7": + version: 10.3.7 + resolution: "@nestjs/core@npm:10.3.7" + dependencies: + "@nuxtjs/opencollective": 0.3.2 + fast-safe-stringify: 2.1.1 + iterare: 1.2.1 + path-to-regexp: 3.2.0 + tslib: 2.6.2 + uid: 2.0.2 + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/microservices": ^10.0.0 + "@nestjs/platform-express": ^10.0.0 + "@nestjs/websockets": ^10.0.0 + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true + "@nestjs/websockets": + optional: true + checksum: e364bf7dc82b01bd579ad32f6fd7b0e7183913e5670ca6c3e2b0a8d1f0c63d43a8f8495a257957c284483f597c1df27b654c50830ede75c4978f8c158eee9822 + languageName: node + linkType: hard + +"@nestjs/platform-express@npm:^10.3.7": + version: 10.3.7 + resolution: "@nestjs/platform-express@npm:10.3.7" + dependencies: + body-parser: 1.20.2 + cors: 2.8.5 + express: 4.19.2 + multer: 1.4.4-lts.1 + tslib: 2.6.2 + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + checksum: 1fdcd2c325299c3d2cb9e032ac5fee00551f953edf9461a4d46f0eacd4c49f2b6eabb4ecf20dda1a394cc426274e84f87d1b4b2e3d75e86f16e1c95b24d6b282 + languageName: node + linkType: hard + +"@nestjs/testing@npm:^10.3.7": + version: 10.3.7 + resolution: "@nestjs/testing@npm:10.3.7" + dependencies: + tslib: 2.6.2 + peerDependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + "@nestjs/microservices": ^10.0.0 + "@nestjs/platform-express": ^10.0.0 + peerDependenciesMeta: + "@nestjs/microservices": + optional: true + "@nestjs/platform-express": + optional: true + checksum: 621686bd50e0c82fa4d6a99bc063e148e095f65073739dbd03de5196e1f7cd8f8ad4af99f4edf6a892d5c4c90bdb129c1730ba3f18eb500612fc6e5db972056c + languageName: node + linkType: hard + +"@nirelko/jest-environment-jsdom@npm:^29.6.7": + version: 29.6.7 + resolution: "@nirelko/jest-environment-jsdom@npm:29.6.7" + dependencies: + "@jest/environment": ^29.3.1 + "@jest/fake-timers": ^29.3.1 + "@jest/types": ^29.3.1 + "@nirelko/jsdom": 22.2.3 + "@types/jsdom": ^20.0.0 + "@types/node": "*" + jest-mock: ^29.3.1 + jest-util: ^29.3.1 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 82524f338cffd25e6f9e634804f01ece6a4bbf37d8090f3c228f036e9cddcfe379fd08f6de81ac4d7355eb5dcabc47feaa32642ea91e076b1303cdb337d75fbe + languageName: node + linkType: hard + +"@nirelko/jsdom@npm:22.2.3": + version: 22.2.3 + resolution: "@nirelko/jsdom@npm:22.2.3" + dependencies: + abab: ^2.0.6 + acorn: ^8.8.1 + acorn-globals: ^7.0.0 + cssom: ^0.5.0 + cssstyle: ^2.3.0 + data-urls: ^3.0.2 + decimal.js: ^10.4.2 + domexception: ^4.0.0 + escodegen: ^2.0.0 + form-data: ^4.0.0 + html-encoding-sniffer: ^3.0.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.1 + is-potential-custom-element-name: ^1.0.1 + nwsapi: 2.2.5 + parse5: ^7.1.1 + saxes: ^6.0.0 + symbol-tree: ^3.2.4 + tough-cookie: ^4.1.2 + w3c-xmlserializer: ^4.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^2.0.0 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^11.0.0 + ws: ^8.11.0 + xml-name-validator: ^4.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: b1617568ab217d4e78c79575d7ced9157bd0e81f6d89ec5a51e6b94cf01b3f53145b0be70852fe470d473442e4a1cdc1d5f55db9acfd4dcd7a665f23c7ff93c2 languageName: node linkType: hard @@ -793,21 +2599,39 @@ __metadata: languageName: node linkType: hard -"@playwright/test@npm:^1.44.1": - version: 1.44.1 - resolution: "@playwright/test@npm:1.44.1" +"@nuxtjs/opencollective@npm:0.3.2": + version: 0.3.2 + resolution: "@nuxtjs/opencollective@npm:0.3.2" + dependencies: + chalk: ^4.1.0 + consola: ^2.15.0 + node-fetch: ^2.6.1 + bin: + opencollective: bin/opencollective.js + checksum: fd3737c12edf55b5c2279674664c3ed5e756410ea82e9cd324c3f0e032ed5ccd8df1959ec69ea97f2f1c9c33c884aae3d7a7108a73ea0faa90d74ea47cf364d4 + languageName: node + linkType: hard + +"@playwright/test@npm:^1.37.1": + version: 1.37.1 + resolution: "@playwright/test@npm:1.37.1" dependencies: - playwright: 1.44.1 + "@types/node": "*" + fsevents: 2.3.2 + playwright-core: 1.37.1 + dependenciesMeta: + fsevents: + optional: true bin: playwright: cli.js - checksum: 90507b77e388aa984deb92db56f7bb3b305c6be441e1d0087ca046989cfdda068bbc26d75bd29c20ad3dbb2434e69a8ff0d6b30003b88c9234cd3aa6a9f7deb9 + checksum: b7038f29000289103c08b215eff7aabdda70cdc1375fa7dad0e81651be71086a1e2fc0e0e29dc70348037c366cf0cc69f762373fda34ba1a74aa1658741d9195 languageName: node linkType: hard -"@remix-run/router@npm:1.16.1": - version: 1.16.1 - resolution: "@remix-run/router@npm:1.16.1" - checksum: 69068815832b30d2a5c063ac1c75365c45cf5b484dab65e1b3129fdbb3c2a7b866401733f766e550dbca1eaf0b84bc772a9c55310f4dd21eb53e62eb1b4625d0 +"@remix-run/router@npm:1.8.0": + version: 1.8.0 + resolution: "@remix-run/router@npm:1.8.0" + checksum: f754f02d3b4fc86791b88acf16065000609e2324b9436027844a76831c7107c0994067cb83abdd6093c282bd518a5c89b5e02aead585782978586e3a04534428 languageName: node linkType: hard @@ -821,198 +2645,132 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-android-arm64@npm:4.18.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.18.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@sinclair/typebox@npm:^0.24.1": + version: 0.24.51 + resolution: "@sinclair/typebox@npm:0.24.51" + checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0" - conditions: os=linux & cpu=s390x & libc=glibc +"@sinclair/typebox@npm:^0.25.16": + version: 0.25.23 + resolution: "@sinclair/typebox@npm:0.25.23" + checksum: 5720daec6e604be9ac849e6361cfa30d19f4d01934c9b79a3a5f5290dfcefaa300192ea0d384bb5dd0104432d88447bbad27adfacdf0b0f042b510bf15fbd5db languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0" - conditions: os=linux & cpu=x64 & libc=glibc +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0" - conditions: os=linux & cpu=x64 & libc=musl +"@sinonjs/commons@npm:^1.7.0": + version: 1.8.6 + resolution: "@sinonjs/commons@npm:1.8.6" + dependencies: + type-detect: 4.0.8 + checksum: 7d3f8c1e85f30cd4e83594fc19b7a657f14d49eb8d95a30095631ce15e906c869e0eff96c5b93dffea7490c00418b07f54582ba49c6560feb2a8c34c0b16832d languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0" - conditions: os=win32 & cpu=arm64 +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.0 + resolution: "@sinonjs/commons@npm:3.0.0" + dependencies: + type-detect: 4.0.8 + checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0" - conditions: os=win32 & cpu=ia32 +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": ^3.0.0 + checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.18.0": - version: 4.18.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0" - conditions: os=win32 & cpu=x64 +"@sinonjs/fake-timers@npm:^9.1.2": + version: 9.1.2 + resolution: "@sinonjs/fake-timers@npm:9.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 +"@testing-library/dom@npm:^8.5.0": + version: 8.20.0 + resolution: "@testing-library/dom@npm:8.20.0" + dependencies: + "@babel/code-frame": ^7.10.4 + "@babel/runtime": ^7.12.5 + "@types/aria-query": ^5.0.1 + aria-query: ^5.0.0 + chalk: ^4.1.0 + dom-accessibility-api: ^0.5.9 + lz-string: ^1.4.4 + pretty-format: ^27.0.2 + checksum: 1e599129a2fe91959ce80900a0a4897232b89e2a8e22c1f5950c36d39c97629ea86b4986b60b173b5525a05de33fde1e35836ea597b03de78cc51b122835c6f0 languageName: node linkType: hard -"@testing-library/dom@npm:^10.0.0, @testing-library/dom@npm:^10.1.0": - version: 10.1.0 - resolution: "@testing-library/dom@npm:10.1.0" +"@testing-library/dom@npm:^9.3.1": + version: 9.3.1 + resolution: "@testing-library/dom@npm:9.3.1" dependencies: "@babel/code-frame": ^7.10.4 "@babel/runtime": ^7.12.5 "@types/aria-query": ^5.0.1 - aria-query: 5.3.0 + aria-query: 5.1.3 chalk: ^4.1.0 dom-accessibility-api: ^0.5.9 lz-string: ^1.5.0 pretty-format: ^27.0.2 - checksum: 275f53e57914e13361aa01a9fe155a3919ec911b61abddc44a7cd077e49d24672cdd43c76d840f7cdacea2f42c4aae92321066e6ddaff039f413745797d1b390 + checksum: 8ee3136451644e39990edea93709c38cf1e8ce5306f3c66273ca00935963faa51ca74e8d92b02eb442ccb842cfa28ca62833e393e075eb269cf9bef6f5600663 languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.5": - version: 6.4.5 - resolution: "@testing-library/jest-dom@npm:6.4.5" +"@testing-library/jest-dom@npm:^5.17.0": + version: 5.17.0 + resolution: "@testing-library/jest-dom@npm:5.17.0" dependencies: - "@adobe/css-tools": ^4.3.2 + "@adobe/css-tools": ^4.0.1 "@babel/runtime": ^7.9.2 + "@types/testing-library__jest-dom": ^5.9.1 aria-query: ^5.0.0 chalk: ^3.0.0 css.escape: ^1.5.1 - dom-accessibility-api: ^0.6.3 - lodash: ^4.17.21 + dom-accessibility-api: ^0.5.6 + lodash: ^4.17.15 redent: ^3.0.0 - peerDependencies: - "@jest/globals": ">= 28" - "@types/bun": "*" - "@types/jest": ">= 28" - jest: ">= 28" - vitest: ">= 0.32" - peerDependenciesMeta: - "@jest/globals": - optional: true - "@types/bun": - optional: true - "@types/jest": - optional: true - jest: - optional: true - vitest: - optional: true - checksum: 95bd94f1f4ba2110eaaa15174207f74d46481f0f168a4d58c30f92a9285f797f9949c166aa8401bcb46e16edbf14a097013204d65801e9d1361892757e525bd6 + checksum: 9f28dbca8b50d7c306aae40c3aa8e06f0e115f740360004bd87d57f95acf7ab4b4f4122a7399a76dbf2bdaaafb15c99cc137fdcb0ae457a92e2de0f3fbf9b03b languageName: node linkType: hard -"@testing-library/react@npm:^15.0.7": - version: 15.0.7 - resolution: "@testing-library/react@npm:15.0.7" +"@testing-library/react@npm:^13.4.0": + version: 13.4.0 + resolution: "@testing-library/react@npm:13.4.0" dependencies: "@babel/runtime": ^7.12.5 - "@testing-library/dom": ^10.0.0 + "@testing-library/dom": ^8.5.0 "@types/react-dom": ^18.0.0 peerDependencies: - "@types/react": ^18.0.0 react: ^18.0.0 react-dom: ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: eb33fd82eb811bb8612aa154e430a2c1c251d5ed45a477ef57fe20095db494ea7dcfa6b1e1e2bffb0c7ee10c86e408745d95a879be8ca8fbe301bb91e5f2e5db + checksum: 51ec548c1fdb1271089a5c63e0908f0166f2c7fcd9cacd3108ebbe0ce64cb4351812d885892020dc37608418cfb15698514856502b3cab0e5cc58d6cc1bd4a3e languageName: node linkType: hard -"@testing-library/user-event@npm:^14.5.2": - version: 14.5.2 - resolution: "@testing-library/user-event@npm:14.5.2" +"@testing-library/user-event@npm:^14.4.3": + version: 14.4.3 + resolution: "@testing-library/user-event@npm:14.4.3" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: d76937dffcf0082fbf3bb89eb2b81a31bf5448048dd61c33928c5f10e33a58e035321d39145cefd469bb5a499c68a5b4086b22f1a44e3e7c7e817dc5f6782867 + checksum: 852c48ea6db1c9471b18276617c84fec4320771e466cd58339a732ca3fd73ad35e5a43ae14f51af51a8d0a150dcf60fcaab049ef367871207bea8f92c4b8195e languageName: node linkType: hard @@ -1027,27 +2785,28 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/client@workspace:packages/client" dependencies: - "@babel/plugin-proposal-explicit-resource-management": ^7.24.6 - "@testing-library/dom": ^10.1.0 - "@testing-library/jest-dom": ^6.4.5 - "@testing-library/react": ^15.0.7 - "@testing-library/user-event": ^14.5.2 + "@babel/plugin-proposal-explicit-resource-management": ^7.22.6 + "@nirelko/jest-environment-jsdom": ^29.6.7 + "@testing-library/dom": ^9.3.1 + "@testing-library/jest-dom": ^5.17.0 + "@testing-library/react": ^13.4.0 + "@testing-library/user-event": ^14.4.3 "@ts-react-tdd/server": 1.0.0 - "@types/js-cookie": ^3.0.6 - "@types/react": ^18.3.3 - "@types/react-dom": ^18.3.0 - "@vitejs/plugin-react": ^4.3.0 - axios: ^1.7.2 - fastify: ^4.27.0 - nanoid: ^5.0.7 - react: ^18.3.1 - react-dom: ^18.3.1 + "@types/js-cookie": ^3.0.3 + "@types/react": ^18.2.21 + "@types/react-dom": ^18.2.7 + "@vitejs/plugin-react": ^4.0.4 + axios: ^0.27.2 + fastify: ^4.23.2 + nanoid: ^4.0.2 + react: ^18.2.0 + react-dom: ^18.2.0 react-query: ^3.39.3 - react-router-dom: ^6.23.1 - typescript: ^5.4.5 - vite: ^5.2.12 - vite-plugin-html: ^3.2.2 - vitest: ^1.6.0 + react-router-dom: ^6.15.0 + typescript: ^5.2.2 + vite: ^4.4.9 + vite-plugin-html: ^3.2.0 + vitest: ^0.34.6 languageName: unknown linkType: soft @@ -1055,10 +2814,10 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/e2e@workspace:packages/e2e" dependencies: - "@playwright/test": ^1.44.1 + "@playwright/test": ^1.37.1 "@types/axios": ^0.14.0 - axios: ^1.7.2 - typescript: ^5.4.5 + axios: ^1.4.0 + typescript: ^5.2.2 languageName: unknown linkType: soft @@ -1066,19 +2825,28 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/server@workspace:packages/server" dependencies: - "@faker-js/faker": ^8.4.1 - "@fastify/cors": ^9.0.1 - "@types/node": ^20.12.12 - fastify: ^4.27.0 - fastify-type-provider-zod: ^1.2.0 - mongodb: ^6.6.2 - nanoid: ^5.0.7 - nodemon: ^3.1.1 + "@faker-js/faker": ^7.6.0 + "@fastify/cors": ^8.4.0 + "@nestjs/common": ^10.3.7 + "@nestjs/core": ^10.3.7 + "@nestjs/platform-express": ^10.3.7 + "@nestjs/testing": ^10.3.7 + "@types/jest": ^28.1.8 + "@types/morgan": ^1.9.5 + "@types/node": ^17.0.45 + fastify: ^4.23.2 + fastify-type-provider-zod: ^1.1.9 + jest: ^28.1.3 + mongodb: ^4.17.1 + nanoid: ^4.0.2 + nodemon: ^2.0.22 + reflect-metadata: ^0.2.2 + rxjs: ^7.8.1 ts-byob: ^1.0.3 - ts-node: ^10.9.2 - typescript: ^5.4.5 - vitest: ^1.6.0 - zod: ^3.23.8 + ts-jest: ^28.0.8 + ts-node: ^10.9.1 + typescript: ^5.2.2 + zod: ^3.22.2 languageName: unknown linkType: soft @@ -1126,16 +2894,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.20.5": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" +"@types/babel__core@npm:^7.1.14": + version: 7.20.0 + resolution: "@types/babel__core@npm:7.20.0" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 + checksum: 49b601a0a7637f1f387442c8156bd086cfd10ff4b82b0e1994e73a6396643b5435366fb33d6b604eade8467cca594ef97adcbc412aede90bb112ebe88d0ad6df languageName: node linkType: hard @@ -1158,7 +2926,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*": +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": version: 7.18.3 resolution: "@types/babel__traverse@npm:7.18.3" dependencies: @@ -1177,6 +2945,29 @@ __metadata: languageName: node linkType: hard +"@types/chai-subset@npm:^1.3.3": + version: 1.3.3 + resolution: "@types/chai-subset@npm:1.3.3" + dependencies: + "@types/chai": "*" + checksum: 4481da7345022995f5a105e6683744f7203d2c3d19cfe88d8e17274d045722948abf55e0adfd97709e0f043dade37a4d4e98cd4c660e2e8a14f23e6ecf79418f + languageName: node + linkType: hard + +"@types/chai@npm:*": + version: 4.3.4 + resolution: "@types/chai@npm:4.3.4" + checksum: 571184967beb03bf64c4392a13a7d44e72da9af5a1e83077ff81c39cf59c0fda2a5c78d2005084601cf8f3d11726608574d8b5b4a0e3e9736792807afd926cd0 + languageName: node + linkType: hard + +"@types/chai@npm:^4.3.5": + version: 4.3.5 + resolution: "@types/chai@npm:4.3.5" + checksum: c8f26a88c6b5b53a3275c7f5ff8f107028e3cbb9ff26795fff5f3d9dea07106a54ce9e2dce5e40347f7c4cc35657900aaf0c83934a25a1ae12e61e0f5516e431 + languageName: node + linkType: hard + "@types/connect@npm:*": version: 3.4.35 resolution: "@types/connect@npm:3.4.35" @@ -1186,49 +2977,107 @@ __metadata: languageName: node linkType: hard -"@types/cookie-parser@npm:^1.4.7": - version: 1.4.7 - resolution: "@types/cookie-parser@npm:1.4.7" +"@types/cookie-parser@npm:^1.4.3": + version: 1.4.3 + resolution: "@types/cookie-parser@npm:1.4.3" dependencies: "@types/express": "*" - checksum: 7b87c59420598e686a57e240be6e0db53967c3c8814be9326bf86609ee2fc39c4b3b9f2263e1deba43526090121d1df88684b64c19f7b494a80a4437caf3d40b + checksum: f390f3af1b1711190dee2c2ecd9af33af81fbde8d81ee820dadb6fe1e0d80c3faba40af37c6ed36fb88b04b64870f6a021f7e9edceecd17c42fe22abe0af5005 languageName: node linkType: hard -"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a +"@types/express-serve-static-core@npm:^4.17.33": + version: 4.17.33 + resolution: "@types/express-serve-static-core@npm:4.17.33" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + checksum: dce580d16b85f207445af9d4053d66942b27d0c72e86153089fa00feee3e96ae336b7bedb31ed4eea9e553c99d6dd356ed6e0928f135375d9f862a1a8015adf2 + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 4.17.17 + resolution: "@types/express@npm:4.17.17" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": ^4.17.33 + "@types/qs": "*" + "@types/serve-static": "*" + checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.6 + resolution: "@types/graceful-fs@npm:4.1.6" + dependencies: + "@types/node": "*" + checksum: c3070ccdc9ca0f40df747bced1c96c71a61992d6f7c767e8fd24bb6a3c2de26e8b84135ede000b7e79db530a23e7e88dcd9db60eee6395d0f4ce1dae91369dd4 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.4 + resolution: "@types/istanbul-lib-coverage@npm:2.0.4" + checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.0 + resolution: "@types/istanbul-lib-report@npm:3.0.0" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.1 + resolution: "@types/istanbul-reports@npm:3.0.1" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 + languageName: node + linkType: hard + +"@types/jest@npm:*": + version: 29.4.0 + resolution: "@types/jest@npm:29.4.0" + dependencies: + expect: ^29.0.0 + pretty-format: ^29.0.0 + checksum: 23760282362a252e6690314584d83a47512d4cd61663e957ed3398ecf98195fe931c45606ee2f9def12f8ed7d8aa102d492ec42d26facdaf8b78094a31e6568e languageName: node linkType: hard -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.17.33 - resolution: "@types/express-serve-static-core@npm:4.17.33" +"@types/jest@npm:^28.1.8": + version: 28.1.8 + resolution: "@types/jest@npm:28.1.8" dependencies: - "@types/node": "*" - "@types/qs": "*" - "@types/range-parser": "*" - checksum: dce580d16b85f207445af9d4053d66942b27d0c72e86153089fa00feee3e96ae336b7bedb31ed4eea9e553c99d6dd356ed6e0928f135375d9f862a1a8015adf2 + expect: ^28.0.0 + pretty-format: ^28.0.0 + checksum: d4cd36158a3ae1d4b42cc48a77c95de74bc56b84cf81e09af3ee0399c34f4a7da8ab9e787570f10004bd642f9e781b0033c37327fbbf4a8e4b6e37e8ee3693a7 languageName: node linkType: hard -"@types/express@npm:*": - version: 4.17.17 - resolution: "@types/express@npm:4.17.17" - dependencies: - "@types/body-parser": "*" - "@types/express-serve-static-core": ^4.17.33 - "@types/qs": "*" - "@types/serve-static": "*" - checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da +"@types/js-cookie@npm:^3.0.3": + version: 3.0.3 + resolution: "@types/js-cookie@npm:3.0.3" + checksum: 927254ec37ce4fbe4d9d54f53a446b4351259799d9933db5808ddb7c430396aa2496bdd0a4e47e1b56048ffbec98645cbd4daa9e3ed9a6fff55e25eb640fcb15 languageName: node linkType: hard -"@types/js-cookie@npm:^3.0.6": - version: 3.0.6 - resolution: "@types/js-cookie@npm:3.0.6" - checksum: 272d551687547445cb210213c73e72e0e5d58ad73e2e444a65d688b8ff9425529779ee0cd6492aaa1f070161916d4254ef2b1a76d64179100437f60749d094ef +"@types/jsdom@npm:^20.0.0": + version: 20.0.1 + resolution: "@types/jsdom@npm:20.0.1" + dependencies: + "@types/node": "*" + "@types/tough-cookie": "*" + parse5: ^7.0.0 + checksum: d55402c5256ef451f93a6e3d3881f98339fe73a5ac2030588df056d6835df8367b5a857b48d27528289057e26dcdd3f502edc00cb877c79174cb3a4c7f2198c1 languageName: node linkType: hard @@ -1239,6 +3088,15 @@ __metadata: languageName: node linkType: hard +"@types/morgan@npm:^1.9.5": + version: 1.9.5 + resolution: "@types/morgan@npm:1.9.5" + dependencies: + "@types/node": "*" + checksum: f98deb4c7f2ad6049ad34ed7b0f0d427546bdf2358011070af9d597de1b0a03b38cc10cfe65ef2e7673e569c384303d949e76df701acefe288d547f614142973 + languageName: node + linkType: hard + "@types/node@npm:*": version: 18.13.0 resolution: "@types/node@npm:18.13.0" @@ -1246,12 +3104,17 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.12.12": - version: 20.12.12 - resolution: "@types/node@npm:20.12.12" - dependencies: - undici-types: ~5.26.4 - checksum: 5373983874b9af7c216e7ca5d26b32a8d9829c703a69f1e66f2113598b5be8582c0e009ca97369f1ec9a6282b3f92812208d06eb1e9fc3bd9b939b022303d042 +"@types/node@npm:^17.0.45": + version: 17.0.45 + resolution: "@types/node@npm:17.0.45" + checksum: aa04366b9103b7d6cfd6b2ef64182e0eaa7d4462c3f817618486ea0422984c51fc69fd0d436eae6c9e696ddfdbec9ccaa27a917f7c2e8c75c5d57827fe3d95e8 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.5": + version: 2.7.2 + resolution: "@types/prettier@npm:2.7.2" + checksum: b47d76a5252265f8d25dd2fe2a5a61dc43ba0e6a96ffdd00c594cb4fd74c1982c2e346497e3472805d97915407a09423804cc2110a0b8e1b22cffcab246479b7 languageName: node linkType: hard @@ -1285,12 +3148,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.3.0": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" +"@types/react-dom@npm:^18.2.7": + version: 18.2.7 + resolution: "@types/react-dom@npm:18.2.7" dependencies: "@types/react": "*" - checksum: a0cd9b1b815a6abd2a367a9eabdd8df8dd8f13f95897b2f9e1359ea3ac6619f957c1432ece004af7d95e2a7caddbba19faa045f831f32d6263483fc5404a7596 + checksum: e02ea908289a7ad26053308248d2b87f6aeafd73d0e2de2a3d435947bcea0422599016ffd1c3e38ff36c42f5e1c87c7417f05b0a157e48649e4a02f21727d54f languageName: node linkType: hard @@ -1305,13 +3168,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.3": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" +"@types/react@npm:^18.2.21": + version: 18.2.21 + resolution: "@types/react@npm:18.2.21" dependencies: "@types/prop-types": "*" + "@types/scheduler": "*" csstype: ^3.0.2 - checksum: c63d6a78163244e2022b01ef79b0baec4fe4da3475dc4a90bb8accefad35ef0c43560fd0312e5974f92a0f1108aa4d669ac72d73d66396aa060ea03b5d2e3873 + checksum: ffed203bfe7aad772b8286f7953305c9181ac3a8f27d3f5400fbbc2a8e27ca8e5bbff818ee014f39ca0d19d2b3bb154e5bdbec7e232c6f80b59069375aa78349 languageName: node linkType: hard @@ -1332,6 +3196,29 @@ __metadata: languageName: node linkType: hard +"@types/stack-utils@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 + languageName: node + linkType: hard + +"@types/testing-library__jest-dom@npm:^5.9.1": + version: 5.14.5 + resolution: "@types/testing-library__jest-dom@npm:5.14.5" + dependencies: + "@types/jest": "*" + checksum: dcb05416758fe88c1f4f3aa97b4699fcb46a5ed8f53c6b81721e66155452a48caf12ecb97dfdfd4130678e65efd66b9fca0ac434b3d63affec84842a84a6bf38 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.2 + resolution: "@types/tough-cookie@npm:4.0.2" + checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 + languageName: node + linkType: hard + "@types/triple-beam@npm:^1.3.2": version: 1.3.2 resolution: "@types/triple-beam@npm:1.3.2" @@ -1346,81 +3233,103 @@ __metadata: languageName: node linkType: hard -"@types/whatwg-url@npm:^11.0.2": - version: 11.0.5 - resolution: "@types/whatwg-url@npm:11.0.5" +"@types/whatwg-url@npm:^8.2.1": + version: 8.2.2 + resolution: "@types/whatwg-url@npm:8.2.2" dependencies: + "@types/node": "*" "@types/webidl-conversions": "*" - checksum: 23a0c45aff51817807b473a6adb181d6e3bb0d27dde54e84883d5d5bc93358e95204d2188e7ff7fdc2cdaf157e97e1188ef0a22ec79228da300fc30d4a05b56a + checksum: 5dc5afe078dfa1a8a266745586fa3db9baa8ce7cc904789211d1dca1d34d7f3dd17d0b7423c36bc9beab9d98aa99338f1fc60798c0af6cbb8356f20e20d9f243 languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.3.0": - version: 4.3.0 - resolution: "@vitejs/plugin-react@npm:4.3.0" +"@types/yargs-parser@npm:*": + version: 21.0.0 + resolution: "@types/yargs-parser@npm:21.0.0" + checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.22 + resolution: "@types/yargs@npm:17.0.22" + dependencies: + "@types/yargs-parser": "*" + checksum: 0773523fda71bafdc52f13f5970039e535a353665a60ba9261149a5c9c2b908242e6e77fbb7a8c06931ec78ce889d64d09673c68ba23eb5f5742d5385d0d1982 + languageName: node + linkType: hard + +"@vitejs/plugin-react@npm:^4.0.4": + version: 4.0.4 + resolution: "@vitejs/plugin-react@npm:4.0.4" dependencies: - "@babel/core": ^7.24.5 - "@babel/plugin-transform-react-jsx-self": ^7.24.5 - "@babel/plugin-transform-react-jsx-source": ^7.24.1 - "@types/babel__core": ^7.20.5 - react-refresh: ^0.14.2 + "@babel/core": ^7.22.9 + "@babel/plugin-transform-react-jsx-self": ^7.22.5 + "@babel/plugin-transform-react-jsx-source": ^7.22.5 + react-refresh: ^0.14.0 peerDependencies: - vite: ^4.2.0 || ^5.0.0 - checksum: e4642c081e74e701fc07f03f505b44eb428d7105461b8026e7364ecd30dcf7785126bf272767a3bc36899b6abe85479af444612ef6d09509d9bc7d6025cac925 + vite: ^4.2.0 + checksum: ec25400dc7c5fce914122d1f57de0fbaff9216addb8cd6187308ad2c7a3d3b73ea3a6f2dd0a8c7ec5e90e56b37046fe90d3e0ec285a9446e73695cb174377f84 languageName: node linkType: hard -"@vitest/expect@npm:1.6.0": - version: 1.6.0 - resolution: "@vitest/expect@npm:1.6.0" +"@vitest/expect@npm:0.34.6": + version: 0.34.6 + resolution: "@vitest/expect@npm:0.34.6" dependencies: - "@vitest/spy": 1.6.0 - "@vitest/utils": 1.6.0 + "@vitest/spy": 0.34.6 + "@vitest/utils": 0.34.6 chai: ^4.3.10 - checksum: f3a9959ea387622297efed9e3689fd405044a813df5d5923302eaaea831e250d8d6a0ccd44fb387a95c19963242695ed803afc7c46ae06c48a8e06f194951984 + checksum: 37a526f4af7e73fc56b71ba1139d6d93ff1972315d0e0691de967179298d2ad086e8803d2b28defe0e97a1326d808cd886e4b802d1691d8894cb234e35ed5185 languageName: node linkType: hard -"@vitest/runner@npm:1.6.0": - version: 1.6.0 - resolution: "@vitest/runner@npm:1.6.0" +"@vitest/runner@npm:0.34.6": + version: 0.34.6 + resolution: "@vitest/runner@npm:0.34.6" dependencies: - "@vitest/utils": 1.6.0 - p-limit: ^5.0.0 + "@vitest/utils": 0.34.6 + p-limit: ^4.0.0 pathe: ^1.1.1 - checksum: 2dcd953477d5effc051376e35a7f2c2b28abbe07c54e61157c9a6d6f01c880e079592c959397b3a55471423256ab91709c150881a33632558b81b1e251a0bf9c + checksum: 0357f0a11f4e1e170099f9125e379bbe8049a59faa7b34b919b3e5ee8927f30824c2b3ebb814b6a77c75ec35a30bf9adb8ec2b5e051525b4edd0d17be15725cc languageName: node linkType: hard -"@vitest/snapshot@npm:1.6.0": - version: 1.6.0 - resolution: "@vitest/snapshot@npm:1.6.0" +"@vitest/snapshot@npm:0.34.6": + version: 0.34.6 + resolution: "@vitest/snapshot@npm:0.34.6" dependencies: - magic-string: ^0.30.5 + magic-string: ^0.30.1 pathe: ^1.1.1 - pretty-format: ^29.7.0 - checksum: c4249fbf3ce310de86a19529a0a5c10b1bde4d8d8a678029c632335969b86cbdbf51cedc20d5e9c9328afee834d13cec1b8de5d0fd58139bf8e2dd8dcd0797f4 + pretty-format: ^29.5.0 + checksum: c2f164b23741cdf10f449575a0f9996cf385675d0f76d2eb696f53b614743811f2fbefdc5eb0fd3f9544ccfbb566d57a5c50a70595167458579d56429b09151f languageName: node linkType: hard -"@vitest/spy@npm:1.6.0": - version: 1.6.0 - resolution: "@vitest/spy@npm:1.6.0" +"@vitest/spy@npm:0.34.6": + version: 0.34.6 + resolution: "@vitest/spy@npm:0.34.6" dependencies: - tinyspy: ^2.2.0 - checksum: 0201975232255e1197f70fc6b23a1ff5e606138a5b96598fff06077d5b747705391013ee98f951affcfd8f54322e4ae1416200393248bb6a9c794f4ef663a066 + tinyspy: ^2.1.1 + checksum: b05e5906f2f489a3234a0380a21cb48635915aa7f28eac92a595e78e9ceefb95340311635e39684b32fff20f9c58fdc33488eeddee39a660cd94c9c6bc2febf7 languageName: node linkType: hard -"@vitest/utils@npm:1.6.0": - version: 1.6.0 - resolution: "@vitest/utils@npm:1.6.0" +"@vitest/utils@npm:0.34.6": + version: 0.34.6 + resolution: "@vitest/utils@npm:0.34.6" dependencies: - diff-sequences: ^29.6.3 - estree-walker: ^3.0.3 - loupe: ^2.3.7 - pretty-format: ^29.7.0 - checksum: a4749533a48e7e4bbc8eafee0fee0e9a0d4eaa4910fbdb490d34e16f8ebcce59a2b38529b9e6b4578e3b4510ea67b29384c93165712b0a19f2e71946922d2c56 + diff-sequences: ^29.4.3 + loupe: ^2.3.6 + pretty-format: ^29.5.0 + checksum: acf716af2bab66037e49bd6d3e8bae40b605b9bff515d4926c46d6f8cc2366decfac5a1756ea55029968e71fba1da1f992764c3a57c9b46eccce3f6db7197bd6 + languageName: node + linkType: hard + +"abab@npm:^2.0.6": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e languageName: node linkType: hard @@ -1447,30 +3356,34 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 languageName: node linkType: hard -"acorn-walk@npm:^8.3.2": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 3626b9d26a37b1b427796feaa5261faf712307a8920392c8dce9a5739fb31077667f4ad2ec71c7ac6aaf9f61f04a9d3d67ff56f459587206fc04aa31c27ef392 +"acorn-globals@npm:^7.0.0": + version: 7.0.1 + resolution: "acorn-globals@npm:7.0.1" + dependencies: + acorn: ^8.1.0 + acorn-walk: ^8.0.2 + checksum: 2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8 languageName: node linkType: hard -"acorn@npm:^8.11.3": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c +"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.5.0": +"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.2": version: 8.8.2 resolution: "acorn@npm:8.8.2" bin: @@ -1479,6 +3392,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.1": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" + bin: + acorn: bin/acorn + checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d + languageName: node + linkType: hard + "acorn@npm:^8.9.0": version: 8.9.0 resolution: "acorn@npm:8.9.0" @@ -1497,15 +3419,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: ^4.3.4 - checksum: 51c158769c5c051482f9ca2e6e1ec085ac72b5a418a9b31b4e82fe6c0a6699adb94c1c42d246699a587b3335215037091c79e0de512c516f73b6ea844202f037 - languageName: node - linkType: hard - "agentkeepalive@npm:^4.2.1": version: 4.2.1 resolution: "agentkeepalive@npm:4.2.1" @@ -1541,20 +3454,6 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:^3.0.1": - version: 3.0.1 - resolution: "ajv-formats@npm:3.0.1" - dependencies: - ajv: ^8.0.0 - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: f4e1fe232d67fcafc02eafe373a7a9962351e0439dd0736647ca75c93c3da23b430b6502c255ab4315410ae330d4f3013ac9fe226c40b2524ca93a58e786d086 - languageName: node - linkType: hard - "ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" @@ -1567,6 +3466,15 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -1583,7 +3491,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1599,7 +3507,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:~3.1.2": +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -1609,6 +3517,13 @@ __metadata: languageName: node linkType: hard +"append-field@npm:^1.0.0": + version: 1.0.0 + resolution: "append-field@npm:1.0.0" + checksum: 482ba08acc0ecef00fe7da6bf2f8e48359a9905ee1af525f3120c9260c02e91eedf0579b59d898e8d8455b6c199e340bc0a2fd4b9e02adaa29a8a86c722b37f9 + languageName: node + linkType: hard + "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -1616,6 +3531,13 @@ __metadata: languageName: node linkType: hard +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 504ae7af655130bab9f471343cfdb054feaec7d8e300e13348bc9fe9e660f83d422e473069584f73233c701ae37d1c8452ff2522f2a20c38849e0f406f1732ac + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -1633,16 +3555,16 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.3.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" dependencies: - dequal: ^2.0.3 - checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9 + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 languageName: node linkType: hard -"aria-query@npm:^5.0.0": +"aria-query@npm:5.1.3, aria-query@npm:^5.0.0": version: 5.1.3 resolution: "aria-query@npm:5.1.3" dependencies: @@ -1651,6 +3573,13 @@ __metadata: languageName: node linkType: hard +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + "assertion-error@npm:^1.1.0": version: 1.1.0 resolution: "assertion-error@npm:1.1.0" @@ -1686,13 +3615,14 @@ __metadata: languageName: node linkType: hard -"avvio@npm:^8.3.0": - version: 8.3.2 - resolution: "avvio@npm:8.3.2" +"avvio@npm:^8.2.1": + version: 8.2.1 + resolution: "avvio@npm:8.2.1" dependencies: - "@fastify/error": ^3.3.0 - fastq: ^1.17.1 - checksum: 137a4a4962e6559665f0d3fef7a06d1932edf284043dc7c2f947e2acf07f2e350fe48784a5d081069e56d299d4a1020cc8679930a53744e356862996d0b23e3f + archy: ^1.0.0 + debug: ^4.0.0 + fastq: ^1.6.1 + checksum: 4c96922ea123d13b26cb78a071a8989fde62ee8580352b6d2f05b7976ed3d23efa663c12ee1be35501dfe65e12a769a2ea522bcdb7ca35a5ba4d86766467075a languageName: node linkType: hard @@ -1707,14 +3637,100 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.7.2": - version: 1.7.2 - resolution: "axios@npm:1.7.2" +"axios@npm:^0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" + dependencies: + follow-redirects: ^1.14.9 + form-data: ^4.0.0 + checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854 + languageName: node + linkType: hard + +"axios@npm:^1.4.0": + version: 1.4.0 + resolution: "axios@npm:1.4.0" dependencies: - follow-redirects: ^1.15.6 + follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: e457e2b0ab748504621f6fa6609074ac08c824bf0881592209dfa15098ece7e88495300e02cd22ba50b3468fd712fe687e629dcb03d6a3f6a51989727405aedf + checksum: 7fb6a4313bae7f45e89d62c70a800913c303df653f19eafec88e56cea2e3821066b8409bc68be1930ecca80e861c52aa787659df0ffec6ad4d451c7816b9386b + languageName: node + linkType: hard + +"babel-jest@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-jest@npm:28.1.3" + dependencies: + "@jest/transform": ^28.1.3 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.1.1 + babel-preset-jest: ^28.1.3 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 57ccd2296e1839687b5df2fd138c3d00717e0369e385254b012ccd4ee70e75f5d5c8e6cfcdf92d155015b468cfebb847b38e69bb5805d8aaf730e20575127cc6 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-instrument: ^5.0.4 + test-exclude: ^6.0.0 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-plugin-jest-hoist@npm:28.1.3" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__core": ^7.1.14 + "@types/babel__traverse": ^7.0.6 + checksum: 648d89f9d80f6450ce7e50d0c32eb91b7f26269b47c3e37aaf2e0f2f66a980978345bd6b8c9b8c3aa6a8252ad2bc2c9fb50630e9895622c9a0972af5f70ed20e + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-bigint": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.8.3 + "@babel/plugin-syntax-import-meta": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-top-level-await": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^28.1.3": + version: 28.1.3 + resolution: "babel-preset-jest@npm:28.1.3" + dependencies: + babel-plugin-jest-hoist: ^28.1.3 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 8248a4a5ca4242cc06ad13b10b9183ad2664da8fb0da060c352223dcf286f0ce9c708fa17901dc44ecabec25e6d309e5e5b9830a61dd777c3925f187a345a47d languageName: node linkType: hard @@ -1746,6 +3762,26 @@ __metadata: languageName: node linkType: hard +"body-parser@npm:1.20.2": + version: 1.20.2 + resolution: "body-parser@npm:1.20.2" + dependencies: + bytes: 3.1.2 + content-type: ~1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: ~1.6.18 + unpipe: 1.0.0 + checksum: 14d37ec638ab5c93f6099ecaed7f28f890d222c650c69306872e00b9efa081ff6c596cd9afb9930656aae4d6c4e1c17537bea12bb73c87a217cb3cfea8896737 + languageName: node + linkType: hard + "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -1753,6 +3789,13 @@ __metadata: languageName: node linkType: hard +"bowser@npm:^2.11.0": + version: 2.11.0 + resolution: "bowser@npm:2.11.0" + checksum: 29c3f01f22e703fa6644fc3b684307442df4240b6e10f6cfe1b61c6ca5721073189ca97cdeedb376081148c8518e33b1d818a57f781d70b0b70e1f31fb48814f + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -1797,24 +3840,58 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" +"browserslist@npm:^4.21.3": + version: 4.21.5 + resolution: "browserslist@npm:4.21.5" dependencies: - caniuse-lite: ^1.0.30001587 - electron-to-chromium: ^1.4.668 - node-releases: ^2.0.14 - update-browserslist-db: ^1.0.13 + caniuse-lite: ^1.0.30001449 + electron-to-chromium: ^1.4.284 + node-releases: ^2.0.8 + update-browserslist-db: ^1.0.10 bin: browserslist: cli.js - checksum: 436f49e796782ca751ebab7edc010cfc9c29f68536f387666cd70ea22f7105563f04dd62c6ff89cb24cc3254d17cba385f979eeeb3484d43e012412ff7e75def + checksum: 9755986b22e73a6a1497fd8797aedd88e04270be33ce66ed5d85a1c8a798292a65e222b0f251bafa1c2522261e237d73b08b58689d4920a607e5a53d56dc4706 + languageName: node + linkType: hard + +"browserslist@npm:^4.21.9": + version: 4.21.10 + resolution: "browserslist@npm:4.21.10" + dependencies: + caniuse-lite: ^1.0.30001517 + electron-to-chromium: ^1.4.477 + node-releases: ^2.0.13 + update-browserslist-db: ^1.0.11 + bin: + browserslist: cli.js + checksum: 1e27c0f111a35d1dd0e8fc2c61781b0daefabc2c9471b0b10537ce54843014bceb2a1ce4571af1a82b2bf1e6e6e05d38865916689a158f03bc2c7a4ec2577db8 + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: ^0.4.0 + checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 languageName: node linkType: hard -"bson@npm:^6.7.0": - version: 6.7.0 - resolution: "bson@npm:6.7.0" - checksum: f77b7001e2ec603b1058e9f2d99b642be4673e0356adf4fbdc463afd89de434d3be9d81305c1befbcda9bf8616e70a8f7ec0c8ec7a79154ca40ba455b73ea280 +"bson@npm:^4.7.2": + version: 4.7.2 + resolution: "bson@npm:4.7.2" + dependencies: + buffer: ^5.6.0 + checksum: f357d12c5679c8eb029a62e410ad40fb862b7b91f0fc12a3399fb3668e14aecaa63205ffeeee48735a01d393171743607dcd527eb8c058b6f2bd294079ee4125 languageName: node linkType: hard @@ -1825,6 +3902,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^5.6.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + "buffer@npm:^6.0.3": version: 6.0.3 resolution: "buffer@npm:6.0.3" @@ -1835,6 +3922,22 @@ __metadata: languageName: node linkType: hard +"busboy@npm:^1.0.0": + version: 1.6.0 + resolution: "busboy@npm:1.6.0" + dependencies: + streamsearch: ^1.1.0 + checksum: 32801e2c0164e12106bf236291a00795c3c4e4b709ae02132883fe8478ba2ae23743b11c5735a0aae8afe65ac4b6ca4568b91f0d9fed1fdbc32ede824a73746e + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e + languageName: node + linkType: hard + "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -1878,6 +3981,13 @@ __metadata: languageName: node linkType: hard +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + "camel-case@npm:^4.1.2": version: 4.1.2 resolution: "camel-case@npm:4.1.2" @@ -1888,10 +3998,31 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001625 - resolution: "caniuse-lite@npm:1.0.30001625" - checksum: e7f8b9e10c35a5d9a1d1db76be398cb1c592ee1bc905fabe6bd90313537099d29a65c49c85e6350132fa30ca20e8c0317ecfaa66d997f7fac21ff37ddaece2a9 +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001449": + version: 1.0.30001452 + resolution: "caniuse-lite@npm:1.0.30001452" + checksum: de02aad7b71112409f30de53e8080bef0fe612ed95bba8b14fb830f59683e8caabc27bdd520563686965be77f2cb56e239e44b920144630b91d7fe9911ba8ad5 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001517": + version: 1.0.30001523 + resolution: "caniuse-lite@npm:1.0.30001523" + checksum: 3a007dc8147d4b5a6c22661d424e6d4e4e9595d0dcb279d25b93161cc7d54363eb12d053f40a186ba7e42a8bc4f59e6e121474b7aa339bf7ec200258400d39bc languageName: node linkType: hard @@ -1931,7 +4062,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.2, chalk@npm:^4.1.0": +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -1941,6 +4072,13 @@ __metadata: languageName: node linkType: hard +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 + languageName: node + linkType: hard + "check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" @@ -1976,6 +4114,20 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^3.2.0": + version: 3.8.0 + resolution: "ci-info@npm:3.8.0" + checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098 + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 + languageName: node + linkType: hard + "clean-css@npm:^5.2.2": version: 5.3.2 resolution: "clean-css@npm:5.3.2" @@ -1992,6 +4144,31 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.1 + wrap-ansi: ^7.0.0 + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0, color-convert@npm:^1.9.3": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -2100,10 +4277,15 @@ __metadata: languageName: node linkType: hard -"confbox@npm:^0.1.7": - version: 0.1.7 - resolution: "confbox@npm:0.1.7" - checksum: bde836c26f5154a348b0c0a757f8a0138929e5737e0553be3c4f07a056abca618b861aa63ac3b22d344789b56be99a1382928933e08cd500df00213bf4d8fb43 +"concat-stream@npm:^1.5.2": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^2.2.2 + typedarray: ^0.0.6 + checksum: 1ef77032cb4459dcd5187bd710d6fc962b067b64ec6a505810de3d2b8cc0605638551b42f8ec91edf6fcd26141b32ef19ad749239b58fae3aba99187adc32285 languageName: node linkType: hard @@ -2114,7 +4296,7 @@ __metadata: languageName: node linkType: hard -"consola@npm:^2.15.3": +"consola@npm:^2.15.0, consola@npm:^2.15.3": version: 2.15.3 resolution: "consola@npm:2.15.3" checksum: 8ef7a09b703ec67ac5c389a372a33b6dc97eda6c9876443a60d76a3076eea0259e7f67a4e54fd5a52f97df73690822d090cf8b7e102b5761348afef7c6d03e28 @@ -2128,10 +4310,26 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 languageName: node linkType: hard @@ -2159,13 +4357,37 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.6.0": +"cookie@npm:0.6.0": version: 0.6.0 resolution: "cookie@npm:0.6.0" checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 languageName: node linkType: hard +"cookie@npm:^0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + +"cors@npm:2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: ^4 + vary: ^1 + checksum: ced838404ccd184f61ab4fdc5847035b681c90db7ac17e428f3d81d69e2989d2b680cc254da0e2554f5ed4f8a341820a1ce3d1c16b499f6e2f47a1b9b07b5006 + languageName: node + linkType: hard + "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -2204,19 +4426,42 @@ __metadata: languageName: node linkType: hard -"css.escape@npm:^1.5.1": - version: 1.5.1 - resolution: "css.escape@npm:1.5.1" - checksum: f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774 +"css.escape@npm:^1.5.1": + version: 1.5.1 + resolution: "css.escape@npm:1.5.1" + checksum: f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774 + languageName: node + linkType: hard + +"cssom@npm:^0.5.0": + version: 0.5.0 + resolution: "cssom@npm:0.5.0" + checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 languageName: node linkType: hard -"cssstyle@npm:^4.0.1": - version: 4.0.1 - resolution: "cssstyle@npm:4.0.1" +"cssstyle@npm:^3.0.0": + version: 3.0.0 + resolution: "cssstyle@npm:3.0.0" dependencies: rrweb-cssom: ^0.6.0 - checksum: 4b2fdd81c565b1f8f24a792f85d3a19269a2f201e731c3fe3531d7fc78b4bc6b31906ed17aba7edba7b1c8b7672574fc6c09fe925556da3a9a9458dbf8c4fa22 + checksum: 31f694dfed9998ed93570fe539610837b878193dd8487c33cb12db8004333c53c2a3904166288bbec68388c72fb01014d46d3243ddfb02fe845989d852c06f27 languageName: node linkType: hard @@ -2227,17 +4472,38 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^5.0.0": - version: 5.0.0 - resolution: "data-urls@npm:5.0.0" +"data-urls@npm:^3.0.2": + version: 3.0.2 + resolution: "data-urls@npm:3.0.2" + dependencies: + abab: ^2.0.6 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^11.0.0 + checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 + languageName: node + linkType: hard + +"data-urls@npm:^4.0.0": + version: 4.0.0 + resolution: "data-urls@npm:4.0.0" + dependencies: + abab: ^2.0.6 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^12.0.0 + checksum: 006e869b5bf079647949a3e9b1dd69d84b2d5d26e6b01c265485699bc96e83817d4b5aae758b2910a4c58c0601913f3a0034121c1ca2da268e9a244c57515b15 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" dependencies: - whatwg-mimetype: ^4.0.0 - whatwg-url: ^14.0.0 - checksum: 5c40568c31b02641a70204ff233bc4e42d33717485d074244a98661e5f2a1e80e38fe05a5755dfaf2ee549f2ab509d6a3af2a85f4b2ad2c984e5d176695eaf46 + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 languageName: node linkType: hard -"debug@npm:4, debug@npm:^4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -2249,13 +4515,29 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.4.3": +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae languageName: node linkType: hard +"dedent@npm:^0.7.0": + version: 0.7.0 + resolution: "dedent@npm:0.7.0" + checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 + languageName: node + linkType: hard + "deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" @@ -2290,6 +4572,20 @@ __metadata: languageName: node linkType: hard +"deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.0 + resolution: "deepmerge@npm:4.3.0" + checksum: c7980eb5c5be040b371f1df0d566473875cfabed9f672ccc177b81ba8eee5686ce2478de2f1d0076391621cbe729e5eacda397179a59ef0f68901849647db126 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.2.0 resolution: "define-properties@npm:1.2.0" @@ -2314,6 +4610,13 @@ __metadata: languageName: node linkType: hard +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a + languageName: node + linkType: hard + "depd@npm:^1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" @@ -2321,10 +4624,17 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.3": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 languageName: node linkType: hard @@ -2335,10 +4645,17 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: f4914158e1f2276343d98ff5b31fc004e7304f5470bf0f1adb2ac6955d85a531a6458d33e87667f98f6ae52ebd3891bb47d420bb48a5bd8b7a27ee25b20e33aa +"diff-sequences@npm:^28.1.1": + version: 28.1.1 + resolution: "diff-sequences@npm:28.1.1" + checksum: e2529036505567c7ca5a2dea86b6bcd1ca0e3ae63bf8ebf529b8a99cfa915bbf194b7021dc1c57361a4017a6d95578d4ceb29fabc3232a4f4cb866a2726c7690 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.4.3": + version: 29.4.3 + resolution: "diff-sequences@npm:29.4.3" + checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 languageName: node linkType: hard @@ -2349,20 +4666,13 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.9": +"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" checksum: 005eb283caef57fc1adec4d5df4dd49189b628f2f575af45decb210e04d634459e3f1ee64f18b41e2dcf200c844bc1d9279d80807e686a30d69a4756151ad248 languageName: node linkType: hard -"dom-accessibility-api@npm:^0.6.3": - version: 0.6.3 - resolution: "dom-accessibility-api@npm:0.6.3" - checksum: c325b5144bb406df23f4affecffc117dbaec9af03daad9ee6b510c5be647b14d28ef0a4ea5ca06d696d8ab40bb777e5fed98b985976fdef9d8790178fa1d573f - languageName: node - linkType: hard - "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -2381,6 +4691,15 @@ __metadata: languageName: node linkType: hard +"domexception@npm:^4.0.0": + version: 4.0.0 + resolution: "domexception@npm:4.0.0" + dependencies: + webidl-conversions: ^7.0.0 + checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 + languageName: node + linkType: hard + "domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -2425,6 +4744,13 @@ __metadata: languageName: node linkType: hard +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + "ejs@npm:^3.1.6": version: 3.1.8 resolution: "ejs@npm:3.1.8" @@ -2436,10 +4762,24 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.668": - version: 1.4.783 - resolution: "electron-to-chromium@npm:1.4.783" - checksum: 49dfd8614c8e28076ca82e241a4a246685440dacde5e2cdb85d57a0d5bcc1cbd5de3201b3158b94ad5f1016e91ab9bb0d4da8cfe46d2897400fb62e6a5be198e +"electron-to-chromium@npm:^1.4.284": + version: 1.4.296 + resolution: "electron-to-chromium@npm:1.4.296" + checksum: ab156f23a5f8ef452f5a5764e42d98c89d3a225ab4660c165235a4f62ab86c114d2ab8af872f14a52b48b7a41e8db9d11b497260ac9199724c8f848b4b433e46 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.477": + version: 1.4.503 + resolution: "electron-to-chromium@npm:1.4.503" + checksum: 77198f5d4365931fb6f18670f1cc2bc6833516dfe935e69209da45ba06fd9e3bb02678216ab8c1cf7b047655559b7d591d922d9a781a1f91c7f5a32d5f51f778 + languageName: node + linkType: hard + +"emittery@npm:^0.10.2": + version: 0.10.2 + resolution: "emittery@npm:0.10.2" + checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac languageName: node linkType: hard @@ -2457,6 +4797,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -2494,6 +4841,15 @@ __metadata: languageName: node linkType: hard +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + "es-get-iterator@npm:^1.1.2": version: 1.1.3 resolution: "es-get-iterator@npm:1.1.3" @@ -2511,36 +4867,110 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.20.1": - version: 0.20.2 - resolution: "esbuild@npm:0.20.2" - dependencies: - "@esbuild/aix-ppc64": 0.20.2 - "@esbuild/android-arm": 0.20.2 - "@esbuild/android-arm64": 0.20.2 - "@esbuild/android-x64": 0.20.2 - "@esbuild/darwin-arm64": 0.20.2 - "@esbuild/darwin-x64": 0.20.2 - "@esbuild/freebsd-arm64": 0.20.2 - "@esbuild/freebsd-x64": 0.20.2 - "@esbuild/linux-arm": 0.20.2 - "@esbuild/linux-arm64": 0.20.2 - "@esbuild/linux-ia32": 0.20.2 - "@esbuild/linux-loong64": 0.20.2 - "@esbuild/linux-mips64el": 0.20.2 - "@esbuild/linux-ppc64": 0.20.2 - "@esbuild/linux-riscv64": 0.20.2 - "@esbuild/linux-s390x": 0.20.2 - "@esbuild/linux-x64": 0.20.2 - "@esbuild/netbsd-x64": 0.20.2 - "@esbuild/openbsd-x64": 0.20.2 - "@esbuild/sunos-x64": 0.20.2 - "@esbuild/win32-arm64": 0.20.2 - "@esbuild/win32-ia32": 0.20.2 - "@esbuild/win32-x64": 0.20.2 +"esbuild@npm:^0.18.10": + version: 0.18.17 + resolution: "esbuild@npm:0.18.17" + dependencies: + "@esbuild/android-arm": 0.18.17 + "@esbuild/android-arm64": 0.18.17 + "@esbuild/android-x64": 0.18.17 + "@esbuild/darwin-arm64": 0.18.17 + "@esbuild/darwin-x64": 0.18.17 + "@esbuild/freebsd-arm64": 0.18.17 + "@esbuild/freebsd-x64": 0.18.17 + "@esbuild/linux-arm": 0.18.17 + "@esbuild/linux-arm64": 0.18.17 + "@esbuild/linux-ia32": 0.18.17 + "@esbuild/linux-loong64": 0.18.17 + "@esbuild/linux-mips64el": 0.18.17 + "@esbuild/linux-ppc64": 0.18.17 + "@esbuild/linux-riscv64": 0.18.17 + "@esbuild/linux-s390x": 0.18.17 + "@esbuild/linux-x64": 0.18.17 + "@esbuild/netbsd-x64": 0.18.17 + "@esbuild/openbsd-x64": 0.18.17 + "@esbuild/sunos-x64": 0.18.17 + "@esbuild/win32-arm64": 0.18.17 + "@esbuild/win32-ia32": 0.18.17 + "@esbuild/win32-x64": 0.18.17 dependenciesMeta: - "@esbuild/aix-ppc64": + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": optional: true + bin: + esbuild: bin/esbuild + checksum: c6e1ffa776978a45697763a07ec9b16411db3d3b3997b2c4a0165a211727fce8b63b87165a28d8ef60d3a28b98197bbbc2833e51b89888a4437e0a483dffc8ff + languageName: node + linkType: hard + +"esbuild@npm:^0.19.3": + version: 0.19.4 + resolution: "esbuild@npm:0.19.4" + dependencies: + "@esbuild/android-arm": 0.19.4 + "@esbuild/android-arm64": 0.19.4 + "@esbuild/android-x64": 0.19.4 + "@esbuild/darwin-arm64": 0.19.4 + "@esbuild/darwin-x64": 0.19.4 + "@esbuild/freebsd-arm64": 0.19.4 + "@esbuild/freebsd-x64": 0.19.4 + "@esbuild/linux-arm": 0.19.4 + "@esbuild/linux-arm64": 0.19.4 + "@esbuild/linux-ia32": 0.19.4 + "@esbuild/linux-loong64": 0.19.4 + "@esbuild/linux-mips64el": 0.19.4 + "@esbuild/linux-ppc64": 0.19.4 + "@esbuild/linux-riscv64": 0.19.4 + "@esbuild/linux-s390x": 0.19.4 + "@esbuild/linux-x64": 0.19.4 + "@esbuild/netbsd-x64": 0.19.4 + "@esbuild/openbsd-x64": 0.19.4 + "@esbuild/sunos-x64": 0.19.4 + "@esbuild/win32-arm64": 0.19.4 + "@esbuild/win32-ia32": 0.19.4 + "@esbuild/win32-x64": 0.19.4 + dependenciesMeta: "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -2587,14 +5017,21 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: bc88050fc1ca5c1bd03648f9979e514bdefb956a63aa3974373bb7b9cbac0b3aac9b9da1b5bdca0b3490e39d6b451c72815dbd6b7d7f978c91fbe9c9e9aa4e4c + checksum: 024309a16365b020815a30e9a3a9354894a391cf1adbfad7f44a975cf161ab5e961619b30e1ec8ea02994631d71e6b38831119be69f8ccb610c32bbe21addc79 languageName: node linkType: hard -"escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 1ec0977aa2772075493002bdbd549d595ff6e9393b1cb0d7d6fcaf78c750da0c158f180938365486f75cb69fba20294351caddfce1b46552a7b6c3cde52eaa02 +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 languageName: node linkType: hard @@ -2605,6 +5042,49 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + "estree-walker@npm:^2.0.1": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -2612,12 +5092,17 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^3.0.3": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": ^1.0.0 - checksum: a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff languageName: node linkType: hard @@ -2635,24 +5120,96 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" dependencies: cross-spawn: ^7.0.3 - get-stream: ^8.0.1 - human-signals: ^5.0.0 - is-stream: ^3.0.0 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 merge-stream: ^2.0.0 - npm-run-path: ^5.1.0 - onetime: ^6.0.0 - signal-exit: ^4.1.0 - strip-final-newline: ^3.0.0 - checksum: cac1bf86589d1d9b73bdc5dda65c52012d1a9619c44c526891956745f7b366ca2603d29fe3f7460bacc2b48c6eab5d6a4f7afe0534b31473d3708d1265545e1f + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 + languageName: node + linkType: hard + +"expect@npm:^28.0.0, expect@npm:^28.1.3": + version: 28.1.3 + resolution: "expect@npm:28.1.3" + dependencies: + "@jest/expect-utils": ^28.1.3 + jest-get-type: ^28.0.2 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + checksum: 101e0090de300bcafedb7dbfd19223368a2251ce5fe0105bbb6de5720100b89fb6b64290ebfb42febc048324c76d6a4979cdc4b61eb77747857daf7a5de9b03d + languageName: node + linkType: hard + +"expect@npm:^29.0.0": + version: 29.4.3 + resolution: "expect@npm:29.4.3" + dependencies: + "@jest/expect-utils": ^29.4.3 + jest-get-type: ^29.4.3 + jest-matcher-utils: ^29.4.3 + jest-message-util: ^29.4.3 + jest-util: ^29.4.3 + checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb languageName: node linkType: hard -"fast-content-type-parse@npm:^1.1.0": +"express@npm:4.19.2": + version: 4.19.2 + resolution: "express@npm:4.19.2" + dependencies: + accepts: ~1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: 2.4.1 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.11.0 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: 212dbd6c2c222a96a61bc927639c95970a53b06257080bb9e2838adb3bffdb966856551fdad1ab5dd654a217c35db94f987d0aa88d48fb04d306340f5f34dca5 + languageName: node + linkType: hard + +"fast-content-type-parse@npm:^1.0.0": version: 1.1.0 resolution: "fast-content-type-parse@npm:1.1.0" checksum: c8c995b60ed30c4914aa255f012347f63fffa0c258039977b2080bb5c951dc6ef68a9243eac8ab456190642be44a31a7ada6e74d846e04f4667d40ebf778b94e @@ -2686,6 +5243,13 @@ __metadata: languageName: node linkType: hard +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + "fast-json-stringify@npm:^5.7.0": version: 5.8.0 resolution: "fast-json-stringify@npm:5.8.0" @@ -2700,18 +5264,10 @@ __metadata: languageName: node linkType: hard -"fast-json-stringify@npm:^5.8.0": - version: 5.16.0 - resolution: "fast-json-stringify@npm:5.16.0" - dependencies: - "@fastify/merge-json-schemas": ^0.1.0 - ajv: ^8.10.0 - ajv-formats: ^3.0.1 - fast-deep-equal: ^3.1.3 - fast-uri: ^2.1.0 - json-schema-ref-resolver: ^1.0.1 - rfdc: ^1.2.0 - checksum: b2eaf3843d6337d65c31f90afb0db9a19d710e363c9d57fec3c1a50087189264174efcbde6c96eb5cbff1be2f739a59284bd7ce1a87dcb38e600e250051581ea +"fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c languageName: node linkType: hard @@ -2731,6 +5287,13 @@ __metadata: languageName: node linkType: hard +"fast-safe-stringify@npm:2.1.1": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d + languageName: node + linkType: hard + "fast-uri@npm:^2.0.0, fast-uri@npm:^2.1.0": version: 2.2.0 resolution: "fast-uri@npm:2.2.0" @@ -2738,6 +5301,17 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:4.0.11": + version: 4.0.11 + resolution: "fast-xml-parser@npm:4.0.11" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: d8a08e4d5597e0fc00a86735195872eeb03008913e298830941516f3766e16ee555e2d431acc92e1dda887938edc445252ec5b59494aab60a8389888bd13719c + languageName: node + linkType: hard + "fastify-plugin@npm:^4.0.0": version: 4.5.1 resolution: "fastify-plugin@npm:4.5.1" @@ -2745,57 +5319,57 @@ __metadata: languageName: node linkType: hard -"fastify-type-provider-zod@npm:^1.2.0": - version: 1.2.0 - resolution: "fastify-type-provider-zod@npm:1.2.0" +"fastify-type-provider-zod@npm:^1.1.9": + version: 1.1.9 + resolution: "fastify-type-provider-zod@npm:1.1.9" dependencies: - zod-to-json-schema: ^3.23.0 + zod-to-json-schema: ^3.17.1 peerDependencies: fastify: ^4.0.0 zod: ^3.14.2 - checksum: d37b3a1be78291a78ca162508f85db96f839e875ee3e760b8ac1cc7b12b631943c250399435d443610d79d83b67075ddc7b4b1d6d19b7aa3177a31cdb3799511 + checksum: 86792031057cf3807a2e77ef41b16161d94c89ab95bd6284574502351df9c4d1e1621d4f7e7f3f14cd81aec9923c3a4f61c8889d5abb3b57e52ee9c0015056e1 languageName: node linkType: hard -"fastify@npm:^4.27.0": - version: 4.27.0 - resolution: "fastify@npm:4.27.0" +"fastify@npm:^4.23.2": + version: 4.23.2 + resolution: "fastify@npm:4.23.2" dependencies: "@fastify/ajv-compiler": ^3.5.0 - "@fastify/error": ^3.4.0 + "@fastify/error": ^3.2.0 "@fastify/fast-json-stringify-compiler": ^4.3.0 abstract-logging: ^2.0.1 - avvio: ^8.3.0 - fast-content-type-parse: ^1.1.0 - fast-json-stringify: ^5.8.0 - find-my-way: ^8.0.0 - light-my-request: ^5.11.0 - pino: ^9.0.0 - process-warning: ^3.0.0 + avvio: ^8.2.1 + fast-content-type-parse: ^1.0.0 + fast-json-stringify: ^5.7.0 + find-my-way: ^7.6.0 + light-my-request: ^5.9.1 + pino: ^8.12.0 + process-warning: ^2.2.0 proxy-addr: ^2.0.7 rfdc: ^1.3.0 - secure-json-parse: ^2.7.0 - semver: ^7.5.4 - toad-cache: ^3.3.0 - checksum: efd0f9ba109d89d3801aefb5d3ccd505e398484f007f23dc04409cba46079401924687adf0d0b9026af9bb7ee86fca976b1576465c56e119a91469c25313ee75 + secure-json-parse: ^2.5.0 + semver: ^7.5.0 + toad-cache: ^3.2.0 + checksum: 125cc67b3dbd86f97918e2dbfc0655cea93d20a93a9a0d14c3a0fd0a1c7fa60bb2a204331baeedea606f085f7b0c11c532c2eac52d1b2bb7bb10334b7e072512 languageName: node linkType: hard -"fastq@npm:^1.17.1": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" +"fastq@npm:^1.6.0, fastq@npm:^1.6.1": + version: 1.15.0 + resolution: "fastq@npm:1.15.0" dependencies: reusify: ^1.0.4 - checksum: a8c5b26788d5a1763f88bae56a8ddeee579f935a831c5fe7a8268cea5b0a91fbfe705f612209e02d639b881d7b48e461a50da4a10cfaa40da5ca7cc9da098d88 + checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a languageName: node linkType: hard -"fastq@npm:^1.6.0": - version: 1.15.0 - resolution: "fastq@npm:1.15.0" +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" dependencies: - reusify: ^1.0.4 - checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a + bser: 2.1.1 + checksum: b15a124cef28916fe07b400eb87cbc73ca082c142abf7ca8e8de6af43eca79ca7bd13eb4d4d48240b3bd3136eaac40d16e42d6edf87a8e5d1dd8070626860c78 languageName: node linkType: hard @@ -2824,14 +5398,39 @@ __metadata: languageName: node linkType: hard -"find-my-way@npm:^8.0.0": - version: 8.2.0 - resolution: "find-my-way@npm:8.2.0" +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: 2.4.1 + parseurl: ~1.3.3 + statuses: 2.0.1 + unpipe: ~1.0.0 + checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 + languageName: node + linkType: hard + +"find-my-way@npm:^7.6.0": + version: 7.6.2 + resolution: "find-my-way@npm:7.6.2" dependencies: fast-deep-equal: ^3.1.3 fast-querystring: ^1.0.0 - safe-regex2: ^3.1.0 - checksum: 4f59fe17a1431511ec172403da0d1ac05bf9efebfdd4c7149b658d748b2570b63d798847e08ceea00f57543611fdb64ba3793dfc67a9ed7b5bfa0d77c8693eb5 + safe-regex2: ^2.0.0 + checksum: 56c02350aba2cc4cff82b3e00171cf4db72756b8ca5f0e41562d21f89cf29512b9e83b6e29ab352303ca9d0dcbfcd8c93f50d52dc92f1eeecc4bc991404ef533 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 languageName: node linkType: hard @@ -2842,7 +5441,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.0": +"follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0": version: 1.15.2 resolution: "follow-redirects@npm:1.15.2" peerDependenciesMeta: @@ -2852,16 +5451,6 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.6": - version: 1.15.6 - resolution: "follow-redirects@npm:1.15.6" - peerDependenciesMeta: - debug: - optional: true - checksum: a62c378dfc8c00f60b9c80cab158ba54e99ba0239a5dd7c81245e5a5b39d10f0c35e249c3379eae719ff0285fff88c365dd446fab19dee771f1d76252df1bbf5 - languageName: node - linkType: hard - "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -2889,6 +5478,13 @@ __metadata: languageName: node linkType: hard +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + "fs-extra@npm:^10.0.1": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" @@ -2916,7 +5512,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:2.3.2, fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -2936,7 +5532,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": +"fsevents@patch:fsevents@2.3.2#~builtin, fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -2991,6 +5587,13 @@ __metadata: languageName: node linkType: hard +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + "get-func-name@npm:^2.0.0": version: 2.0.0 resolution: "get-func-name@npm:2.0.0" @@ -2998,7 +5601,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b @@ -3016,10 +5619,17 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 01e3d3cf29e1393f05f44d2f00445c5f9ec3d1c49e8179b31795484b9c117f4c695e5e07b88b50785d5c8248a788c85d9913a79266fc77e3ef11f78f10f1b974 +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad languageName: node linkType: hard @@ -3075,7 +5685,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da @@ -3153,12 +5763,19 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^4.0.0": - version: 4.0.0 - resolution: "html-encoding-sniffer@npm:4.0.0" +"html-encoding-sniffer@npm:^3.0.0": + version: 3.0.0 + resolution: "html-encoding-sniffer@npm:3.0.0" dependencies: - whatwg-encoding: ^3.1.1 - checksum: 3339b71dab2723f3159a56acf541ae90a408ce2d11169f00fe7e0c4663d31d6398c8a4408b504b4eec157444e47b084df09b3cb039c816660f0dd04846b8957d + whatwg-encoding: ^2.0.0 + checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 languageName: node linkType: hard @@ -3186,6 +5803,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 + languageName: node + linkType: hard + "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -3197,40 +5827,20 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.2": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: ^7.1.0 - debug: ^4.3.4 - checksum: 670858c8f8f3146db5889e1fa117630910101db601fff7d5a8aa637da0abedf68c899f03d3451cac2f83bcc4c3d2dabf339b3aa00ff8080571cceb02c3ce02f3 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": +"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: agent-base: 6 debug: 4 - checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.4": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" - dependencies: - agent-base: ^7.0.2 - debug: 4 - checksum: daaab857a967a2519ddc724f91edbbd388d766ff141b9025b629f92b9408fc83cee8a27e11a907aede392938e9c398e240d643e178408a59e4073539cde8cfe9 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 languageName: node linkType: hard -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 6504560d5ed91444f16bea3bd9dfc66110a339442084e56c3e7fa7bbdf3f406426d6563d662bdce67064b165eac31eeabfc0857ed170aaa612cf14ec9f9a464c +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 languageName: node linkType: hard @@ -3243,6 +5853,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + "iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -3252,7 +5871,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.2.1": +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -3266,6 +5885,18 @@ __metadata: languageName: node linkType: hard +"import-local@npm:^3.0.2": + version: 3.1.0 + resolution: "import-local@npm:3.1.0" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -3297,7 +5928,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -3350,6 +5981,13 @@ __metadata: languageName: node linkType: hard +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + "is-arrayish@npm:^0.3.1": version: 0.3.2 resolution: "is-arrayish@npm:0.3.2" @@ -3392,6 +6030,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.9.0": + version: 2.11.0 + resolution: "is-core-module@npm:2.11.0" + dependencies: + has: ^1.0.3 + checksum: f96fd490c6b48eb4f6d10ba815c6ef13f410b0ba6f7eb8577af51697de523e5f2cd9de1c441b51d27251bf0e4aebc936545e33a5d26d5d51f28d25698d4a8bab + languageName: node + linkType: hard + "is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -3415,6 +6062,13 @@ __metadata: languageName: node linkType: hard +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + "is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -3465,115 +6119,717 @@ __metadata: version: 1.1.4 resolution: "is-regex@npm:1.1.4" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-set@npm:^2.0.1, is-set@npm:^2.0.2": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.10": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.1": + version: 2.0.1 + resolution: "is-weakmap@npm:2.0.1" + checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.1": + version: 2.0.2 + resolution: "is-weakset@npm:2.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.2.0 + semver: ^6.3.0 + checksum: bf16f1803ba5e51b28bbd49ed955a736488381e09375d830e42ddeb403855b2006f850711d95ad726f2ba3f1ae8e7366de7e51d2b9ac67dc4d80191ef7ddf272 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.5 + resolution: "istanbul-reports@npm:3.1.5" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89 + languageName: node + linkType: hard + +"iterare@npm:1.2.1": + version: 1.2.1 + resolution: "iterare@npm:1.2.1" + checksum: 70bc80038e3718aa9072bc63b3a0135166d7120bde46bfcaf80a88d11005dcef1b2d69cd353849f87a3f58ba8f546a8c6e6983408236ff01fa50b52339ee5223 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.8.5 + resolution: "jake@npm:10.8.5" + dependencies: + async: ^3.2.3 + chalk: ^4.0.2 + filelist: ^1.0.1 + minimatch: ^3.0.4 + bin: + jake: ./bin/cli.js + checksum: 56c913ecf5a8d74325d0af9bc17a233bad50977438d44864d925bb6c45c946e0fee8c4c1f5fe2225471ef40df5222e943047982717ebff0d624770564d3c46ba + languageName: node + linkType: hard + +"jest-changed-files@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-changed-files@npm:28.1.3" + dependencies: + execa: ^5.0.0 + p-limit: ^3.1.0 + checksum: c78af14a68b9b19101623ae7fde15a2488f9b3dbe8cca12a05c4a223bc9bfd3bf41ee06830f20fb560c52434435d6153c9cc6cf450b1f7b03e5e7f96a953a6a6 + languageName: node + linkType: hard + +"jest-circus@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-circus@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/expect": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + dedent: ^0.7.0 + is-generator-fn: ^2.0.0 + jest-each: ^28.1.3 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-runtime: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + p-limit: ^3.1.0 + pretty-format: ^28.1.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: b635e60a9c92adaefc3f24def8eba691e7c2fdcf6c9fa640cddf2eb8c8b26ee62eab73ebb88798fd7c52a74c1495a984e39b748429b610426f02e9d3d56e09b2 + languageName: node + linkType: hard + +"jest-cli@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-cli@npm:28.1.3" + dependencies: + "@jest/core": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + import-local: ^3.0.2 + jest-config: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + prompts: ^2.0.1 + yargs: ^17.3.1 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: fb424576bf38346318daddee3fcc597cd78cb8dda1759d09c529d8ba1a748f2765c17b00671072a838826e59465a810ff8a232bc6ba2395c131bf3504425a363 + languageName: node + linkType: hard + +"jest-config@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-config@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@jest/test-sequencer": ^28.1.3 + "@jest/types": ^28.1.3 + babel-jest: ^28.1.3 + chalk: ^4.0.0 + ci-info: ^3.2.0 + deepmerge: ^4.2.2 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + jest-circus: ^28.1.3 + jest-environment-node: ^28.1.3 + jest-get-type: ^28.0.2 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-runner: ^28.1.3 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + micromatch: ^4.0.4 + parse-json: ^5.2.0 + pretty-format: ^28.1.3 + slash: ^3.0.0 + strip-json-comments: ^3.1.1 + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: ddabffd3a3a8cb6c2f58f06cdf3535157dbf8c70bcde3e5c3de7bee6a8d617840ffc8cffb0083e38c6814f2a08c225ca19f58898efaf4f351af94679f22ce6bc + languageName: node + linkType: hard + +"jest-diff@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-diff@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^28.1.1 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: fa8583e0ccbe775714ce850b009be1b0f6b17a4b6759f33ff47adef27942ebc610dbbcc8a5f7cfb7f12b3b3b05afc9fb41d5f766674616025032ff1e4f9866e0 + languageName: node + linkType: hard + +"jest-diff@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-diff@npm:29.4.3" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^29.4.3 + jest-get-type: ^29.4.3 + pretty-format: ^29.4.3 + checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 + languageName: node + linkType: hard + +"jest-docblock@npm:^28.1.1": + version: 28.1.1 + resolution: "jest-docblock@npm:28.1.1" + dependencies: + detect-newline: ^3.0.0 + checksum: 22fca68d988ecb2933bc65f448facdca85fc71b4bd0a188ea09a5ae1b0cc3a049a2a6ec7e7eaa2542c1d5cb5e5145e420a3df4fa280f5070f486c44da1d36151 + languageName: node + linkType: hard + +"jest-each@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-each@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + jest-util: ^28.1.3 + pretty-format: ^28.1.3 + checksum: 5c5b8ccb1484e58b027bea682cfa020a45e5bf5379cc7c23bdec972576c1dc3c3bf03df2b78416cefc1a58859dd33b7cf5fff54c370bc3c0f14a3e509eb87282 + languageName: node + linkType: hard + +"jest-environment-node@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-environment-node@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/fake-timers": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + jest-mock: ^28.1.3 + jest-util: ^28.1.3 + checksum: 1048fe306a6a8b0880a4c66278ebb57479f29c12cff89aab3aa79ab77a8859cf17ab8aa9919fd21c329a7db90e35581b43664e694ad453d5b04e00f3c6420469 + languageName: node + linkType: hard + +"jest-get-type@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-get-type@npm:28.0.2" + checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd + languageName: node + linkType: hard + +"jest-get-type@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-get-type@npm:29.4.3" + checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce + languageName: node + linkType: hard + +"jest-haste-map@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-haste-map@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/graceful-fs": ^4.1.3 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.3.2 + graceful-fs: ^4.2.9 + jest-regex-util: ^28.0.2 + jest-util: ^28.1.3 + jest-worker: ^28.1.3 + micromatch: ^4.0.4 + walker: ^1.0.8 + dependenciesMeta: + fsevents: + optional: true + checksum: d05fdc108645fc2b39fcd4001952cc7a8cb550e93494e98c1e9ab1fc542686f6ac67177c132e564cf94fe8f81503f3f8db8b825b9b713dc8c5748aec63ba4688 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-leak-detector@npm:28.1.3" + dependencies: + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: 2e976a4880cf9af11f53a19f6a3820e0f90b635a900737a5427fc42e337d5628ba446dcd7c020ecea3806cf92bc0bbf6982ed62a9cd84e5a13d8751aa30fbbb7 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-matcher-utils@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + jest-diff: ^28.1.3 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: 6b34f0cf66f6781e92e3bec97bf27796bd2ba31121e5c5997218d9adba6deea38a30df5203937d6785b68023ed95cbad73663cc9aad6fb0cb59aeb5813a58daf + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-matcher-utils@npm:29.4.3" + dependencies: + chalk: ^4.0.0 + jest-diff: ^29.4.3 + jest-get-type: ^29.4.3 + pretty-format: ^29.4.3 + checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d + languageName: node + linkType: hard + +"jest-message-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-message-util@npm:28.1.3" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^28.1.3 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^28.1.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 + languageName: node + linkType: hard + +"jest-message-util@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-message-util@npm:29.4.3" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^29.4.3 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^29.4.3 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced + languageName: node + linkType: hard + +"jest-message-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-message-util@npm:29.6.1" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^29.6.1 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^29.6.1 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 3e7cb2ff087fe72255292e151d24e4fbb4cd6134885c0a67a4b302f233fe4110bf7580b176f427f05ad7550eb878ed94237209785d09d659a7d171ffa59c068f + languageName: node + linkType: hard + +"jest-mock@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-mock@npm:28.1.3" + dependencies: + "@jest/types": ^28.1.3 + "@types/node": "*" + checksum: a573bf8e5f12f4c29c661266c31b5c6b69a28d3195b83049983bce025b2b1a0152351567e89e63b102ef817034c2a3aa97eda4e776f3bae2aee54c5765573aa7 + languageName: node + linkType: hard + +"jest-mock@npm:^29.3.1, jest-mock@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-mock@npm:29.6.1" + dependencies: + "@jest/types": ^29.6.1 + "@types/node": "*" + jest-util: ^29.6.1 + checksum: 5e902f1a7eba1eb1a64eb6c19947fe1316834359d9869d0e2644d8979b9cad0465885dc4c9909c471888cddeea835c938cec6263d386d3d1aad720fc74e52ea1 languageName: node linkType: hard -"is-set@npm:^2.0.1, is-set@npm:^2.0.2": - version: 2.0.2 - resolution: "is-set@npm:2.0.2" - checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.3 + resolution: "jest-pnp-resolver@npm:1.2.3" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2 languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a +"jest-regex-util@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-regex-util@npm:28.0.2" + checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add languageName: node linkType: hard -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 +"jest-resolve-dependencies@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-resolve-dependencies@npm:28.1.3" + dependencies: + jest-regex-util: ^28.0.2 + jest-snapshot: ^28.1.3 + checksum: 4eea9ec33aefc1c71dc5956391efbcc7be76bda986b366ab3931d99c5f7ed01c9ebd7520e405ea2c76e1bb2c7ce504be6eca2b9831df16564d1e625500f3bfe7 languageName: node linkType: hard -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 +"jest-resolve@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-resolve@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-pnp-resolver: ^1.2.2 + jest-util: ^28.1.3 + jest-validate: ^28.1.3 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 + slash: ^3.0.0 + checksum: df61a490c93f4f4cf52135e43d6a4fcacb07b0b7d4acc6319e9289529c1d14f2d8e1638e095dbf96f156834802755e38db68caca69dba21a3261ee711d4426b6 languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"jest-runner@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-runner@npm:28.1.3" dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + "@jest/console": ^28.1.3 + "@jest/environment": ^28.1.3 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.10.2 + graceful-fs: ^4.2.9 + jest-docblock: ^28.1.1 + jest-environment-node: ^28.1.3 + jest-haste-map: ^28.1.3 + jest-leak-detector: ^28.1.3 + jest-message-util: ^28.1.3 + jest-resolve: ^28.1.3 + jest-runtime: ^28.1.3 + jest-util: ^28.1.3 + jest-watcher: ^28.1.3 + jest-worker: ^28.1.3 + p-limit: ^3.1.0 + source-map-support: 0.5.13 + checksum: 32405cd970fa6b11e039192dae699fd1bcc6f61f67d50605af81d193f24dd4373b25f5fcc1c571a028ec1b02174e8a4b6d0d608772063fb06f08a5105693533b + languageName: node + linkType: hard + +"jest-runtime@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-runtime@npm:28.1.3" + dependencies: + "@jest/environment": ^28.1.3 + "@jest/fake-timers": ^28.1.3 + "@jest/globals": ^28.1.3 + "@jest/source-map": ^28.1.2 + "@jest/test-result": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + chalk: ^4.0.0 + cjs-module-lexer: ^1.0.0 + collect-v8-coverage: ^1.0.0 + execa: ^5.0.0 + glob: ^7.1.3 + graceful-fs: ^4.2.9 + jest-haste-map: ^28.1.3 + jest-message-util: ^28.1.3 + jest-mock: ^28.1.3 + jest-regex-util: ^28.0.2 + jest-resolve: ^28.1.3 + jest-snapshot: ^28.1.3 + jest-util: ^28.1.3 + slash: ^3.0.0 + strip-bom: ^4.0.0 + checksum: b17c40af858e74dafa4f515ef3711c1e9ef3d4ad7d74534ee0745422534bc04fd166d4eceb62a3aa7dc951505d6f6d2a81d16e90bebb032be409ec0500974a36 + languageName: node + linkType: hard + +"jest-snapshot@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-snapshot@npm:28.1.3" + dependencies: + "@babel/core": ^7.11.6 + "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 + "@babel/types": ^7.3.3 + "@jest/expect-utils": ^28.1.3 + "@jest/transform": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/babel__traverse": ^7.0.6 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 + chalk: ^4.0.0 + expect: ^28.1.3 + graceful-fs: ^4.2.9 + jest-diff: ^28.1.3 + jest-get-type: ^28.0.2 + jest-haste-map: ^28.1.3 + jest-matcher-utils: ^28.1.3 + jest-message-util: ^28.1.3 + jest-util: ^28.1.3 + natural-compare: ^1.4.0 + pretty-format: ^28.1.3 + semver: ^7.3.5 + checksum: 2a46a5493f1fb50b0a236a21f25045e7f46a244f9f3ae37ef4fbcd40249d0d68bb20c950ce77439e4e2cac985b05c3061c90b34739bf6069913a1199c8c716e1 languageName: node linkType: hard -"is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"jest-util@npm:^28.0.0, jest-util@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-util@npm:28.1.3" dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + "@jest/types": ^28.1.3 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 languageName: node linkType: hard -"is-typed-array@npm:^1.1.10": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" +"jest-util@npm:^29.3.1, jest-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-util@npm:29.6.1" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + "@jest/types": ^29.6.1 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: fc553556c1350c443449cadaba5fb9d604628e8b5ceb6ceaf4e7e08975b24277d0a14bf2e0f956024e03c23e556fcb074659423422a06fbedf2ab52978697ac7 languageName: node linkType: hard -"is-weakmap@npm:^2.0.1": - version: 2.0.1 - resolution: "is-weakmap@npm:2.0.1" - checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 +"jest-util@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-util@npm:29.4.3" + dependencies: + "@jest/types": ^29.4.3 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: 606b3e6077895baf8fb4ad4d08c134f37a6b81d5ba77ae654c942b1ae4b7294ab3b5a0eb93db34f129407b367970cf3b76bf5c80897b30f215f2bc8bf20a5f3f languageName: node linkType: hard -"is-weakset@npm:^2.0.1": - version: 2.0.2 - resolution: "is-weakset@npm:2.0.2" +"jest-validate@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-validate@npm:28.1.3" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + "@jest/types": ^28.1.3 + camelcase: ^6.2.0 + chalk: ^4.0.0 + jest-get-type: ^28.0.2 + leven: ^3.1.0 + pretty-format: ^28.1.3 + checksum: 95e0513b3803c3372a145cda86edbdb33d9dfeaa18818176f2d581e821548ceac9a179f065b6d4671a941de211354efd67f1fff8789a4fb89962565c85f646db languageName: node linkType: hard -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a +"jest-watcher@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-watcher@npm:28.1.3" + dependencies: + "@jest/test-result": ^28.1.3 + "@jest/types": ^28.1.3 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.10.2 + jest-util: ^28.1.3 + string-length: ^4.0.1 + checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 languageName: node linkType: hard -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 +"jest-worker@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-worker@npm:28.1.3" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca languageName: node linkType: hard -"jake@npm:^10.8.5": - version: 10.8.5 - resolution: "jake@npm:10.8.5" +"jest@npm:^28.1.3": + version: 28.1.3 + resolution: "jest@npm:28.1.3" dependencies: - async: ^3.2.3 - chalk: ^4.0.2 - filelist: ^1.0.1 - minimatch: ^3.0.4 + "@jest/core": ^28.1.3 + "@jest/types": ^28.1.3 + import-local: ^3.0.2 + jest-cli: ^28.1.3 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: - jake: ./bin/cli.js - checksum: 56c913ecf5a8d74325d0af9bc17a233bad50977438d44864d925bb6c45c946e0fee8c4c1f5fe2225471ef40df5222e943047982717ebff0d624770564d3c46ba + jest: bin/jest.js + checksum: b9dcb542eb7c16261c281cdc2bf37155dbb3f1205bae0b567f05051db362c85ddd4b765f126591efb88f6d298eb10336d0aa6c7d5373b4d53f918137a9a70182 languageName: node linkType: hard @@ -3591,44 +6847,54 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^9.0.0": - version: 9.0.0 - resolution: "js-tokens@npm:9.0.0" - checksum: 427d0db681caab0c906cfc78a0235bbe7b41712cee83f3f14785c1de079a1b1a85693cc8f99a3f71685d0d76acaa5b9c8920850b67f93d3eeb7ef186987d186c +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c languageName: node linkType: hard -"jsdom@npm:^24.1.0": - version: 24.1.0 - resolution: "jsdom@npm:24.1.0" +"jsdom@npm:^21.1.2": + version: 21.1.2 + resolution: "jsdom@npm:21.1.2" dependencies: - cssstyle: ^4.0.1 - data-urls: ^5.0.0 + abab: ^2.0.6 + acorn: ^8.8.2 + acorn-globals: ^7.0.0 + cssstyle: ^3.0.0 + data-urls: ^4.0.0 decimal.js: ^10.4.3 + domexception: ^4.0.0 + escodegen: ^2.0.0 form-data: ^4.0.0 - html-encoding-sniffer: ^4.0.0 - http-proxy-agent: ^7.0.2 - https-proxy-agent: ^7.0.4 + html-encoding-sniffer: ^3.0.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.1 is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.10 + nwsapi: ^2.2.4 parse5: ^7.1.2 - rrweb-cssom: ^0.7.0 + rrweb-cssom: ^0.6.0 saxes: ^6.0.0 symbol-tree: ^3.2.4 - tough-cookie: ^4.1.4 - w3c-xmlserializer: ^5.0.0 + tough-cookie: ^4.1.2 + w3c-xmlserializer: ^4.0.0 webidl-conversions: ^7.0.0 - whatwg-encoding: ^3.1.1 - whatwg-mimetype: ^4.0.0 - whatwg-url: ^14.0.0 - ws: ^8.17.0 - xml-name-validator: ^5.0.0 + whatwg-encoding: ^2.0.0 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^12.0.1 + ws: ^8.13.0 + xml-name-validator: ^4.0.0 peerDependencies: - canvas: ^2.11.2 + canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: c24b244308cabb2aabee2bdcc5041c810bc45320d0e8721c3eaaf5700d5f8498730809b10da4a97065abfccd937132700d64ae275491424c6b1b20a21d58d2e2 + checksum: 6b3cf2d15e5a5712b3db5ff56eba82b97c9a879b52e95063cc8323bdf8837b6ca15cfec85b57ab71c95c6b4a4098bf67f274c6ff4e9ff519aa4811a04f290610 languageName: node linkType: hard @@ -3641,12 +6907,10 @@ __metadata: languageName: node linkType: hard -"json-schema-ref-resolver@npm:^1.0.1": - version: 1.0.1 - resolution: "json-schema-ref-resolver@npm:1.0.1" - dependencies: - fast-deep-equal: ^3.1.3 - checksum: b4215cd58b2f5233d433c9f110e91b29d41c1efcb24534a0493be3cdded35acbba7f0b04e53848e6d5c748981dcddb3d09b1cdc3ec8806fce861694a2a94bec3 +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f languageName: node linkType: hard @@ -3657,7 +6921,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.3": +"json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -3686,6 +6950,13 @@ __metadata: languageName: node linkType: hard +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 + languageName: node + linkType: hard + "kuler@npm:^2.0.0": version: 2.0.0 resolution: "kuler@npm:2.0.0" @@ -3693,28 +6964,65 @@ __metadata: languageName: node linkType: hard -"light-my-request@npm:^5.11.0": - version: 5.13.0 - resolution: "light-my-request@npm:5.13.0" +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + +"light-my-request@npm:^5.9.1": + version: 5.11.0 + resolution: "light-my-request@npm:5.11.0" dependencies: - cookie: ^0.6.0 - process-warning: ^3.0.0 + cookie: ^0.5.0 + process-warning: ^2.0.0 set-cookie-parser: ^2.4.1 - checksum: d0264c43813d4c9e3802d8292821ccee214ec793ce8b9b8f7433d005de1a220483782c64eb83494c2307e2b4e3eb3ca506f6eebd087ec022b43f770e1826f2d8 + checksum: f639edb4664534bfcc87aff3fc36e7199ef5b04c399ce51a87481786d23ad1d439a71a5beeada5d0fe607c9d6efccbcd1bef265f31397e130f4077d43cc6d45f languageName: node linkType: hard -"local-pkg@npm:^0.5.0": - version: 0.5.0 - resolution: "local-pkg@npm:0.5.0" +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 + languageName: node + linkType: hard + +"local-pkg@npm:^0.4.3": + version: 0.4.3 + resolution: "local-pkg@npm:0.4.3" + checksum: 7825aca531dd6afa3a3712a0208697aa4a5cd009065f32e3fb732aafcc42ed11f277b5ac67229222e96f4def55197171cdf3d5522d0381b489d2e5547b407d55 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" dependencies: - mlly: ^1.4.2 - pkg-types: ^1.0.3 - checksum: b0a6931e588ad4f7bf4ab49faacf49e07fc4d05030f895aa055d46727a15b99300d39491cf2c3e3f05284aec65565fb760debb74c32e64109f4a101f9300d81a + p-locate: ^4.1.0 + checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 languageName: node linkType: hard -"lodash@npm:^4.17.21": +"lodash@npm:^4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -3755,15 +7063,6 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: ^2.0.1 - checksum: 96c058ec7167598e238bb7fb9def2f9339215e97d6685d9c1e3e4bdb33d14600e11fe7a812cf0c003dfb73ca2df374f146280b2287cae9e8d989e9d7a69a203b - languageName: node - linkType: hard - "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -3798,6 +7097,15 @@ __metadata: languageName: node linkType: hard +"lz-string@npm:^1.4.4": + version: 1.4.4 + resolution: "lz-string@npm:1.4.4" + bin: + lz-string: bin/bin.js + checksum: 54e31238a61a84d8f664d9860a9fba7310c5b97a52c444f80543069bc084815eff40b8d4474ae1d93992fdf6c252dca37cf27f6adbeb4dbc3df2f3ac773d0e61 + languageName: node + linkType: hard + "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -3807,16 +7115,25 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.5": - version: 0.30.10 - resolution: "magic-string@npm:0.30.10" +"magic-string@npm:^0.30.1": + version: 0.30.1 + resolution: "magic-string@npm:0.30.1" dependencies: "@jridgewell/sourcemap-codec": ^1.4.15 - checksum: 456fd47c39b296c47dff967e1965121ace35417eab7f45a99e681e725b8661b48e1573c366ee67a27715025b3740773c46b088f115421c7365ea4ea6fa10d399 + checksum: 7bc7e4493e32a77068f3753bf8652d4ab44142122eb7fb9fa871af83bef2cd2c57518a6769701cd5d0379bd624a13bc8c72ca25ac5655b27e5a61adf1fd38db2 + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 languageName: node linkType: hard -"make-error@npm:^1.1.1": +"make-error@npm:1.x, make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -3847,6 +7164,15 @@ __metadata: languageName: node linkType: hard +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: 1.0.5 + checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 + languageName: node + linkType: hard + "match-sorter@npm:^6.0.2": version: 6.3.1 resolution: "match-sorter@npm:6.3.1" @@ -3857,6 +7183,13 @@ __metadata: languageName: node linkType: hard +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + "memory-pager@npm:^1.0.2": version: 1.5.0 resolution: "memory-pager@npm:1.5.0" @@ -3864,6 +7197,13 @@ __metadata: languageName: node linkType: hard +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -3878,6 +7218,13 @@ __metadata: languageName: node linkType: hard +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + "micromatch@npm:^4.0.4": version: 4.0.5 resolution: "micromatch@npm:4.0.5" @@ -3902,7 +7249,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12": +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -3911,10 +7258,19 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a languageName: node linkType: hard @@ -3943,6 +7299,13 @@ __metadata: languageName: node linkType: hard +"minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 + languageName: node + linkType: hard + "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -4020,6 +7383,17 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^0.5.4": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: ^1.2.6 + bin: + mkdirp: bin/cmd.js + checksum: 0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -4029,7 +7403,7 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.2.0": +"mlly@npm:^1.2.0, mlly@npm:^1.4.0": version: 1.4.0 resolution: "mlly@npm:1.4.0" dependencies: @@ -4041,68 +7415,47 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.4.2, mlly@npm:^1.7.0": - version: 1.7.0 - resolution: "mlly@npm:1.7.0" - dependencies: - acorn: ^8.11.3 - pathe: ^1.1.2 - pkg-types: ^1.1.0 - ufo: ^1.5.3 - checksum: c1548f4dd0e31ce15d293ebb7c61778bd28c405573dc43dcf799eaeb8f6b776d7dadd95e957d6631b9cc4bb963cd01079d58b7e2290ed540aa460e061bdbd1fa - languageName: node - linkType: hard - -"mnemonist@npm:0.39.6": - version: 0.39.6 - resolution: "mnemonist@npm:0.39.6" +"mnemonist@npm:0.39.5": + version: 0.39.5 + resolution: "mnemonist@npm:0.39.5" dependencies: obliterator: ^2.0.1 - checksum: 10cb09aa33de92625d5004f541e6aaaab8ae4bb26c6917e8505189f2fc20b122c773a4c11639bb6b5bfdc6000645c2d210ecd47fb203176fe28c338443c466eb + checksum: 6669d687a434226924b2c84ee6eb7ce7d0f83dfc5caad8bcc164c73c0c11fb6d43cbe32636e710f068046f4b40a56c3032532554e93e02640aafc6ca3dd222e6 languageName: node linkType: hard -"mongodb-connection-string-url@npm:^3.0.0": - version: 3.0.1 - resolution: "mongodb-connection-string-url@npm:3.0.1" +"mongodb-connection-string-url@npm:^2.6.0": + version: 2.6.0 + resolution: "mongodb-connection-string-url@npm:2.6.0" dependencies: - "@types/whatwg-url": ^11.0.2 - whatwg-url: ^13.0.0 - checksum: b0a3b9e619c53ce8c10452c6475dc1eeba4761ae1b293b1b37014acf609f44ab7057f084de8fceead9934dba2aad0a59315eab9371c1287dbaaf5aae48c6d371 + "@types/whatwg-url": ^8.2.1 + whatwg-url: ^11.0.0 + checksum: 1d662f0ecfe96f7a400f625c244b2e52914c98f3562ee7d19941127578b5f8237624433bdcea285a654041b945b518803512989690c74548aec5860c5541c605 languageName: node linkType: hard -"mongodb@npm:^6.6.2": - version: 6.6.2 - resolution: "mongodb@npm:6.6.2" +"mongodb@npm:^4.17.1": + version: 4.17.1 + resolution: "mongodb@npm:4.17.1" dependencies: - "@mongodb-js/saslprep": ^1.1.5 - bson: ^6.7.0 - mongodb-connection-string-url: ^3.0.0 - peerDependencies: - "@aws-sdk/credential-providers": ^3.188.0 - "@mongodb-js/zstd": ^1.1.0 - gcp-metadata: ^5.2.0 - kerberos: ^2.0.1 - mongodb-client-encryption: ">=6.0.0 <7" - snappy: ^7.2.2 + "@aws-sdk/credential-providers": ^3.186.0 + "@mongodb-js/saslprep": ^1.1.0 + bson: ^4.7.2 + mongodb-connection-string-url: ^2.6.0 socks: ^2.7.1 - peerDependenciesMeta: + dependenciesMeta: "@aws-sdk/credential-providers": optional: true - "@mongodb-js/zstd": + "@mongodb-js/saslprep": optional: true - gcp-metadata: - optional: true - kerberos: - optional: true - mongodb-client-encryption: - optional: true - snappy: - optional: true - socks: - optional: true - checksum: 865cad2ef2e8300d84bae3022c3440e2085fd09b5dad11efb27e1955b63a747772ae78cfcde7c314717fdc92704c99b8507bb204dbe8bf4406bb46bc7df9b4dd + checksum: e7f280570d0f23d60c308b2a484ed55762ec8e523946c0de1a0b3b398f24efcf1916a745e5407f32cd1c105b2f19d8ac75474c92f73cdf651affe3430a963f54 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 languageName: node linkType: hard @@ -4113,13 +7466,28 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d languageName: node linkType: hard +"multer@npm:1.4.4-lts.1": + version: 1.4.4-lts.1 + resolution: "multer@npm:1.4.4-lts.1" + dependencies: + append-field: ^1.0.0 + busboy: ^1.0.0 + concat-stream: ^1.5.2 + mkdirp: ^0.5.4 + object-assign: ^4.1.1 + type-is: ^1.6.4 + xtend: ^4.0.0 + checksum: da04b06efdbff9bd42d9f71297eeb2c0566231a4b9c895f49479c09b163c5e404aa6e58bd1c19f006f82e2114362545e39cbf7e0163ffd8d73d0f88adf4489e2 + languageName: node + linkType: hard + "nano-time@npm:1.0.0": version: 1.0.0 resolution: "nano-time@npm:1.0.0" @@ -4129,25 +7497,32 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" +"nanoid@npm:^3.3.6": + version: 3.3.6 + resolution: "nanoid@npm:3.3.6" bin: nanoid: bin/nanoid.cjs - checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 + checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 languageName: node linkType: hard -"nanoid@npm:^5.0.7": - version: 5.0.7 - resolution: "nanoid@npm:5.0.7" +"nanoid@npm:^4.0.2": + version: 4.0.2 + resolution: "nanoid@npm:4.0.2" bin: nanoid: bin/nanoid.js - checksum: 25ab0b0cf9082ae6747f0f55cec930e6c1cc5975103aa3a5fda44be5720eff57d9b25a8a9850274bfdde8def964b49bf03def71c6aa7ad1cba32787819b79f60 + checksum: 747c399cea4664dd0be1d0ec498ffd1ef8f1f5221676fc8b577e3f46f66d9afcddb9595d63d19a2e78d0bc6cc33984f65e66bf1682c850b9e26288883d96b53f + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d languageName: node linkType: hard -"negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 @@ -4164,6 +7539,20 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.6.1": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: d76d2f5edb451a3f05b15115ec89fc6be39de37c6089f1b6368df03b91e1633fd379a7e01b7ab05089a25034b2023d959b47e59759cb38d88341b2459e89d6e5 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 9.3.1 resolution: "node-gyp@npm:9.3.1" @@ -4194,30 +7583,44 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e languageName: node linkType: hard -"nodemon@npm:^3.1.1": - version: 3.1.1 - resolution: "nodemon@npm:3.1.1" +"node-releases@npm:^2.0.13": + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.8": + version: 2.0.10 + resolution: "node-releases@npm:2.0.10" + checksum: d784ecde25696a15d449c4433077f5cce620ed30a1656c4abf31282bfc691a70d9618bae6868d247a67914d1be5cc4fde22f65a05f4398cdfb92e0fc83cadfbc + languageName: node + linkType: hard + +"nodemon@npm:^2.0.22": + version: 2.0.22 + resolution: "nodemon@npm:2.0.22" dependencies: chokidar: ^3.5.2 - debug: ^4 + debug: ^3.2.7 ignore-by-default: ^1.0.1 minimatch: ^3.1.2 pstree.remy: ^1.1.8 - semver: ^7.5.3 - simple-update-notifier: ^2.0.0 + semver: ^5.7.1 + simple-update-notifier: ^1.0.7 supports-color: ^5.5.0 touch: ^3.1.0 undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 43ed211d3a1eb267444265454c0dd306177fcef119c8c095b737d843648e7b51f10c033c262ec10a09df60aa2f237904fa659a96d0562541c55b87c3f5ba77ff + checksum: 9c987e139748f5b5c480c6c9080bdc97304ee7d29172b7b3da1a7db590b1323ad57b96346304e9b522b0e445c336dc393ccd3f9f45c73b20d476d2347890dcd0 languageName: node linkType: hard @@ -4250,12 +7653,12 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.3.0 - resolution: "npm-run-path@npm:5.3.0" +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" dependencies: - path-key: ^4.0.0 - checksum: ae8e7a89da9594fb9c308f6555c73f618152340dcaae423e5fb3620026fefbec463618a8b761920382d666fa7a2d8d240b6fe320e8a6cdd54dc3687e2b659d25 + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 languageName: node linkType: hard @@ -4280,10 +7683,17 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.10": - version: 2.2.10 - resolution: "nwsapi@npm:2.2.10" - checksum: 5f1d361b38c47ab49727d5ea8bbfeb5867ae6de0e538eec9a8b77c88005ddde36d8b930e0730b50ee5e5dda949112c0f9ffed1bf15e7e1b3cd9cfa319f5a9b6f +"nwsapi@npm:2.2.5, nwsapi@npm:^2.2.4": + version: 2.2.5 + resolution: "nwsapi@npm:2.2.5" + checksum: 3acfe387214e2a9a03960662ad600ecb41fc24385c9de91262a881608407f02d14686e5df3e6e87af0cf7b173ed2a6a202a569ab7bef376ec1841cd9b6cbf0a6 + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f languageName: node linkType: hard @@ -4344,6 +7754,15 @@ __metadata: languageName: node linkType: hard +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: 1.1.1 + checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 + languageName: node + linkType: hard + "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -4362,21 +7781,62 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" dependencies: - mimic-fn: ^4.0.0 - checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + mimic-fn: ^2.1.0 + checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 languageName: node linkType: hard -"p-limit@npm:^5.0.0": - version: 5.0.0 - resolution: "p-limit@npm:5.0.0" +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: ^2.0.0 + checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + languageName: node + linkType: hard + +"p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: ^0.1.0 + checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" dependencies: yocto-queue: ^1.0.0 - checksum: 87bf5837dee6942f0dbeff318436179931d9a97848d1b07dbd86140a477a5d2e6b90d9701b210b4e21fe7beaea2979dfde366e4f576fa644a59bd4d6a6371da7 + checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: ^2.2.0 + checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 languageName: node linkType: hard @@ -4389,6 +7849,13 @@ __metadata: languageName: node linkType: hard +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + "param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" @@ -4399,7 +7866,19 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.1.2": +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": ^7.0.0 + error-ex: ^1.3.1 + json-parse-even-better-errors: ^2.3.0 + lines-and-columns: ^1.1.6 + checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.1, parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -4408,6 +7887,13 @@ __metadata: languageName: node linkType: hard +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + "pascal-case@npm:^3.1.2": version: 3.1.2 resolution: "pascal-case@npm:3.1.2" @@ -4418,6 +7904,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -4425,17 +7918,31 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.1.0": +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"path-to-regexp@npm:3.2.0": + version: 3.2.0 + resolution: "path-to-regexp@npm:3.2.0" + checksum: c3d35cda3b26d9e604d789b9a1764bb9845f53ca8009d5809356b4677a3c064b0f01117a05a5b4b77bafd5ae002a82592e3f3495e885c22961f8b1dab8bd6ae7 languageName: node linkType: hard @@ -4460,13 +7967,6 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134 - languageName: node - linkType: hard - "pathval@npm:^1.1.1": version: 1.1.1 resolution: "pathval@npm:1.1.1" @@ -4481,55 +7981,64 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf languageName: node linkType: hard -"pino-abstract-transport@npm:^1.2.0": - version: 1.2.0 - resolution: "pino-abstract-transport@npm:1.2.0" +"pino-abstract-transport@npm:v1.1.0": + version: 1.1.0 + resolution: "pino-abstract-transport@npm:1.1.0" dependencies: readable-stream: ^4.0.0 split2: ^4.0.0 - checksum: 3336c51fb91ced5ef8a4bfd70a96e41eb6deb905698e83350dc71eedffb34795db1286d2d992ce1da2f6cd330a68be3f7e2748775a6b8a2ee3416796070238d6 + checksum: cc84caabee5647b5753ae484d5f63a1bca0f6e1791845e2db2b6d830a561c2b5dd1177720f68d78994c8a93aecc69f2729e6ac2bc871a1bf5bb4b0ec17210668 languageName: node linkType: hard -"pino-std-serializers@npm:^7.0.0": - version: 7.0.0 - resolution: "pino-std-serializers@npm:7.0.0" - checksum: 08cd1d7b7adc4cfca39e42c2d5fd21bcf4513153734e7b8fa278b0e9e9f62df78c4c202886343fe882a462539c931cb8110b661775ad7f7217c96856795b5a86 +"pino-std-serializers@npm:^6.0.0": + version: 6.2.2 + resolution: "pino-std-serializers@npm:6.2.2" + checksum: aeb0662edc46ec926de9961ed4780a4f0586bb7c37d212cd469c069639e7816887a62c5093bc93f260a4e0900322f44fc8ab1343b5a9fa2864a888acccdb22a4 languageName: node linkType: hard -"pino@npm:^9.0.0": - version: 9.1.0 - resolution: "pino@npm:9.1.0" +"pino@npm:^8.12.0": + version: 8.15.1 + resolution: "pino@npm:8.15.1" dependencies: atomic-sleep: ^1.0.0 fast-redact: ^3.1.1 on-exit-leak-free: ^2.1.0 - pino-abstract-transport: ^1.2.0 - pino-std-serializers: ^7.0.0 - process-warning: ^3.0.0 + pino-abstract-transport: v1.1.0 + pino-std-serializers: ^6.0.0 + process-warning: ^2.0.0 quick-format-unescaped: ^4.0.3 real-require: ^0.2.0 safe-stable-stringify: ^2.3.1 - sonic-boom: ^4.0.1 - thread-stream: ^3.0.0 + sonic-boom: ^3.1.0 + thread-stream: ^2.0.0 bin: pino: bin.js - checksum: 6bece8583b22709dd5e35cd9ec9e885d0cfdb1fafa77f29440671f00725359d8f9ed3aea5ff1ff8cee985a828e6b71655eb6dfb8548f48f6a76f207b3eff1f35 + checksum: cbc6aa4e7fcf28dac326292f6c9276bb6abd1c480e49a830601071c99fc74c09eb56c7049034ea011ccf7a224243af3452f59b73f07f4a22929b8f886130d5a2 + languageName: node + linkType: hard + +"pirates@npm:^4.0.4": + version: 4.0.5 + resolution: "pirates@npm:4.0.5" + checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 languageName: node linkType: hard @@ -4544,49 +8053,41 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^1.1.0": - version: 1.1.1 - resolution: "pkg-types@npm:1.1.1" - dependencies: - confbox: ^0.1.7 - mlly: ^1.7.0 - pathe: ^1.1.2 - checksum: 78ee49eea8c03802ffbdc79dfb6a741f905a4053453280cd2f1149850523fdaf46d39ecb88c2c2f757cceb9883f234bb0e56371084b5895632bdb00ef0f7298f - languageName: node - linkType: hard - -"playwright-core@npm:1.44.1": - version: 1.44.1 - resolution: "playwright-core@npm:1.44.1" +"playwright-core@npm:1.37.1": + version: 1.37.1 + resolution: "playwright-core@npm:1.37.1" bin: playwright-core: cli.js - checksum: ebc6fa0ff77792fe52648fda06cc4474d4e9746db6dc5750d262b7fe2caf9f9e2327a71f1fb365e862213403a9daf95361c5040a9b0fd462928d7eb4fdc760e1 + checksum: 69f818da2230057584140d5b3af7778a4f4a822b5b18d133abfc5d259128becb943c343a2ddf6b0635277a69f28983e83e2bc3fce23595ececb1e410475b6368 languageName: node linkType: hard -"playwright@npm:1.44.1": - version: 1.44.1 - resolution: "playwright@npm:1.44.1" +"postcss@npm:^8.4.27": + version: 8.4.28 + resolution: "postcss@npm:8.4.28" dependencies: - fsevents: 2.3.2 - playwright-core: 1.44.1 - dependenciesMeta: - fsevents: - optional: true - bin: - playwright: cli.js - checksum: c2e8ff0a855e4a9e665ae5ffa0ff90423289546157be55e83f78916d17075c5910a7244773739c2a973da884a4ff0b3cf9b6e6b543de112e43b12169a9208e86 + nanoid: ^3.3.6 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: f605c24a36f7e400bad379735fbfc893ccb8d293ad6d419bb824db77cdcb69f43d614ef35f9f7091f32ca588d130ec60dbcf53b366e6bf88a8a64bbeb3c05f6d languageName: node linkType: hard -"postcss@npm:^8.4.38": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" +"postcss@npm:^8.4.30": + version: 8.4.31 + resolution: "postcss@npm:8.4.31" dependencies: - nanoid: ^3.3.7 + nanoid: ^3.3.6 picocolors: ^1.0.0 - source-map-js: ^1.2.0 - checksum: 649f9e60a763ca4b5a7bbec446a069edf07f057f6d780a5a0070576b841538d1ecf7dd888f2fbfd1f76200e26c969e405aeeae66332e6927dbdc8bdcb90b9451 + source-map-js: ^1.0.2 + checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 languageName: node linkType: hard @@ -4601,21 +8102,51 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" +"pretty-format@npm:^28.0.0, pretty-format@npm:^28.1.3": + version: 28.1.3 + resolution: "pretty-format@npm:28.1.3" dependencies: - "@jest/schemas": ^29.6.3 + "@jest/schemas": ^28.1.3 + ansi-regex: ^5.0.1 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 032c1602383e71e9c0c02a01bbd25d6759d60e9c7cf21937dde8357aa753da348fcec5def5d1002c9678a8524d5fe099ad98861286550ef44de8808cc61e43b6 + checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f languageName: node linkType: hard -"process-warning@npm:^3.0.0": - version: 3.0.0 - resolution: "process-warning@npm:3.0.0" - checksum: 1fc2eb4524041de3c18423334cc8b4e36bec5ad5472640ca1a936122c6e01da0864c1a4025858ef89aea93eabe7e77db93ccea225b10858617821cb6a8719efe +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": + version: 29.4.3 + resolution: "pretty-format@npm:29.4.3" + dependencies: + "@jest/schemas": ^29.4.3 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 + languageName: node + linkType: hard + +"pretty-format@npm:^29.5.0, pretty-format@npm:^29.6.1": + version: 29.6.1 + resolution: "pretty-format@npm:29.6.1" + dependencies: + "@jest/schemas": ^29.6.0 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: 6f923a2379a37a425241dc223d76f671c73c4f37dba158050575a54095867d565c068b441843afdf3d7c37bed9df4bbadf46297976e60d4149972b779474203a + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"process-warning@npm:^2.0.0, process-warning@npm:^2.2.0": + version: 2.2.0 + resolution: "process-warning@npm:2.2.0" + checksum: 394ae451c2622ee7d014a7196d36658fc1a5d5cc9f3bfeb54aadd5b77fcfecc89a30a25db259ae76ff49fde3f3f3dd7031dcdfb4da2e5445dac795549352e5d0 languageName: node linkType: hard @@ -4643,7 +8174,17 @@ __metadata: languageName: node linkType: hard -"proxy-addr@npm:^2.0.7": +"prompts@npm:^2.0.1": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.5 + checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d + languageName: node + linkType: hard + +"proxy-addr@npm:^2.0.7, proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" dependencies: @@ -4681,10 +8222,12 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.3.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 +"qs@npm:6.11.0": + version: 6.11.0 + resolution: "qs@npm:6.11.0" + dependencies: + side-channel: ^1.0.4 + checksum: 6e1f29dd5385f7488ec74ac7b6c92f4d09a90408882d0c208414a34dd33badc1a621019d4c799a3df15ab9b1d0292f97c1dd71dc7c045e69f81a8064e5af7297 languageName: node linkType: hard @@ -4709,15 +8252,34 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.3.1": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: ba1583c8d8a48e8fbb7a873fdbb2df66ea4ff83775421bfe21ee120140949ab048200668c47d9ae3880012f6e217052690628cf679ddfbd82c9fc9358d574676 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" dependencies: loose-envify: ^1.1.0 - scheduler: ^0.23.2 + scheduler: ^0.23.0 peerDependencies: - react: ^18.3.1 - checksum: 298954ecd8f78288dcaece05e88b570014d8f6dce5db6f66e6ee91448debeb59dcd31561dddb354eee47e6c1bb234669459060deb238ed0213497146e555a0b9 + react: ^18.2.0 + checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc languageName: node linkType: hard @@ -4753,43 +8315,58 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.14.2": - version: 0.14.2 - resolution: "react-refresh@npm:0.14.2" - checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382 +"react-refresh@npm:^0.14.0": + version: 0.14.0 + resolution: "react-refresh@npm:0.14.0" + checksum: dc69fa8c993df512f42dd0f1b604978ae89bd747c0ed5ec595c0cc50d535fb2696619ccd98ae28775cc01d0a7c146a532f0f7fb81dc22e1977c242a4912312f4 languageName: node linkType: hard -"react-router-dom@npm:^6.23.1": - version: 6.23.1 - resolution: "react-router-dom@npm:6.23.1" +"react-router-dom@npm:^6.15.0": + version: 6.15.0 + resolution: "react-router-dom@npm:6.15.0" dependencies: - "@remix-run/router": 1.16.1 - react-router: 6.23.1 + "@remix-run/router": 1.8.0 + react-router: 6.15.0 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: e87b5cf85019496f499286d466a4ad9cf5efe729f1420502fc5d16093d525462803253538418ea5b0da7ab5671a16caefee67848b373008e567629c2d667dc44 + checksum: 95301837e293654f00934de6a4bdb27bfb06f613503e4cce7a93f19384793729832e7479d50faf3b9457d149014d4df40a3ee3a5193d7e3a3caadb7aaa6ec0f9 languageName: node linkType: hard -"react-router@npm:6.23.1": - version: 6.23.1 - resolution: "react-router@npm:6.23.1" +"react-router@npm:6.15.0": + version: 6.15.0 + resolution: "react-router@npm:6.15.0" dependencies: - "@remix-run/router": 1.16.1 + "@remix-run/router": 1.8.0 peerDependencies: react: ">=16.8" - checksum: d5d43ccb908a95d2b7345f2a13315c38bf094e25bcf97d5a6c3f353b1ea88602de15726c3570cd7f07c53b19a3519af2b6739bf6929ec355012795611d739cff + checksum: 345b29277e13997f2625f0037f537eaf1955bb9f44ebfea80dd3ff83fc06273f7b64e1be944bfc75945fd2af5af917874133a8a93ed5ecaca523be8f045ae166 languageName: node linkType: hard -"react@npm:^18.3.1": - version: 18.3.1 - resolution: "react@npm:18.3.1" +"react@npm:^18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" dependencies: loose-envify: ^1.1.0 - checksum: a27bcfa8ff7c15a1e50244ad0d0c1cb2ad4375eeffefd266a64889beea6f6b64c4966c9b37d14ee32d6c9fcd5aa6ba183b6988167ab4d127d13e7cb5b386a376 + checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + languageName: node + linkType: hard + +"readable-stream@npm:^2.2.2": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.3 + isarray: ~1.0.0 + process-nextick-args: ~2.0.0 + safe-buffer: ~5.1.1 + string_decoder: ~1.1.1 + util-deprecate: ~1.0.1 + checksum: 65645467038704f0c8aaf026a72fbb588a9e2ef7a75cd57a01702ee9db1c4a1e4b03aaad36861a6a0926546a74d174149c8c207527963e0c2d3eee2f37678a42 languageName: node linkType: hard @@ -4843,6 +8420,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:^0.2.2": + version: 0.2.2 + resolution: "reflect-metadata@npm:0.2.2" + checksum: a66c7b583e4efdd8f3c3124fbff33da2d0c86d8280617516308b32b2159af7a3698c961db3246387f56f6316b1d33a608f39bb2b49d813316dfc58f6d3bf3210 + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.13.11": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" @@ -4875,6 +8459,13 @@ __metadata: languageName: node linkType: hard +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -4889,10 +8480,59 @@ __metadata: languageName: node linkType: hard -"ret@npm:~0.4.0": - version: 0.4.3 - resolution: "ret@npm:0.4.3" - checksum: 621c73c86db7537d91a2c47f602c7db71e11cd6f131fedb24aa2818b4d35a23377e0bc22bfa6f12295706d5b06035cf6e8d92fbd75f8f37d73b65e188b7f3fa9 +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve.exports@npm:^1.1.0": + version: 1.1.1 + resolution: "resolve.exports@npm:1.1.1" + checksum: 485aa10082eb388a569d696e17ad7b16f4186efc97dd34eadd029d95b811f21ffee13b1b733198bb4584dbb3cb296aa6f141835221fb7613b9606b84f1386655 + languageName: node + linkType: hard + +"resolve@npm:^1.20.0": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.20.0#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + languageName: node + linkType: hard + +"ret@npm:~0.2.0": + version: 0.2.2 + resolution: "ret@npm:0.2.2" + checksum: 774964bb413a3525e687bca92d81c1cd75555ec33147c32ecca22f3d06409e35df87952cfe3d57afff7650a0f7e42139cf60cb44e94c29dde390243bc1941f16 languageName: node linkType: hard @@ -4917,7 +8557,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:3.0.2, rimraf@npm:^3.0.2": +"rimraf@npm:3.0.2, rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -4928,66 +8568,31 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.13.0": - version: 4.18.0 - resolution: "rollup@npm:4.18.0" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.18.0 - "@rollup/rollup-android-arm64": 4.18.0 - "@rollup/rollup-darwin-arm64": 4.18.0 - "@rollup/rollup-darwin-x64": 4.18.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.18.0 - "@rollup/rollup-linux-arm-musleabihf": 4.18.0 - "@rollup/rollup-linux-arm64-gnu": 4.18.0 - "@rollup/rollup-linux-arm64-musl": 4.18.0 - "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0 - "@rollup/rollup-linux-riscv64-gnu": 4.18.0 - "@rollup/rollup-linux-s390x-gnu": 4.18.0 - "@rollup/rollup-linux-x64-gnu": 4.18.0 - "@rollup/rollup-linux-x64-musl": 4.18.0 - "@rollup/rollup-win32-arm64-msvc": 4.18.0 - "@rollup/rollup-win32-ia32-msvc": 4.18.0 - "@rollup/rollup-win32-x64-msvc": 4.18.0 - "@types/estree": 1.0.5 +"rollup@npm:^3.27.1": + version: 3.28.1 + resolution: "rollup@npm:3.28.1" + dependencies: fsevents: ~2.3.2 dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": + fsevents: optional: true + bin: + rollup: dist/bin/rollup + checksum: 1fcab0929c16130218447c76c19b56ccc0e677110552462297e3679188fc70185a6ec418cef8ce138ec9fb78fd5188537a3f5d28762788e8c88b12a7fb8ba0fb + languageName: node + linkType: hard + +"rollup@npm:^3.29.2": + version: 3.29.4 + resolution: "rollup@npm:3.29.4" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: fsevents: optional: true bin: rollup: dist/bin/rollup - checksum: 54cde921e763017ce952ba76ec77d58dd9c01e3536c3be628d4af8c59d9b2f0e1e6a11b30fda44845c7b74098646cd972feb3bcd2f4a35d3293366f2eeb0a39e + checksum: 8bb20a39c8d91130825159c3823eccf4dc2295c9a0a5c4ed851a5bf2167dbf24d9a29f23461a54c955e5506395e6cc188eafc8ab0e20399d7489fb33793b184e languageName: node linkType: hard @@ -4995,10 +8600,10 @@ __metadata: version: 0.0.0-use.local resolution: "root@workspace:." dependencies: - "@types/cookie-parser": ^1.4.7 + "@types/cookie-parser": ^1.4.3 cookie-parser: ^1.4.6 - jsdom: ^24.1.0 - winston: ^3.13.0 + jsdom: ^21.1.2 + winston: ^3.10.0 languageName: unknown linkType: soft @@ -5009,13 +8614,6 @@ __metadata: languageName: node linkType: hard -"rrweb-cssom@npm:^0.7.0": - version: 0.7.0 - resolution: "rrweb-cssom@npm:0.7.0" - checksum: 32976e45405bd376b6d3e8aada2455233f0c2aa9081c66b1fe59bf8074575fb9d60a9a286edd4925aca8bda7d6734b4170ca087ca528bb77840236ddfe0dd0b9 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -5025,19 +8623,35 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:~5.2.0": +"rxjs@npm:^7.8.1": + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" + dependencies: + tslib: ^2.1.0 + checksum: de4b53db1063e618ec2eca0f7965d9137cabe98cf6be9272efe6c86b47c17b987383df8574861bcced18ebd590764125a901d5506082be84a8b8e364bf05f119 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 languageName: node linkType: hard -"safe-regex2@npm:^3.1.0": - version: 3.1.0 - resolution: "safe-regex2@npm:3.1.0" +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-regex2@npm:^2.0.0": + version: 2.0.0 + resolution: "safe-regex2@npm:2.0.0" dependencies: - ret: ~0.4.0 - checksum: 4f9f7172662763619052a45599e515efc5dd10a932690f610c8ab808a4baa41be3feafefa444f7532651d721d12871a1c9a85330626cdd013b804e8f4240dff1 + ret: ~0.2.0 + checksum: f5e182fca040dedd50ae052ea0eb035d9903b2db71243d5d8b43299735857288ef2ab52546a368d9c6fd1333b2a0d039297925e78ffc14845354f3f6158af7c2 languageName: node linkType: hard @@ -5048,7 +8662,7 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 @@ -5064,32 +8678,23 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" +"scheduler@npm:^0.23.0": + version: 0.23.0 + resolution: "scheduler@npm:0.23.0" dependencies: loose-envify: ^1.1.0 - checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 + checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a languageName: node linkType: hard -"secure-json-parse@npm:^2.7.0": +"secure-json-parse@npm:^2.5.0": version: 2.7.0 resolution: "secure-json-parse@npm:2.7.0" checksum: d9d7d5a01fc6db6115744ba23cf9e67ecfe8c524d771537c062ee05ad5c11b64c730bc58c7f33f60bd6877f96b86f0ceb9ea29644e4040cb757f6912d4dd6737 languageName: node linkType: hard -"semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 - languageName: node - linkType: hard - -"semver@npm:^7.3.5": +"semver@npm:7.x, semver@npm:^7.3.5": version: 7.3.8 resolution: "semver@npm:7.3.8" dependencies: @@ -5100,7 +8705,34 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.3": +"semver@npm:^5.7.1": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 + languageName: node + linkType: hard + +"semver@npm:^7.5.0": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -5111,12 +8743,45 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.4": - version: 7.6.2 - resolution: "semver@npm:7.6.2" +"semver@npm:~7.0.0": + version: 7.0.0 + resolution: "semver@npm:7.0.0" bin: semver: bin/semver.js - checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d + checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 + languageName: node + linkType: hard + +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: ~1.2.1 + statuses: 2.0.1 + checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + languageName: node + linkType: hard + +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.18.0 + checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d languageName: node linkType: hard @@ -5134,6 +8799,13 @@ __metadata: languageName: node linkType: hard +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -5168,20 +8840,13 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard -"signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 - languageName: node - linkType: hard - "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -5191,12 +8856,26 @@ __metadata: languageName: node linkType: hard -"simple-update-notifier@npm:^2.0.0": - version: 2.0.0 - resolution: "simple-update-notifier@npm:2.0.0" +"simple-update-notifier@npm:^1.0.7": + version: 1.1.0 + resolution: "simple-update-notifier@npm:1.1.0" dependencies: - semver: ^7.5.3 - checksum: 9ba00d38ce6a29682f64a46213834e4eb01634c2f52c813a9a7b8873ca49cdbb703696f3290f3b27dc067de6d9418b0b84bef22c3eb074acf352529b2d6c27fd + semver: ~7.0.0 + checksum: 1012e9b6c504e559a948078177b3eedbb9d7e4d15878e2bda56314d08db609ca5da485be4ac9f838759faae8057935ee0246fcdf63f1233c86bd9fecb2a5544b + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c languageName: node linkType: hard @@ -5218,7 +8897,7 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.6.2": +"socks@npm:^2.6.2, socks@npm:^2.7.1": version: 2.7.1 resolution: "socks@npm:2.7.1" dependencies: @@ -5228,19 +8907,29 @@ __metadata: languageName: node linkType: hard -"sonic-boom@npm:^4.0.1": - version: 4.0.1 - resolution: "sonic-boom@npm:4.0.1" +"sonic-boom@npm:^3.1.0": + version: 3.4.0 + resolution: "sonic-boom@npm:3.4.0" dependencies: atomic-sleep: ^1.0.0 - checksum: 451b0f09bc0a0abfa6bfed0e2d7d36a6fa245be8a444a7ef1e3c8abb006e9994cb7530b1da39c8aee9033598d1ce187e244a6194c92a81790a2e2633c60cd63d + checksum: 5ebbff96bd7c434b58a80c2ce2f57dfa24b397fdceeffc516b6fddc437b6887a0d2e14de172c601c8ee690d5de97b7a5e574b9d5c60582850a5590b280b473ab languageName: node linkType: hard -"source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97 +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 languageName: node linkType: hard @@ -5254,7 +8943,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:~0.6.0": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 @@ -5277,6 +8966,13 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 + languageName: node + linkType: hard + "ssri@npm:^9.0.0": version: 9.0.1 resolution: "ssri@npm:9.0.1" @@ -5293,6 +8989,15 @@ __metadata: languageName: node linkType: hard +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: 052bf4d25bbf5f78e06c1d5e67de2e088b06871fa04107ca8d3f0e9d9263326e2942c8bedee3545795fc77d787d443a538345eef74db2f8e35db3558c6f91ff7 + languageName: node + linkType: hard + "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -5300,23 +9005,47 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.5.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 4f489d13ff2ab838c9acd4ed6b786b51aa52ecacdfeaefe9275fcb220ff2ac80c6e95674723508fd29850a694569563a8caaaea738eb82ca16429b3a0b50e510 +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"std-env@npm:^3.3.3": + version: 3.3.3 + resolution: "std-env@npm:3.3.3" + checksum: 6665f6d8bd63aae432d3eb9abbd7322847ad0d902603e6dce1e8051b4f42ceeb4f7f96a4faf70bb05ce65ceee2dc982502b701575c8a58b1bfad29f3dbb19f81 + languageName: node + linkType: hard + +"stop-iteration-iterator@npm:^1.0.0": + version: 1.0.0 + resolution: "stop-iteration-iterator@npm:1.0.0" + dependencies: + internal-slot: ^1.0.4 + checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 + languageName: node + linkType: hard + +"streamsearch@npm:^1.1.0": + version: 1.1.0 + resolution: "streamsearch@npm:1.1.0" + checksum: 1cce16cea8405d7a233d32ca5e00a00169cc0e19fbc02aa839959985f267335d435c07f96e5e0edd0eadc6d39c98d5435fb5bbbdefc62c41834eadc5622ad942 languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" dependencies: - internal-slot: ^1.0.4 - checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -5336,7 +9065,16 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -5345,10 +9083,17 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 languageName: node linkType: hard @@ -5361,12 +9106,26 @@ __metadata: languageName: node linkType: hard -"strip-literal@npm:^2.0.0": - version: 2.1.0 - resolution: "strip-literal@npm:2.1.0" +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"strip-literal@npm:^1.0.1": + version: 1.0.1 + resolution: "strip-literal@npm:1.0.1" dependencies: - js-tokens: ^9.0.0 - checksum: 37c2072634d2de11a3644fe1bcf4abd566d85e89f0d8e8b10d35d04e7bef962e7c112fbe5b805ce63e59dfacedc240356eeef57976351502966b7c64b742c6ac + acorn: ^8.8.2 + checksum: ab40496820f02220390d95cdd620a997168efb69d5bd7d180bc4ef83ca562a95447843d8c7c88b8284879a29cf4eedc89d8001d1e098c1a1e23d12a9c755dff4 + languageName: node + linkType: hard + +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 languageName: node linkType: hard @@ -5379,7 +9138,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -5388,6 +9147,32 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -5409,6 +9194,16 @@ __metadata: languageName: node linkType: hard +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + "terser@npm:^5.10.0": version: 5.16.3 resolution: "terser@npm:5.16.3" @@ -5423,6 +9218,17 @@ __metadata: languageName: node linkType: hard +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 + languageName: node + linkType: hard + "text-hex@npm:1.0.x": version: 1.0.0 resolution: "text-hex@npm:1.0.0" @@ -5430,33 +9236,40 @@ __metadata: languageName: node linkType: hard -"thread-stream@npm:^3.0.0": - version: 3.0.1 - resolution: "thread-stream@npm:3.0.1" +"thread-stream@npm:^2.0.0": + version: 2.4.0 + resolution: "thread-stream@npm:2.4.0" dependencies: real-require: ^0.2.0 - checksum: b95ebecbdc80138e2b0ae38c20a385ccbd09f91eeec763f1a60e879a05c7472644c0638e25e9603109eea8526348c35a3b6a904d1e43ac49ef0b227b131a3a3b + checksum: 09b2daba1902ad5a8bca9adc97ae143ea7377292d4998b129ed625eb2d00be79d9fd77e1dc9480f7ae5f7b214b16dff849b7cd88090ff9fba8a3977574555a79 languageName: node linkType: hard -"tinybench@npm:^2.5.1": - version: 2.8.0 - resolution: "tinybench@npm:2.8.0" - checksum: 024a307c6a71f6e2903e110952457ee3dfa606093b45d7f49efcfd01d452650e099474080677ff650b0fd76b49074425ac68ff2a70561699a78515a278bf0862 +"tinybench@npm:^2.5.0": + version: 2.5.0 + resolution: "tinybench@npm:2.5.0" + checksum: 284bb9428f197ec8b869c543181315e65e41ccfdad3c4b6c916bb1fdae1b5c6785661b0d90cf135b48d833b03cb84dc5357b2d33ec65a1f5971fae0ab2023821 languageName: node linkType: hard -"tinypool@npm:^0.8.3": - version: 0.8.4 - resolution: "tinypool@npm:0.8.4" - checksum: d40c40e062d5eeae85dadc39294dde6bc7b9a7a7cf0c972acbbe5a2b42491dfd4c48381c1e48bbe02aff4890e63de73d115b2e7de2ce4c81356aa5e654a43caf +"tinypool@npm:^0.7.0": + version: 0.7.0 + resolution: "tinypool@npm:0.7.0" + checksum: fdcccd5c750574fce51f8801a877f8284e145d12b79cd5f2d72bfbddfe20c895e915555bc848e122bb6aa968098e7ac4fe1e8e88104904d518dc01cccd18a510 languageName: node linkType: hard -"tinyspy@npm:^2.2.0": - version: 2.2.1 - resolution: "tinyspy@npm:2.2.1" - checksum: 170d6232e87f9044f537b50b406a38fbfd6f79a261cd12b92879947bd340939a833a678632ce4f5c4a6feab4477e9c21cd43faac3b90b68b77dd0536c4149736 +"tinyspy@npm:^2.1.1": + version: 2.1.1 + resolution: "tinyspy@npm:2.1.1" + checksum: cfe669803a7f11ca912742b84c18dcc4ceecaa7661c69bc5eb608a8a802d541c48aba220df8929f6c8cd09892ad37cb5ba5958ddbbb57940e91d04681d3cee73 + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 languageName: node linkType: hard @@ -5476,10 +9289,17 @@ __metadata: languageName: node linkType: hard -"toad-cache@npm:^3.3.0": - version: 3.7.0 - resolution: "toad-cache@npm:3.7.0" - checksum: d0f2092ab2c0f3355d3537c41b13888a12996f38080e6c39907e715eb382d997ccf61baab9e8eda3f202b6c07e304728106be3631c9fe3b6c001aaf15b7bdb8f +"toad-cache@npm:^3.2.0": + version: 3.2.0 + resolution: "toad-cache@npm:3.2.0" + checksum: 9d64f7760cd8ae6d0684d17e9153a39c088877e4b9f5e648fe11c4f9c82c033d3b606ff0dfe566cd5a0056dee9ebeaf4ab9bee1de1e6597d7cc6745042413b2b + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 languageName: node linkType: hard @@ -5494,15 +9314,24 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.4": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" +"tough-cookie@npm:^4.1.2": + version: 4.1.2 + resolution: "tough-cookie@npm:4.1.2" dependencies: psl: ^1.1.33 punycode: ^2.1.1 universalify: ^0.2.0 url-parse: ^1.5.3 - checksum: 5815059f014c31179a303c673f753f7899a6fce94ac93712c88ea5f3c26e0c042b5f0c7a599a00f8e0feeca4615dba75c3dffc54f3c1a489978aa8205e09307c + checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a + languageName: node + linkType: hard + +"tr46@npm:^3.0.0": + version: 3.0.0 + resolution: "tr46@npm:3.0.0" + dependencies: + punycode: ^2.1.1 + checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 languageName: node linkType: hard @@ -5515,12 +9344,10 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^5.0.0": - version: 5.0.0 - resolution: "tr46@npm:5.0.0" - dependencies: - punycode: ^2.3.1 - checksum: 8d8b021f8e17675ebf9e672c224b6b6cfdb0d5b92141349e9665c14a2501c54a298d11264bbb0b17b447581e1e83d4fc3c038c929f3d210e3964d4be47460288 +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 languageName: node linkType: hard @@ -5538,9 +9365,42 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" +"ts-jest@npm:^28.0.8": + version: 28.0.8 + resolution: "ts-jest@npm:28.0.8" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^28.0.0 + json5: ^2.2.1 + lodash.memoize: 4.x + make-error: 1.x + semver: 7.x + yargs-parser: ^21.0.1 + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/types": ^28.0.0 + babel-jest: ^28.0.0 + jest: ^28.0.0 + typescript: ">=4.3" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: c72e9292709e77ce47ac7813cb24feaa9d01dc983598d29a821f224b5cc190dc7d67e17379cef089095404c00b9d582ee91c727916f9ec289cb1b723df408ae3 + languageName: node + linkType: hard + +"ts-node@npm:^10.9.1": + version: 10.9.1 + resolution: "ts-node@npm:10.9.1" dependencies: "@cspotcode/source-map-support": ^0.8.0 "@tsconfig/node10": ^1.0.7 @@ -5572,41 +9432,88 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: fde256c9073969e234526e2cfead42591b9a2aec5222bac154b0de2fa9e4ceb30efcd717ee8bc785a56f3a119bdd5aa27b333d9dbec94ed254bd26f8944c67ac + checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 + languageName: node + linkType: hard + +"tslib@npm:2.6.2, tslib@npm:^2.1.0": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad languageName: node linkType: hard -"tslib@npm:^2.0.3": +"tslib@npm:^1.11.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.3.1": version: 2.5.0 resolution: "tslib@npm:2.5.0" checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1 languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 languageName: node linkType: hard -"typescript@npm:^5.4.5": - version: 5.4.5 - resolution: "typescript@npm:5.4.5" +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 + languageName: node + linkType: hard + +"type-is@npm:^1.6.4, type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 + languageName: node + linkType: hard + +"typescript@npm:^5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 53c879c6fa1e3bcb194b274d4501ba1985894b2c2692fa079db03c5a5a7140587a1e04e1ba03184605d35f439b40192d9e138eb3279ca8eee313c081c8bcd9b0 + checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c languageName: node linkType: hard -"typescript@patch:typescript@^5.4.5#~builtin": - version: 5.4.5 - resolution: "typescript@patch:typescript@npm%3A5.4.5#~builtin::version=5.4.5&hash=bda367" +"typescript@patch:typescript@^5.2.2#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 2373c693f3b328f3b2387c3efafe6d257b057a142f9a79291854b14ff4d5367d3d730810aee981726b677ae0fd8329b23309da3b6aaab8263dbdccf1da07a3ba + checksum: 07106822b4305de3f22835cbba949a2b35451cad50888759b6818421290ff95d522b38ef7919e70fb381c5fe9c1c643d7dea22c8b31652a717ddbd57b7f4d554 languageName: node linkType: hard @@ -5617,10 +9524,12 @@ __metadata: languageName: node linkType: hard -"ufo@npm:^1.5.3": - version: 1.5.3 - resolution: "ufo@npm:1.5.3" - checksum: 2f54fa543b2e689cc4ab341fe2194937afe37c5ee43cd782e6ecc184e36859e84d4197a43ae4cd6e9a56f793ca7c5b950dfff3f16fadaeef9b6b88b05c88c8ef +"uid@npm:2.0.2": + version: 2.0.2 + resolution: "uid@npm:2.0.2" + dependencies: + "@lukeed/csprng": ^1.0.0 + checksum: 98aabddcd6fe46f9b331b0378a93ee9cc51474348ada02006df9d10b4abc783ed596748ed9f20d7f6c5ff395dbcd1e764a65a68db6f39a31c95ae85ef13fe979 languageName: node linkType: hard @@ -5631,13 +9540,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 - languageName: node - linkType: hard - "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -5680,17 +9582,38 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.13": - version: 1.0.16 - resolution: "update-browserslist-db@npm:1.0.16" +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.10": + version: 1.0.10 + resolution: "update-browserslist-db@npm:1.0.10" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: 12db73b4f63029ac407b153732e7cd69a1ea8206c9100b482b7d12859cd3cd0bc59c602d7ae31e652706189f1acb90d42c53ab24a5ba563ed13aebdddc5561a0 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.11": + version: 1.0.11 + resolution: "update-browserslist-db@npm:1.0.11" dependencies: - escalade: ^3.1.2 - picocolors: ^1.0.1 + escalade: ^3.1.1 + picocolors: ^1.0.0 peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 51b1f7189c9ea5925c80154b0a6fd3ec36106d07858d8f69826427d8edb4735d1801512c69eade38ba0814d7407d11f400d74440bbf3da0309f3d788017f35b2 + checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 languageName: node linkType: hard @@ -5713,13 +9636,29 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 languageName: node linkType: hard +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -5727,24 +9666,43 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:1.6.0": - version: 1.6.0 - resolution: "vite-node@npm:1.6.0" +"v8-to-istanbul@npm:^9.0.1": + version: 9.1.0 + resolution: "v8-to-istanbul@npm:9.1.0" + dependencies: + "@jridgewell/trace-mapping": ^0.3.12 + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + checksum: 2069d59ee46cf8d83b4adfd8a5c1a90834caffa9f675e4360f1157ffc8578ef0f763c8f32d128334424159bb6b01f3876acd39cd13297b2769405a9da241f8d1 + languageName: node + linkType: hard + +"vary@npm:^1, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"vite-node@npm:0.34.6": + version: 0.34.6 + resolution: "vite-node@npm:0.34.6" dependencies: cac: ^6.7.14 debug: ^4.3.4 + mlly: ^1.4.0 pathe: ^1.1.1 picocolors: ^1.0.0 - vite: ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0-0 bin: vite-node: vite-node.mjs - checksum: ce111c5c7a4cf65b722baa15cbc065b7bfdbf1b65576dd6372995f6a72b2b93773ec5df59f6c5f08cfe1284806597b44b832efcea50d5971102428159ff4379f + checksum: 46eba82bf8b69c7dfeed901502533b172cc6303212f0f49f82c2f64758fa4b60acd1b1e37cb96aff944e36b510b0d1beedb50d9cb25ef39e0159b2b9d1136b1f languageName: node linkType: hard -"vite-plugin-html@npm:^3.2.2": - version: 3.2.2 - resolution: "vite-plugin-html@npm:3.2.2" +"vite-plugin-html@npm:^3.2.0": + version: 3.2.0 + resolution: "vite-plugin-html@npm:3.2.0" dependencies: "@rollup/pluginutils": ^4.2.0 colorette: ^2.0.16 @@ -5760,18 +9718,18 @@ __metadata: pathe: ^0.2.0 peerDependencies: vite: ">=2.0.0" - checksum: 2fd6e1f91f74a4432222ed28e68d5f27e58ccbc9ad44e71ff9d02b684b358b0c634bdb4dd32e9d93d09e88d83c3b7b74b89698e25510bc5b94173cdc067b3ac2 + checksum: f5222247b65da1c36215f0b2f509fd3975a7426b8d44546beb49f3ba51ee87b3a6b6e6afc9e7567a0d8bd1016631f2db3f934808f62a7c8f7f83fa83d8561d2d languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.2.12": - version: 5.2.12 - resolution: "vite@npm:5.2.12" +"vite@npm:^3.0.0 || ^4.0.0 || ^5.0.0-0, vite@npm:^3.1.0 || ^4.0.0 || ^5.0.0-0": + version: 5.0.0-beta.3 + resolution: "vite@npm:5.0.0-beta.3" dependencies: - esbuild: ^0.20.1 + esbuild: ^0.19.3 fsevents: ~2.3.3 - postcss: ^8.4.38 - rollup: ^4.13.0 + postcss: ^8.4.30 + rollup: ^3.29.2 peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 less: "*" @@ -5800,46 +9758,90 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 908b8a09460c031fe94c2038a46743a73a70fe76fd1991ae8b51a56eb88dec75128bc7da7ab37d8f84c0e1e3063ce268bdd81cc27d79229f8ea756e752bc83d9 + checksum: 03b6f004a3fc65c5d820590aaefa65bd9dcf609bb8f151e67ff2237d35cbbad14d8f27860f9408d6777b250ffa4c3cccacef9b61a43002024d0382e1d63fe518 languageName: node linkType: hard -"vitest@npm:^1.6.0": - version: 1.6.0 - resolution: "vitest@npm:1.6.0" - dependencies: - "@vitest/expect": 1.6.0 - "@vitest/runner": 1.6.0 - "@vitest/snapshot": 1.6.0 - "@vitest/spy": 1.6.0 - "@vitest/utils": 1.6.0 - acorn-walk: ^8.3.2 +"vite@npm:^4.4.9": + version: 4.4.9 + resolution: "vite@npm:4.4.9" + dependencies: + esbuild: ^0.18.10 + fsevents: ~2.3.2 + postcss: ^8.4.27 + rollup: ^3.27.1 + peerDependencies: + "@types/node": ">= 14" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908 + languageName: node + linkType: hard + +"vitest@npm:^0.34.6": + version: 0.34.6 + resolution: "vitest@npm:0.34.6" + dependencies: + "@types/chai": ^4.3.5 + "@types/chai-subset": ^1.3.3 + "@types/node": "*" + "@vitest/expect": 0.34.6 + "@vitest/runner": 0.34.6 + "@vitest/snapshot": 0.34.6 + "@vitest/spy": 0.34.6 + "@vitest/utils": 0.34.6 + acorn: ^8.9.0 + acorn-walk: ^8.2.0 + cac: ^6.7.14 chai: ^4.3.10 debug: ^4.3.4 - execa: ^8.0.1 - local-pkg: ^0.5.0 - magic-string: ^0.30.5 + local-pkg: ^0.4.3 + magic-string: ^0.30.1 pathe: ^1.1.1 picocolors: ^1.0.0 - std-env: ^3.5.0 - strip-literal: ^2.0.0 - tinybench: ^2.5.1 - tinypool: ^0.8.3 - vite: ^5.0.0 - vite-node: 1.6.0 + std-env: ^3.3.3 + strip-literal: ^1.0.1 + tinybench: ^2.5.0 + tinypool: ^0.7.0 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + vite-node: 0.34.6 why-is-node-running: ^2.2.2 peerDependencies: "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.6.0 - "@vitest/ui": 1.6.0 + "@vitest/browser": "*" + "@vitest/ui": "*" happy-dom: "*" jsdom: "*" + playwright: "*" + safaridriver: "*" + webdriverio: "*" peerDependenciesMeta: "@edge-runtime/vm": optional: true - "@types/node": - optional: true "@vitest/browser": optional: true "@vitest/ui": @@ -5848,18 +9850,40 @@ __metadata: optional: true jsdom: optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true bin: vitest: vitest.mjs - checksum: a9b9b97e5685d630e5d8d221e6d6cd2e1e9b5b2dd61e82042839ef11549c8d2d780cf696307de406dce804bf41c1219398cb20b4df570b3b47ad1e53af6bfe51 + checksum: 45f5c1987fa8c76dbaf5db379bbdb4f6e3713c484e850149af38247b627e70016c1863286fd7fcfab08a1d98430f66ba1f45af6f14f5c467ded4b1ea6f26afa3 languageName: node linkType: hard -"w3c-xmlserializer@npm:^5.0.0": - version: 5.0.0 - resolution: "w3c-xmlserializer@npm:5.0.0" +"w3c-xmlserializer@npm:^4.0.0": + version: 4.0.0 + resolution: "w3c-xmlserializer@npm:4.0.0" + dependencies: + xml-name-validator: ^4.0.0 + checksum: eba070e78deb408ae8defa4d36b429f084b2b47a4741c4a9be3f27a0a3d1845e277e3072b04391a138f7e43776842627d1334e448ff13ff90ad9fb1214ee7091 + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" dependencies: - xml-name-validator: ^5.0.0 - checksum: 593acc1fdab3f3207ec39d851e6df0f3fa41a36b5809b0ace364c7a6d92e351938c53424a7618ce8e0fbaffee8be2e8e070a5734d05ee54666a8bdf1a376cc40 + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c languageName: node linkType: hard @@ -5870,39 +9894,49 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^3.1.1": - version: 3.1.1 - resolution: "whatwg-encoding@npm:3.1.1" +"whatwg-encoding@npm:^2.0.0": + version: 2.0.0 + resolution: "whatwg-encoding@npm:2.0.0" dependencies: iconv-lite: 0.6.3 - checksum: f75a61422421d991e4aec775645705beaf99a16a88294d68404866f65e92441698a4f5b9fa11dd609017b132d7b286c3c1534e2de5b3e800333856325b549e3c + checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 languageName: node linkType: hard -"whatwg-mimetype@npm:^4.0.0": - version: 4.0.0 - resolution: "whatwg-mimetype@npm:4.0.0" - checksum: f97edd4b4ee7e46a379f3fb0e745de29fe8b839307cc774300fd49059fcdd560d38cb8fe21eae5575b8f39b022f23477cc66e40b0355c2851ce84760339cef30 +"whatwg-mimetype@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-mimetype@npm:3.0.0" + checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 languageName: node linkType: hard -"whatwg-url@npm:^13.0.0": - version: 13.0.0 - resolution: "whatwg-url@npm:13.0.0" +"whatwg-url@npm:^11.0.0": + version: 11.0.0 + resolution: "whatwg-url@npm:11.0.0" dependencies: - tr46: ^4.1.1 + tr46: ^3.0.0 webidl-conversions: ^7.0.0 - checksum: 7f69272a1bfd5f0d994988b9e234e35d21071a9bffe0d6fd4477d295552665c566b176ff8e0251a0a79c61c5a67a7a392e248aae5887d7e22bdff0125209e26b + checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af languageName: node linkType: hard -"whatwg-url@npm:^14.0.0": - version: 14.0.0 - resolution: "whatwg-url@npm:14.0.0" +"whatwg-url@npm:^12.0.0, whatwg-url@npm:^12.0.1": + version: 12.0.1 + resolution: "whatwg-url@npm:12.0.1" dependencies: - tr46: ^5.0.0 + tr46: ^4.1.1 webidl-conversions: ^7.0.0 - checksum: 4b5887e50f786583bead70916413e67a381d2126899b9eb5c67ce664bba1e7ec07cdff791404581ce73c6190d83c359c9ca1d50711631217905db3877dec075c + checksum: 8698993b763c1e7eda5ed16c31dab24bca6489626aca7caf8b5a2b64684dda6578194786f10ec42ceb1c175feea16d0a915096e6419e08d154ce551c43176972 + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c languageName: node linkType: hard @@ -5977,22 +10011,22 @@ __metadata: languageName: node linkType: hard -"winston-transport@npm:^4.7.0": - version: 4.7.0 - resolution: "winston-transport@npm:4.7.0" +"winston-transport@npm:^4.5.0": + version: 4.5.0 + resolution: "winston-transport@npm:4.5.0" dependencies: logform: ^2.3.2 readable-stream: ^3.6.0 triple-beam: ^1.3.0 - checksum: ce074b5c76a99bee5236cf2b4d30fadfaf1e551d566f654f1eba303dc5b5f77169c21545ff5c5e4fdad9f8e815fc6d91b989f1db34161ecca6e860e62fd3a862 + checksum: a56e5678a80b88a73e77ed998fc6e19d0db19c989a356b137ec236782f2bf58ae4511b11c29163f99391fa4dc12102c7bc5738dcb6543f28877fa2819adc3ee9 languageName: node linkType: hard -"winston@npm:^3.13.0": - version: 3.13.0 - resolution: "winston@npm:3.13.0" +"winston@npm:^3.10.0": + version: 3.10.0 + resolution: "winston@npm:3.10.0" dependencies: - "@colors/colors": ^1.6.0 + "@colors/colors": 1.5.0 "@dabh/diagnostics": ^2.0.2 async: ^3.2.3 is-stream: ^2.0.0 @@ -6002,8 +10036,26 @@ __metadata: safe-stable-stringify: ^2.3.1 stack-trace: 0.0.x triple-beam: ^1.3.0 - winston-transport: ^4.7.0 - checksum: 66f9fbbadb58e1632701e9c89391f217310c9455462148e163e060dcd25aed21351b0413bdbbf90e5c5fe9bc945fc5de6f53875ac7c7ef3061133a354fc678c0 + winston-transport: ^4.5.0 + checksum: 47df0361220d12b46d1b3c98a1c380a3718321739d527a182ce7984fc20715e5b0b55db0bcd3fd076d1b1d3261903b890b053851cfd4bc028bda7951fa8ca2e0 + languageName: node + linkType: hard + +"word-wrap@npm:~1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b languageName: node linkType: hard @@ -6014,9 +10066,19 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.17.0": - version: 8.17.0 - resolution: "ws@npm:8.17.0" +"write-file-atomic@npm:^4.0.1": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: ^0.1.4 + signal-exit: ^3.0.7 + checksum: 5da60bd4eeeb935eec97ead3df6e28e5917a6bd317478e4a85a5285e8480b8ed96032bbcc6ecd07b236142a24f3ca871c924ec4a6575e623ec1b11bf8c1c253c + languageName: node + linkType: hard + +"ws@npm:^8.11.0, ws@npm:^8.13.0": + version: 8.13.0 + resolution: "ws@npm:8.13.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -6025,14 +10087,14 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 147ef9eab0251364e1d2c55338ad0efb15e6913923ccbfdf20f7a8a6cb8f88432bcd7f4d8f66977135bfad35575644f9983201c1a361019594a4e53977bf6d4e + checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c languageName: node linkType: hard -"xml-name-validator@npm:^5.0.0": - version: 5.0.0 - resolution: "xml-name-validator@npm:5.0.0" - checksum: 86effcc7026f437701252fcc308b877b4bc045989049cfc79b0cc112cb365cf7b009f4041fab9fb7cd1795498722c3e9fe9651afc66dfa794c16628a639a4c45 +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad languageName: node linkType: hard @@ -6043,6 +10105,20 @@ __metadata: languageName: node linkType: hard +"xtend@npm:^4.0.0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -6057,6 +10133,28 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + +"yargs@npm:^17.3.1": + version: 17.6.2 + resolution: "yargs@npm:17.6.2" + dependencies: + cliui: ^8.0.1 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.3 + y18n: ^5.0.5 + yargs-parser: ^21.1.1 + checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643 + languageName: node + linkType: hard + "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" @@ -6064,6 +10162,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + languageName: node + linkType: hard + "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0" @@ -6071,18 +10176,18 @@ __metadata: languageName: node linkType: hard -"zod-to-json-schema@npm:^3.23.0": - version: 3.23.0 - resolution: "zod-to-json-schema@npm:3.23.0" +"zod-to-json-schema@npm:^3.17.1": + version: 3.21.4 + resolution: "zod-to-json-schema@npm:3.21.4" peerDependencies: - zod: ^3.23.3 - checksum: 56f220f06687b41602478cf19f9fbf04488a450c0e47e6cd6c1dc3b6729e2b1c75f742a52a16cbb11bcdf1ff7b2bf2043dfff59f3784d6ac8ecfa562ce035e21 + zod: ^3.21.4 + checksum: 899c1f461fb6547c0b08a265c82040c250be9b88d3f408f2f3ff77a418fdfad7549077e589d418fccb312c1f6d555c3c7217b199cc9072762e1fab20716dd2a6 languageName: node linkType: hard -"zod@npm:^3.23.8": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 15949ff82118f59c893dacd9d3c766d02b6fa2e71cf474d5aa888570c469dbf5446ac5ad562bb035bf7ac9650da94f290655c194f4a6de3e766f43febd432c5c +"zod@npm:^3.22.2": + version: 3.22.2 + resolution: "zod@npm:3.22.2" + checksum: 231e2180c8eabb56e88680d80baff5cf6cbe6d64df3c44c50ebe52f73081ecd0229b1c7215b9552537f537a36d9e36afac2737ddd86dc14e3519bdbc777e82b9 languageName: node linkType: hard From 9e66362e9e29b307d28b5a9748eecdd1328661c6 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Mon, 15 Apr 2024 14:41:27 +0300 Subject: [PATCH 04/24] cleanup --- packages/client/src/adapters/harness.tsx | 2 +- packages/server/src/routes.ts | 126 ------------------ .../src/{server.ts => server.testkit.ts} | 0 packages/server/test/product.repo.spec.ts | 2 +- 4 files changed, 2 insertions(+), 128 deletions(-) delete mode 100644 packages/server/src/routes.ts rename packages/server/src/{server.ts => server.testkit.ts} (100%) diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index 0ac3dad..e09185e 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -1,5 +1,5 @@ import {render, within} from "@testing-library/react"; -import {createTestingModule} from "@ts-react-tdd/server/src/server"; +import {createTestingModule} from "packages/server/src/server.testkit"; import {QueryClient, QueryClientProvider} from "react-query"; import {MemoryRouter} from "react-router-dom"; import {App} from "../components/App"; diff --git a/packages/server/src/routes.ts b/packages/server/src/routes.ts deleted file mode 100644 index 59fce96..0000000 --- a/packages/server/src/routes.ts +++ /dev/null @@ -1,126 +0,0 @@ -import {Cart, ProductTemplate} from "./types"; -import {FastifyInstance} from "fastify"; -import {serializerCompiler, validatorCompiler, ZodTypeProvider} from "fastify-type-provider-zod"; -import {z} from "zod"; -import { ProductRepository } from "./adapters/product.repo"; -import { OrderRepository } from "./adapters/order.repo"; - - -const CartIdSchema = z.object({ - cartId: z.string() -}); - -export const createRoutes = (productRepo: ProductRepository, orderRepo: OrderRepository) => (fastify: FastifyInstance, opts: any, done: () => void) => { - fastify.setValidatorCompiler(validatorCompiler); - fastify.setSerializerCompiler(serializerCompiler); - - const f = fastify.withTypeProvider(); - - const sessions: Record = {}; - - f.route({ - url: "/cart/:cartId", - method: "GET", - schema: { - params: CartIdSchema, - }, - handler: (req, res) => { - const {cartId} = req.params; - res.send(sessions[cartId]); - } - }); - - f.route({ - method: "GET", - url: "/cart/:cartId/count", - schema: { - params: CartIdSchema, - }, - handler: (req, res) => { - const {cartId} = req.params; - res.send(sessions[cartId]?.items.length || 0); - } - }); - - f.route({ - url: "/cart/:cartId", - method: "POST", - schema: { - body: z.object({ - productId: z.string() - }), - params: CartIdSchema, - }, - handler: async (req, res) => { - const {cartId} = req.params; - const {productId} = req.body; - sessions[cartId] = sessions[cartId] || {id: cartId, items: []}; - const product = await productRepo.findById(productId); - - if (product) { - sessions[cartId].items.push(({productId, name: product.title, price: product.price})) - res.status(201).send(); - } else { - res.status(404).send(); - } - } - }); - - f.route({ - method: "POST", - url: "/checkout/:cartId", - schema: { - params: CartIdSchema, - }, - handler: async (req, res) => { - const {cartId} = req.params; - const cart = sessions[cartId]; - if (!cart) { - throw new Error(`no cart with id ${cartId} was found`); - } else { - - const order = await orderRepo.create({items: cart.items}); - res.status(201).send(order.id); - } - } - }); - - f.route({ - method: "GET", - url: "/order/:orderId", - schema: { - params: z.object({ - orderId: z.string(), - }) - }, - handler: async (req, res) => { - const {orderId} = req.params; - const order = await orderRepo.findById(orderId); - if (order) { - res.send(order); - } else { - res.status(404).send(`Order with id ${orderId} was not found`); - } - } - }); - - -//TODO remove - f.route({ - method: "POST", - url: "/products", - schema: { - body: ProductTemplate, - }, - handler: async (req, res) => { - const product = await productRepo.create(req.body); - res.status(201).send(product); - } - }) - - f.get("/products", async (_, res) => { - res.send(await productRepo.findAll()); - }) - - done(); -} \ No newline at end of file diff --git a/packages/server/src/server.ts b/packages/server/src/server.testkit.ts similarity index 100% rename from packages/server/src/server.ts rename to packages/server/src/server.testkit.ts diff --git a/packages/server/test/product.repo.spec.ts b/packages/server/test/product.repo.spec.ts index 1ea9771..93dfacd 100644 --- a/packages/server/test/product.repo.spec.ts +++ b/packages/server/test/product.repo.spec.ts @@ -1,6 +1,6 @@ import { MongoClient } from "mongodb"; import { InMemoryProductRepository } from "../src/adapters/fake"; -import { MongoDBProductRepository } from "../src/adapters/product.repo"; +import {MongoDBProductRepository, ProductRepository} from "../src/adapters/product.repo"; import { aProduct } from "../src/builders"; const adapters = [ From cad974d94720f81577acab2a414f89abfc63807d Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Fri, 19 Apr 2024 08:31:21 +0300 Subject: [PATCH 05/24] fix lockfile --- yarn.lock | 1477 ++++++++++------------------------------------------- 1 file changed, 278 insertions(+), 1199 deletions(-) diff --git a/yarn.lock b/yarn.lock index afce80b..903f513 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,876 +32,6 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/ie11-detection@npm:^3.0.0": - version: 3.0.0 - resolution: "@aws-crypto/ie11-detection@npm:3.0.0" - dependencies: - tslib: ^1.11.1 - checksum: 299b2ddd46eddac1f2d54d91386ceb37af81aef8a800669281c73d634ed17fd855dcfb8b3157f2879344b93a2666a6d602550eb84b71e4d7868100ad6da8f803 - languageName: node - linkType: hard - -"@aws-crypto/sha256-browser@npm:3.0.0": - version: 3.0.0 - resolution: "@aws-crypto/sha256-browser@npm:3.0.0" - dependencies: - "@aws-crypto/ie11-detection": ^3.0.0 - "@aws-crypto/sha256-js": ^3.0.0 - "@aws-crypto/supports-web-crypto": ^3.0.0 - "@aws-crypto/util": ^3.0.0 - "@aws-sdk/types": ^3.222.0 - "@aws-sdk/util-locate-window": ^3.0.0 - "@aws-sdk/util-utf8-browser": ^3.0.0 - tslib: ^1.11.1 - checksum: ca89456bf508db2e08060a7f656460db97ac9a15b11e39d6fa7665e2b156508a1758695bff8e82d0a00178d6ac5c36f35eb4bcfac2e48621265224ca14a19bd2 - languageName: node - linkType: hard - -"@aws-crypto/sha256-js@npm:3.0.0, @aws-crypto/sha256-js@npm:^3.0.0": - version: 3.0.0 - resolution: "@aws-crypto/sha256-js@npm:3.0.0" - dependencies: - "@aws-crypto/util": ^3.0.0 - "@aws-sdk/types": ^3.222.0 - tslib: ^1.11.1 - checksum: 644ded32ea310237811afae873d3c7320739cb6f6cc39dced9c94801379e68e5ee2cca0c34f0384793fa9e750a7e0a5e2468f95754bd08e6fd72ab833c8fe23c - languageName: node - linkType: hard - -"@aws-crypto/supports-web-crypto@npm:^3.0.0": - version: 3.0.0 - resolution: "@aws-crypto/supports-web-crypto@npm:3.0.0" - dependencies: - tslib: ^1.11.1 - checksum: 35479a1558db9e9a521df6877a99f95670e972c602f2a0349303477e5d638a5baf569fb037c853710e382086e6fd77e8ed58d3fb9b49f6e1186a9d26ce7be006 - languageName: node - linkType: hard - -"@aws-crypto/util@npm:^3.0.0": - version: 3.0.0 - resolution: "@aws-crypto/util@npm:3.0.0" - dependencies: - "@aws-sdk/types": ^3.222.0 - "@aws-sdk/util-utf8-browser": ^3.0.0 - tslib: ^1.11.1 - checksum: d29d5545048721aae3d60b236708535059733019a105f8a64b4e4a8eab7cf8dde1546dc56bff7de20d36140a4d1f0f4693e639c5732a7059273a7b1e56354776 - languageName: node - linkType: hard - -"@aws-sdk/abort-controller@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/abort-controller@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: d4b091a63517f444abc574fdbf8207314f815d1a6f6b4ce6fb9b5610d226f66753758c2a76b0635797838142f43d910b2c5e660ba04b55736a85a37dab854b4f - languageName: node - linkType: hard - -"@aws-sdk/client-cognito-identity@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.271.0" - dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.271.0 - "@aws-sdk/config-resolver": 3.271.0 - "@aws-sdk/credential-provider-node": 3.271.0 - "@aws-sdk/fetch-http-handler": 3.271.0 - "@aws-sdk/hash-node": 3.271.0 - "@aws-sdk/invalid-dependency": 3.271.0 - "@aws-sdk/middleware-content-length": 3.271.0 - "@aws-sdk/middleware-endpoint": 3.271.0 - "@aws-sdk/middleware-host-header": 3.271.0 - "@aws-sdk/middleware-logger": 3.271.0 - "@aws-sdk/middleware-recursion-detection": 3.271.0 - "@aws-sdk/middleware-retry": 3.271.0 - "@aws-sdk/middleware-serde": 3.271.0 - "@aws-sdk/middleware-signing": 3.271.0 - "@aws-sdk/middleware-stack": 3.271.0 - "@aws-sdk/middleware-user-agent": 3.271.0 - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/node-http-handler": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/smithy-client": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - "@aws-sdk/util-base64": 3.208.0 - "@aws-sdk/util-body-length-browser": 3.188.0 - "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.271.0 - "@aws-sdk/util-defaults-mode-node": 3.271.0 - "@aws-sdk/util-endpoints": 3.271.0 - "@aws-sdk/util-retry": 3.271.0 - "@aws-sdk/util-user-agent-browser": 3.271.0 - "@aws-sdk/util-user-agent-node": 3.271.0 - "@aws-sdk/util-utf8": 3.254.0 - tslib: ^2.3.1 - checksum: 52f45c7c546c0f38dd0a38543b6ef1626f4738ba0d5698b10a9f1022e757597ad63ecc53fd300c4ae3f2d35b2fe6057ca0b950436f4b99147bec476e402ff3bc - languageName: node - linkType: hard - -"@aws-sdk/client-sso-oidc@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.271.0" - dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/config-resolver": 3.271.0 - "@aws-sdk/fetch-http-handler": 3.271.0 - "@aws-sdk/hash-node": 3.271.0 - "@aws-sdk/invalid-dependency": 3.271.0 - "@aws-sdk/middleware-content-length": 3.271.0 - "@aws-sdk/middleware-endpoint": 3.271.0 - "@aws-sdk/middleware-host-header": 3.271.0 - "@aws-sdk/middleware-logger": 3.271.0 - "@aws-sdk/middleware-recursion-detection": 3.271.0 - "@aws-sdk/middleware-retry": 3.271.0 - "@aws-sdk/middleware-serde": 3.271.0 - "@aws-sdk/middleware-stack": 3.271.0 - "@aws-sdk/middleware-user-agent": 3.271.0 - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/node-http-handler": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/smithy-client": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - "@aws-sdk/util-base64": 3.208.0 - "@aws-sdk/util-body-length-browser": 3.188.0 - "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.271.0 - "@aws-sdk/util-defaults-mode-node": 3.271.0 - "@aws-sdk/util-endpoints": 3.271.0 - "@aws-sdk/util-retry": 3.271.0 - "@aws-sdk/util-user-agent-browser": 3.271.0 - "@aws-sdk/util-user-agent-node": 3.271.0 - "@aws-sdk/util-utf8": 3.254.0 - tslib: ^2.3.1 - checksum: 355ee373de34b83f7619b67cb726ff39a563c494e696488216a0f2fa11022b164f55bd3ba4517e582b8f93ee5e407db6b26b6c190a1f5a329d52f4c99ddd33b9 - languageName: node - linkType: hard - -"@aws-sdk/client-sso@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/client-sso@npm:3.271.0" - dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/config-resolver": 3.271.0 - "@aws-sdk/fetch-http-handler": 3.271.0 - "@aws-sdk/hash-node": 3.271.0 - "@aws-sdk/invalid-dependency": 3.271.0 - "@aws-sdk/middleware-content-length": 3.271.0 - "@aws-sdk/middleware-endpoint": 3.271.0 - "@aws-sdk/middleware-host-header": 3.271.0 - "@aws-sdk/middleware-logger": 3.271.0 - "@aws-sdk/middleware-recursion-detection": 3.271.0 - "@aws-sdk/middleware-retry": 3.271.0 - "@aws-sdk/middleware-serde": 3.271.0 - "@aws-sdk/middleware-stack": 3.271.0 - "@aws-sdk/middleware-user-agent": 3.271.0 - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/node-http-handler": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/smithy-client": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - "@aws-sdk/util-base64": 3.208.0 - "@aws-sdk/util-body-length-browser": 3.188.0 - "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.271.0 - "@aws-sdk/util-defaults-mode-node": 3.271.0 - "@aws-sdk/util-endpoints": 3.271.0 - "@aws-sdk/util-retry": 3.271.0 - "@aws-sdk/util-user-agent-browser": 3.271.0 - "@aws-sdk/util-user-agent-node": 3.271.0 - "@aws-sdk/util-utf8": 3.254.0 - tslib: ^2.3.1 - checksum: ed297d05ffcdc4c78aa1535ae7bacf4c54ca55638c4440edd781099cf59ce76958915581a3d0619d2f0018916cd3a2ce864e6bc954dd305ca992a0ab26290712 - languageName: node - linkType: hard - -"@aws-sdk/client-sts@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/client-sts@npm:3.271.0" - dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/config-resolver": 3.271.0 - "@aws-sdk/credential-provider-node": 3.271.0 - "@aws-sdk/fetch-http-handler": 3.271.0 - "@aws-sdk/hash-node": 3.271.0 - "@aws-sdk/invalid-dependency": 3.271.0 - "@aws-sdk/middleware-content-length": 3.271.0 - "@aws-sdk/middleware-endpoint": 3.271.0 - "@aws-sdk/middleware-host-header": 3.271.0 - "@aws-sdk/middleware-logger": 3.271.0 - "@aws-sdk/middleware-recursion-detection": 3.271.0 - "@aws-sdk/middleware-retry": 3.271.0 - "@aws-sdk/middleware-sdk-sts": 3.271.0 - "@aws-sdk/middleware-serde": 3.271.0 - "@aws-sdk/middleware-signing": 3.271.0 - "@aws-sdk/middleware-stack": 3.271.0 - "@aws-sdk/middleware-user-agent": 3.271.0 - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/node-http-handler": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/smithy-client": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - "@aws-sdk/util-base64": 3.208.0 - "@aws-sdk/util-body-length-browser": 3.188.0 - "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.271.0 - "@aws-sdk/util-defaults-mode-node": 3.271.0 - "@aws-sdk/util-endpoints": 3.271.0 - "@aws-sdk/util-retry": 3.271.0 - "@aws-sdk/util-user-agent-browser": 3.271.0 - "@aws-sdk/util-user-agent-node": 3.271.0 - "@aws-sdk/util-utf8": 3.254.0 - fast-xml-parser: 4.0.11 - tslib: ^2.3.1 - checksum: 69776bdf5250d4b5f59a0fd85a73d998ac7bbc07218322a8b3a89cc470b1e29804e9ba4167d3ee35fd009fc32c0d9aefe3b021c01706382b728df066defbb936 - languageName: node - linkType: hard - -"@aws-sdk/config-resolver@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/config-resolver@npm:3.271.0" - dependencies: - "@aws-sdk/signature-v4": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.271.0 - tslib: ^2.3.1 - checksum: 27b7a57a7c40b2579f49845d628c773c353b2d03c443d20d32ce101b584ebf4296cc5e8b3de5441ede2d01d47117f66251715f79082ff84b43a6f3375b9139d2 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-cognito-identity@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.271.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 3ab54cc0935f4c916abd850ae5e247c874ab27e4e07f326e9ce99266b539c7783526b48672dadaaf252de4f1f85d116ebd4080f0e159af0768231138c5cfcc56 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-env@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: d3eff98ca5fa7b18ea67be268e1bef7cecb7af4e7d8df3eb0240e059bb58ef69ec1b35cdb0de5ebe13115b648ea299cc8fdada013fa97d443a4f8940bbba753d - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-imds@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-imds@npm:3.271.0" - dependencies: - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - tslib: ^2.3.1 - checksum: 1d055739bd7cff2a65f8050e9bcdf10da4440a4e96a38a8ee0b753dbb80f3aa2201c0975c6ffa1ab053fc34a5db3f38c3a35e774c16c2b7cbf655f1f615baff1 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-ini@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.271.0" - dependencies: - "@aws-sdk/credential-provider-env": 3.271.0 - "@aws-sdk/credential-provider-imds": 3.271.0 - "@aws-sdk/credential-provider-process": 3.271.0 - "@aws-sdk/credential-provider-sso": 3.271.0 - "@aws-sdk/credential-provider-web-identity": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 55b6505407e760e735b7f0f7ba6037416fa2c99e15a5c81b5cdefedeca4ac9719635eb2e8cf68652aabb2bf50156cfc36e041c36684d56d8f1adf9b2619fb9fc - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-node@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.271.0" - dependencies: - "@aws-sdk/credential-provider-env": 3.271.0 - "@aws-sdk/credential-provider-imds": 3.271.0 - "@aws-sdk/credential-provider-ini": 3.271.0 - "@aws-sdk/credential-provider-process": 3.271.0 - "@aws-sdk/credential-provider-sso": 3.271.0 - "@aws-sdk/credential-provider-web-identity": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: c06efe5461c1671e73b8fa69b899d4d4d9451e3ecbc576fa96d21fb9d76d6598b254ab4f96b860b9ba2aca5870a1ea929b06d9405c1e2ab351ee23461fb953e1 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-process@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: d0516aa1b00c0fbab73625ed6aac4bc508d1ed9b73d82b7b6aa085b5d1382adcf19fc6ba7229c04fe650cb53fb1e3d887c82de5f723509059d502f4668d31e82 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-sso@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.271.0" - dependencies: - "@aws-sdk/client-sso": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/token-providers": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 43f4a9ee2a80dab259068060745b52e819e3068af2e572d5d2ed2ff9686c03e8b496c57ddb4a1d05946e8d3e11ed13492e4ddf21b667bf37e277f3f541514048 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-web-identity@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 7818fa9f26ce86429a8ffc319fe5d68d739d9e87b6f3046850dc727193326dbadf904d1f9bc8aeab8382f3ccda136ba87124557d2bff4ee55c415a2a4790dcc2 - languageName: node - linkType: hard - -"@aws-sdk/credential-providers@npm:^3.186.0": - version: 3.271.0 - resolution: "@aws-sdk/credential-providers@npm:3.271.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.271.0 - "@aws-sdk/client-sso": 3.271.0 - "@aws-sdk/client-sts": 3.271.0 - "@aws-sdk/credential-provider-cognito-identity": 3.271.0 - "@aws-sdk/credential-provider-env": 3.271.0 - "@aws-sdk/credential-provider-imds": 3.271.0 - "@aws-sdk/credential-provider-ini": 3.271.0 - "@aws-sdk/credential-provider-node": 3.271.0 - "@aws-sdk/credential-provider-process": 3.271.0 - "@aws-sdk/credential-provider-sso": 3.271.0 - "@aws-sdk/credential-provider-web-identity": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 0cf5145d70c8ed1322ca148ce76ef29783b1854cb834eee9ac2688f5a27022e5a16dc0cf998a81f6b1861a5fee80b1e8095616f574604705b6c24bef90f4feae - languageName: node - linkType: hard - -"@aws-sdk/fetch-http-handler@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/fetch-http-handler@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/querystring-builder": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-base64": 3.208.0 - tslib: ^2.3.1 - checksum: fea104afd834d9abc6249bb5c8e4ad3d7f2e9fabaffc90f4b3b14fe2ce59e295384497d99067a3c0d73d7bbbc881bbffc29a654fa92f35ae9e134717490dfbbb - languageName: node - linkType: hard - -"@aws-sdk/hash-node@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/hash-node@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-buffer-from": 3.208.0 - "@aws-sdk/util-utf8": 3.254.0 - tslib: ^2.3.1 - checksum: 5822cfc5c0b5153ba9b4cb372fcfae5cbd7f0556880f3b936b558a3e776ef7520518caca54a3ae7df77cfeec3b581e053afa3aeb6e4eaa668773246dd278ffb6 - languageName: node - linkType: hard - -"@aws-sdk/invalid-dependency@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/invalid-dependency@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: ce0a5a06b3a1f12e54820045240a9a1cc0a05e8af8e16524530aba96bddc791aef20bcb4583bb4b3b6f00225db0f1ad8a2238078f3f069c839c3482963c62db7 - languageName: node - linkType: hard - -"@aws-sdk/is-array-buffer@npm:3.201.0": - version: 3.201.0 - resolution: "@aws-sdk/is-array-buffer@npm:3.201.0" - dependencies: - tslib: ^2.3.1 - checksum: 295450b417a9ab0b734050afff6c53aaed8a33dccd3ede60bf67fdec21f675d14ab8edc24f4e1d12aa4e99f9ccaf794aaaaff270c296c1ee38f73ea7ba7f59ce - languageName: node - linkType: hard - -"@aws-sdk/middleware-content-length@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-content-length@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 1e863b40e232f5747fda58267b711e138629f51c6350f266383161852d5e5c294e7aafcad074704e2da59af845e88c8ff4f7c655412f15577164dc3d3ac12266 - languageName: node - linkType: hard - -"@aws-sdk/middleware-endpoint@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-endpoint@npm:3.271.0" - dependencies: - "@aws-sdk/middleware-serde": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/signature-v4": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/url-parser": 3.271.0 - "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.271.0 - tslib: ^2.3.1 - checksum: 304ea76fe00ed103dee88fbd47312bcb94c64bea39055ebc7016f20490f1eec238ac4c08d70b5fb5cd03ce40c1766dee61b8e4b920a073b8fc571c2665162e4a - languageName: node - linkType: hard - -"@aws-sdk/middleware-host-header@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: a9f0da6ec0f545dffb92a3515d4b116a58ca41b0262e4cbd8f6335cf56978d64c3f18360d3a6f9aef12c697a4b97b0bfd8b54c4b0abe411840e9a0d1abdb8cfc - languageName: node - linkType: hard - -"@aws-sdk/middleware-logger@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-logger@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: f977ba654168f36ccfb7568f112689637cfb054bfa85fc7284ce8dfacc3987a7f4ca2b21f6a6e2e77df6e139bc11150cf8c47ec1262ff55e0bfa147e29d0c85b - languageName: node - linkType: hard - -"@aws-sdk/middleware-recursion-detection@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 600e7e1dbba8504ffbf41dd6bade178053ef2bddd921a0d7782006100afcf99be0d686b270716d66d33ac40c2e61c9b7a1a7bc5c73d079d841df67ae3123d140 - languageName: node - linkType: hard - -"@aws-sdk/middleware-retry@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-retry@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/service-error-classification": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-middleware": 3.271.0 - "@aws-sdk/util-retry": 3.271.0 - tslib: ^2.3.1 - uuid: ^8.3.2 - checksum: 981d1e5e271a7e989e16bbfd61ae5b5c617ac459d16e6a20c306a92d0b3fe5254e9620f47d72fdd7435c73fe41957d80c5fb37b4fddd2906d71404460bc136e3 - languageName: node - linkType: hard - -"@aws-sdk/middleware-sdk-sts@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-sdk-sts@npm:3.271.0" - dependencies: - "@aws-sdk/middleware-signing": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/signature-v4": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 9fc44aa9a2b6e2727853aa4a60677c960078983097bc75f4cf94c06a1c17a2fe80e7a11804cc7288942c01c46e55f69171fa4ed02f2b74256e888344c0e58523 - languageName: node - linkType: hard - -"@aws-sdk/middleware-serde@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-serde@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 4d87afa1597d5e73d478511758cd4a9ff77c24cae30dba49a903c6ce19babc01a887bc84376f1d03466620674a1725a6a846e54e2d934bb8259c4f812d6ba05d - languageName: node - linkType: hard - -"@aws-sdk/middleware-signing@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-signing@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/signature-v4": 3.271.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-middleware": 3.271.0 - tslib: ^2.3.1 - checksum: 0ffda3e6f3fdcce27de69056758d200a4902f4df602530c033e8c30fe21657ea56284c66b59006ab099eb96e9ed1ae70578770eab7f0c0b149629caf09a840d1 - languageName: node - linkType: hard - -"@aws-sdk/middleware-stack@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-stack@npm:3.271.0" - dependencies: - tslib: ^2.3.1 - checksum: c7adf213e69e0c9789410e797c0f3fa1f0d054311c9c27bbae853a7616340fdf75b8b5ee3ca232958c0ff755ac7fdf51fedfff085eab512d64da6d60e8f70c6b - languageName: node - linkType: hard - -"@aws-sdk/middleware-user-agent@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.271.0" - dependencies: - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: f6588fd17724ef63919a7c2d8ad4468768bbfa0d854c247e48c0f7ae7e45915db64b5edf61e5570e31c4d9b863e9012ccf88a77186046cb92e8cbb24c5739ec0 - languageName: node - linkType: hard - -"@aws-sdk/node-config-provider@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/node-config-provider@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 1ecfd728b2a81126821df440f4aa7129d43986e68652d7e8add9cebae2de9c6c6cf98014735276707695af5947036fbedcf4dbc4ca051363ede2ba253513678b - languageName: node - linkType: hard - -"@aws-sdk/node-http-handler@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/node-http-handler@npm:3.271.0" - dependencies: - "@aws-sdk/abort-controller": 3.271.0 - "@aws-sdk/protocol-http": 3.271.0 - "@aws-sdk/querystring-builder": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: cef8bc9df63e784360ef10efcb7a67cab2cfd526380ea31e127dea09ffe5cc1b6827dc837ddfd8b9436abf66e23d35faa2a9c1c7f7b4f7dcb0373450a8bbc007 - languageName: node - linkType: hard - -"@aws-sdk/property-provider@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/property-provider@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: b3ae0e7ff3494089668f90af5f9ca195522cbe1ea9a387bd9fda7186c0c675e56a32ab673e213fcfed4397ccc4203b6ed592154b050a04d0292c02061dd9e87e - languageName: node - linkType: hard - -"@aws-sdk/protocol-http@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/protocol-http@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 51427c5f8c27bb9939b70ef2d64529f3e7a96da8fd4d9d185bfa0571f3c234153aac925b0a70b6dc77cdf29d721fcf48c96a250c4dd58689f424c9aa9abd5a71 - languageName: node - linkType: hard - -"@aws-sdk/querystring-builder@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/querystring-builder@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-uri-escape": 3.201.0 - tslib: ^2.3.1 - checksum: 025b5bd957ee8bd1d0a450cce55fde9a759507f65f5a9d87c3ba111e0c5d9e5386fff7f24b1591df367e6bdd35be068e49c3284b045706e8d2e286c61663396a - languageName: node - linkType: hard - -"@aws-sdk/querystring-parser@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/querystring-parser@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 1bb8954dc91da90b934bf118ee4c29c060a69b0f985e977cfd1a0fb851ba459fc4b1836038cb320b4f27a6d55268d7909180b4a8c244c90c9983bfb3ac22cb11 - languageName: node - linkType: hard - -"@aws-sdk/service-error-classification@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/service-error-classification@npm:3.271.0" - checksum: c75a340cb30c91015d1c5891f86fa78652aca91f6aa3c9d0133dfa074aed6144ec722dce296d3289dd472fc712a0ab24267278b2a13c3345043d46be128b56c8 - languageName: node - linkType: hard - -"@aws-sdk/shared-ini-file-loader@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/shared-ini-file-loader@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 0a559cd450ff32b3a506c21db76f8f0a20dc82f69b49ee492f0fa727444385fdff2dac627304e92e528425cd1ab3d41b452c7540fa26e064be9d8a6712ec3d55 - languageName: node - linkType: hard - -"@aws-sdk/signature-v4@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/signature-v4@npm:3.271.0" - dependencies: - "@aws-sdk/is-array-buffer": 3.201.0 - "@aws-sdk/types": 3.271.0 - "@aws-sdk/util-hex-encoding": 3.201.0 - "@aws-sdk/util-middleware": 3.271.0 - "@aws-sdk/util-uri-escape": 3.201.0 - "@aws-sdk/util-utf8": 3.254.0 - tslib: ^2.3.1 - checksum: 62dfd596829f096ef1c23b64124265b6adf6261b5e3bbd6b10c3b216755e822c78df4da376e801f15b056bd3c9113cea8aaa7eda042f55d2e3ea2bbc0e7b2172 - languageName: node - linkType: hard - -"@aws-sdk/smithy-client@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/smithy-client@npm:3.271.0" - dependencies: - "@aws-sdk/middleware-stack": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: bb17cd5a478bad8687b93f45605097060c1e15ba983eca0ccf26fe9c92beebc2cf7a3c2f32b4ba1e02973d69b37f30b56d67338e9d288c548718dbcf90744295 - languageName: node - linkType: hard - -"@aws-sdk/token-providers@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/token-providers@npm:3.271.0" - dependencies: - "@aws-sdk/client-sso-oidc": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/shared-ini-file-loader": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 8924eb4b1d857856415fe95b108aca627c467c74526662554a9e4bfcc3d145b5162dee3eb1701e09b8ceb3a57ffb8c0870532549cc4fb3b1d8cee29d3a99ebbb - languageName: node - linkType: hard - -"@aws-sdk/types@npm:3.271.0, @aws-sdk/types@npm:^3.222.0": - version: 3.271.0 - resolution: "@aws-sdk/types@npm:3.271.0" - dependencies: - tslib: ^2.3.1 - checksum: 02cdc37d8eec567c76735386084b5248c94b062acb2da75810259decb63e6187be0a0e845a24f5ec7a3c4cc54b4ff99780e72407508c0ce77aa206e1c6e24875 - languageName: node - linkType: hard - -"@aws-sdk/url-parser@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/url-parser@npm:3.271.0" - dependencies: - "@aws-sdk/querystring-parser": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: ee1ebf52053054e6b37b29a4c89ef131b34f6f4d615c082e0847e54ea0c307cd0bd4675e1132d167a6c833e7d33b842dff2eb70e1431a7c6881672341ee7ae94 - languageName: node - linkType: hard - -"@aws-sdk/util-base64@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-base64@npm:3.208.0" - dependencies: - "@aws-sdk/util-buffer-from": 3.208.0 - tslib: ^2.3.1 - checksum: 2ccab3453a3a3636f3f1397441574b3adb984e1ba3865030393108327ed7304cf80c9b31d69691e6aba85cfe6a611a881bbb724e544324240763bb4e96630ed9 - languageName: node - linkType: hard - -"@aws-sdk/util-body-length-browser@npm:3.188.0": - version: 3.188.0 - resolution: "@aws-sdk/util-body-length-browser@npm:3.188.0" - dependencies: - tslib: ^2.3.1 - checksum: 1b08bd1e63ec843ee336f51d894c49bf3c4c2f96e50d1711a12f7d0c5b6f7a15b490e366fec55b63e77036002994bac12927b29de2eb9ac91e4f152b1af78e58 - languageName: node - linkType: hard - -"@aws-sdk/util-body-length-node@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-body-length-node@npm:3.208.0" - dependencies: - tslib: ^2.3.1 - checksum: 986b42b358656dec4e75c231213331c4f01785f9ab17c8b87b6e268b6880818a96117f1785cef9786e6c0f7e2c1332c80e8388a43bfd83e8c7224ad059a72733 - languageName: node - linkType: hard - -"@aws-sdk/util-buffer-from@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-buffer-from@npm:3.208.0" - dependencies: - "@aws-sdk/is-array-buffer": 3.201.0 - tslib: ^2.3.1 - checksum: 00bfa4d4494d3a1eb128e19104994d1aca8b3802e9aa218cecafb1ed3ff2ecf5c946485e06aa97ae312458842b0f31a6484dc945232f7cb0e357ba341cb2e53e - languageName: node - linkType: hard - -"@aws-sdk/util-config-provider@npm:3.208.0": - version: 3.208.0 - resolution: "@aws-sdk/util-config-provider@npm:3.208.0" - dependencies: - tslib: ^2.3.1 - checksum: 97b0414b120b4eb53001f3ab2135ee94937e47bd7bd0d0de7c6a7e00a282eaa78cd84be2bfd3e389340f0c0b2f7ba60da9a403f084721970ee55b779ecf7a451 - languageName: node - linkType: hard - -"@aws-sdk/util-defaults-mode-browser@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.271.0" - dependencies: - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - bowser: ^2.11.0 - tslib: ^2.3.1 - checksum: a2ada9a707c748fc296fc6c4c79db5a65bd76483357defb0dfca178e04eac15db9ed7a8a0286716a39333f836effc12b5c0a2e63640ef8c65d8a8fa0ac3c0823 - languageName: node - linkType: hard - -"@aws-sdk/util-defaults-mode-node@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-defaults-mode-node@npm:3.271.0" - dependencies: - "@aws-sdk/config-resolver": 3.271.0 - "@aws-sdk/credential-provider-imds": 3.271.0 - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/property-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 02e69ba62c832c90b1d0864de4e79fdf41c473c3020c4e37cb309ecaee0886a09a0eb6a6a6811250f3341b6800f575d2a4e437b63857c3a0965e29d18b570b8d - languageName: node - linkType: hard - -"@aws-sdk/util-endpoints@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-endpoints@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - checksum: 8b0a7fc90a14deb8fbc136bb4bc517a94a2a15f77dec1970582425d3f807162d2b13c6d7eeacaedf73d90768d311986a53881e91c4642c3beae365f194d68409 - languageName: node - linkType: hard - -"@aws-sdk/util-hex-encoding@npm:3.201.0": - version: 3.201.0 - resolution: "@aws-sdk/util-hex-encoding@npm:3.201.0" - dependencies: - tslib: ^2.3.1 - checksum: a27f3365dfb1e6ece79ea34fd6e2c4540eb0084536d7300ff0ff42a7334ddf07f21958c6cfd0bbeb71361ee408e16deae2c82b7c7378b048b8e81a52c75f190a - languageName: node - linkType: hard - -"@aws-sdk/util-locate-window@npm:^3.0.0": - version: 3.208.0 - resolution: "@aws-sdk/util-locate-window@npm:3.208.0" - dependencies: - tslib: ^2.3.1 - checksum: 7518c110c4fa27c5e1d2d173647f1c58fc6ea244d25733c08ac441d3a2650b050ce06cecbe56b80a9997d514c9f7515b3c529c84c1e04b29aa0265d53af23c52 - languageName: node - linkType: hard - -"@aws-sdk/util-middleware@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-middleware@npm:3.271.0" - dependencies: - tslib: ^2.3.1 - checksum: db33d492c73cdf0b9de45dc275b81fbe16318e9d6a7c10e23f2d6e4a5a3ab85022ff0db599d15dfae0e9e6442e1ad954c8ae9a5c384fcbe747655a63c1b6928e - languageName: node - linkType: hard - -"@aws-sdk/util-retry@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-retry@npm:3.271.0" - dependencies: - "@aws-sdk/service-error-classification": 3.271.0 - tslib: ^2.3.1 - checksum: 9a8a2654e7923525a79ec1ad81676c8c8fd5063cc5d07d55faf00d66401077fb406de5101b902213217470b3d974d4cfeb9aa5e60460a8150f3036c88e407a3a - languageName: node - linkType: hard - -"@aws-sdk/util-uri-escape@npm:3.201.0": - version: 3.201.0 - resolution: "@aws-sdk/util-uri-escape@npm:3.201.0" - dependencies: - tslib: ^2.3.1 - checksum: 8bd751459eaab75a9b61801f3484cfa5c4e0133381ace6ec901cb9b92b1fee99beb4ef9c0f87ade59425a882ed3a280255d9b2fd8da6a6286e49efb9af8f0d55 - languageName: node - linkType: hard - -"@aws-sdk/util-user-agent-browser@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.271.0" - dependencies: - "@aws-sdk/types": 3.271.0 - bowser: ^2.11.0 - tslib: ^2.3.1 - checksum: 0d65d8af54e3150e54b96efe08aef98102a79ff0279565c1285681b3e0f387766e735198ef7734d11eb2730fda8f7d6a82bfef60cb27d6b3ac86548e7710c27f - languageName: node - linkType: hard - -"@aws-sdk/util-user-agent-node@npm:3.271.0": - version: 3.271.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.271.0" - dependencies: - "@aws-sdk/node-config-provider": 3.271.0 - "@aws-sdk/types": 3.271.0 - tslib: ^2.3.1 - peerDependencies: - aws-crt: ">=1.0.0" - peerDependenciesMeta: - aws-crt: - optional: true - checksum: 8130e188f3b6ae2d3276e9b66358fee5915cba31f4a557deff3907d126d79a806261f16cc6f5fe205333729501fb82feffbe6930d2572b25f194cc0a32080d33 - languageName: node - linkType: hard - -"@aws-sdk/util-utf8-browser@npm:^3.0.0": - version: 3.259.0 - resolution: "@aws-sdk/util-utf8-browser@npm:3.259.0" - dependencies: - tslib: ^2.3.1 - checksum: b6a1e580da1c9b62c749814182a7649a748ca4253edb4063aa521df97d25b76eae3359eb1680b86f71aac668e05cc05c514379bca39ebf4ba998ae4348412da8 - languageName: node - linkType: hard - -"@aws-sdk/util-utf8@npm:3.254.0": - version: 3.254.0 - resolution: "@aws-sdk/util-utf8@npm:3.254.0" - dependencies: - "@aws-sdk/util-buffer-from": 3.208.0 - tslib: ^2.3.1 - checksum: e5dfe7565f2de32245a544d1d715d803025bc5522538c0206fa61377f747804d95fc2e5e25976144bb63a6857e360b4286d101e730ab5d39866c60383a47e7d5 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": version: 7.18.6 resolution: "@babel/code-frame@npm:7.18.6" @@ -911,13 +41,13 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.22.10, @babel/code-frame@npm:^7.22.5": - version: 7.22.10 - resolution: "@babel/code-frame@npm:7.22.10" +"@babel/code-frame@npm:^7.22.13": + version: 7.22.13 + resolution: "@babel/code-frame@npm:7.22.13" dependencies: - "@babel/highlight": ^7.22.10 + "@babel/highlight": ^7.22.13 chalk: ^2.4.2 - checksum: 89a06534ad19759da6203a71bad120b1d7b2ddc016c8e07d4c56b35dea25e7396c6da60a754e8532a86733092b131ae7f661dbe6ba5d165ea777555daa2ed3c9 + checksum: 22e342c8077c8b77eeb11f554ecca2ba14153f707b85294fcf6070b6f6150aae88a7b7436dd88d8c9289970585f3fe5b9b941c5aa3aa26a6d5a8ef3f292da058 languageName: node linkType: hard @@ -958,26 +88,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.22.9": - version: 7.22.11 - resolution: "@babel/core@npm:7.22.11" +"@babel/core@npm:^7.22.20": + version: 7.23.0 + resolution: "@babel/core@npm:7.23.0" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.10 - "@babel/generator": ^7.22.10 - "@babel/helper-compilation-targets": ^7.22.10 - "@babel/helper-module-transforms": ^7.22.9 - "@babel/helpers": ^7.22.11 - "@babel/parser": ^7.22.11 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.11 - "@babel/types": ^7.22.11 - convert-source-map: ^1.7.0 + "@babel/code-frame": ^7.22.13 + "@babel/generator": ^7.23.0 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-module-transforms": ^7.23.0 + "@babel/helpers": ^7.23.0 + "@babel/parser": ^7.23.0 + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.0 + "@babel/types": ^7.23.0 + convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: f258b2539ea2e5bfe55a708c2f3e1093a1b4744f12becc35abeb896037b66210de9a8ad6296a706046d5dc3a24e564362b73a9b814e5bfe500c8baab60c22d2e + checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 languageName: node linkType: hard @@ -992,15 +122,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/generator@npm:7.22.10" +"@babel/generator@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/generator@npm:7.23.0" dependencies: - "@babel/types": ^7.22.10 + "@babel/types": ^7.23.0 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 59a79730abdff9070692834bd3af179e7a9413fa2ff7f83dff3eb888765aeaeb2bfc7b0238a49613ed56e1af05956eff303cc139f2407eda8df974813e486074 + checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 languageName: node linkType: hard @@ -1019,16 +149,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/helper-compilation-targets@npm:7.22.10" +"@babel/helper-compilation-targets@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 browserslist: ^4.21.9 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: f6f1896816392bcff671bbe6e277307729aee53befb4a66ea126e2a91eda78d819a70d06fa384c74ef46c1595544b94dca50bef6c78438d9ffd31776dafbd435 + checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 languageName: node linkType: hard @@ -1039,10 +169,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-environment-visitor@npm:7.22.5" - checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 languageName: node linkType: hard @@ -1056,13 +186,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" +"@babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a + "@babel/template": ^7.22.15 + "@babel/types": ^7.23.0 + checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 languageName: node linkType: hard @@ -1093,12 +223,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-imports@npm:7.22.5" +"@babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad + "@babel/types": ^7.22.15 + checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 languageName: node linkType: hard @@ -1118,18 +248,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-module-transforms@npm:7.22.9" +"@babel/helper-module-transforms@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-module-transforms@npm:7.23.0" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-simple-access": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 + checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 languageName: node linkType: hard @@ -1204,6 +334,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-identifier@npm:7.22.5" @@ -1218,10 +355,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-option@npm:7.22.5" - checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 +"@babel/helper-validator-option@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-validator-option@npm:7.22.15" + checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d languageName: node linkType: hard @@ -1236,14 +373,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/helpers@npm:7.22.11" +"@babel/helpers@npm:^7.23.0": + version: 7.23.1 + resolution: "@babel/helpers@npm:7.23.1" dependencies: - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.11 - "@babel/types": ^7.22.11 - checksum: 93186544228b5e371486466ec3b86a77cce91beeff24a5670ca8ec46d50328f7700dab82d532351286e9d68624dc51d6d71589b051dd9535e44be077a43ec013 + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.0 + "@babel/types": ^7.23.0 + checksum: acfc345102045c24ea2a4d60e00dcf8220e215af3add4520e2167700661338e6a80bd56baf44bb764af05ec6621101c9afc315dc107e18c61fa6da8acbdbb893 languageName: node linkType: hard @@ -1258,14 +395,14 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/highlight@npm:7.22.10" +"@babel/highlight@npm:^7.22.13": + version: 7.22.20 + resolution: "@babel/highlight@npm:7.22.20" dependencies: - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: f714a1e1a72dd9d72f6383f4f30fd342e21a8df32d984a4ea8f5eab691bb6ba6db2f8823d4b4cf135d98869e7a98925b81306aa32ee3c429f8cfa52c75889e1b + checksum: 84bd034dca309a5e680083cd827a766780ca63cef37308404f17653d32366ea76262bd2364b2d38776232f2d01b649f26721417d507e8b4b6da3e4e739f6d134 languageName: node linkType: hard @@ -1278,24 +415,24 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.11, @babel/parser@npm:^7.22.5": - version: 7.22.11 - resolution: "@babel/parser@npm:7.22.11" +"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/parser@npm:7.23.0" bin: parser: ./bin/babel-parser.js - checksum: 332079ed09794d3685343e9fc39c6a12dcb6ea589119f2135952cdef2424296786bb609a33f6dfa9be271797bbf8339f1865118418ea50b32a0c701734c96664 + checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 languageName: node linkType: hard -"@babel/plugin-proposal-explicit-resource-management@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.22.6" +"@babel/plugin-proposal-explicit-resource-management@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.23.0" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/plugin-syntax-explicit-resource-management": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 293f7d6b3fdae20dcd3328499797d1fe44675f0b23ae118bb696746966b3912ee8a488cfe86337ae159b2c1f06257bca06278417518a32354cf9ed3b6c920209 + checksum: 6bc612becb111ecc10fe558623858a70104935df8717eb284a90000f1d9c311c9ae4d11090a85857a114ab096e526d5a80e2fb73cf061992a036d6e68e543268 languageName: node linkType: hard @@ -1495,14 +632,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" +"@babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 + "@babel/code-frame": ^7.22.13 + "@babel/parser": ^7.22.15 + "@babel/types": ^7.22.15 + checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd languageName: node linkType: hard @@ -1524,21 +661,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/traverse@npm:7.22.11" +"@babel/traverse@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/traverse@npm:7.23.0" dependencies: - "@babel/code-frame": ^7.22.10 - "@babel/generator": ^7.22.10 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/code-frame": ^7.22.13 + "@babel/generator": ^7.23.0 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.11 - "@babel/types": ^7.22.11 + "@babel/parser": ^7.23.0 + "@babel/types": ^7.23.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 4ad62d548ca8b95dbf45bae16cc167428f174f3c837d55a5878b1f17bdbc8b384d6df741dc7c461b62c04d881cf25644d3ab885909ba46e3ac43224e2b15b504 + checksum: 0b17fae53269e1af2cd3edba00892bc2975ad5df9eea7b84815dab07dfec2928c451066d51bc65b4be61d8499e77db7e547ce69ef2a7b0eca3f96269cb43a0b0 languageName: node linkType: hard @@ -1553,7 +690,18 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.22.10, @babel/types@npm:^7.22.11, @babel/types@npm:^7.22.5": +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/types@npm:7.23.0" + dependencies: + "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 + to-fast-properties: ^2.0.0 + checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 + languageName: node + linkType: hard + +"@babel/types@npm:^7.22.5": version: 7.22.11 resolution: "@babel/types@npm:7.22.11" dependencies: @@ -1906,10 +1054,10 @@ __metadata: languageName: node linkType: hard -"@faker-js/faker@npm:^7.6.0": - version: 7.6.0 - resolution: "@faker-js/faker@npm:7.6.0" - checksum: 942af6221774e8c98a0eb6bc75265e05fb81a941170377666c3439aab9495dd321d6beedc5406f07e6ad44262b3e43c20961f666d116ad150b78e7437dd1bb2b +"@faker-js/faker@npm:^8.1.0": + version: 8.1.0 + resolution: "@faker-js/faker@npm:8.1.0" + checksum: 76036cbad2f0735fe2a2834bb3e16233e7c1aa4998cf90dbd097631465f3fcd4e7022c901f80b6de1c25b47154880f06916609a81dacb039a25f9cb000a3ab4e languageName: node linkType: hard @@ -2612,26 +1760,21 @@ __metadata: languageName: node linkType: hard -"@playwright/test@npm:^1.37.1": - version: 1.37.1 - resolution: "@playwright/test@npm:1.37.1" +"@playwright/test@npm:^1.38.1": + version: 1.38.1 + resolution: "@playwright/test@npm:1.38.1" dependencies: - "@types/node": "*" - fsevents: 2.3.2 - playwright-core: 1.37.1 - dependenciesMeta: - fsevents: - optional: true + playwright: 1.38.1 bin: playwright: cli.js - checksum: b7038f29000289103c08b215eff7aabdda70cdc1375fa7dad0e81651be71086a1e2fc0e0e29dc70348037c366cf0cc69f762373fda34ba1a74aa1658741d9195 + checksum: c5ec0b23261fe1ef163b6234f69263bc10e7e5a3fb676c7773ffc70b87459a7ab225f57c03b9de649475771638a04c2e00d9b2739304a4dcf5d3edf20a7a4a82 languageName: node linkType: hard -"@remix-run/router@npm:1.8.0": - version: 1.8.0 - resolution: "@remix-run/router@npm:1.8.0" - checksum: f754f02d3b4fc86791b88acf16065000609e2324b9436027844a76831c7107c0994067cb83abdd6093c282bd518a5c89b5e02aead585782978586e3a04534428 +"@remix-run/router@npm:1.9.0": + version: 1.9.0 + resolution: "@remix-run/router@npm:1.9.0" + checksum: 0537b0ff29879ac85077cb4c42eaca4a295b9efd71477848984c2f2dfa5741c9b83d3106a7bb72994a51a9adfeeab3b0f5a40f2dee8be3f0750feeeca2a6d513 languageName: node linkType: hard @@ -2702,25 +1845,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^8.5.0": - version: 8.20.0 - resolution: "@testing-library/dom@npm:8.20.0" - dependencies: - "@babel/code-frame": ^7.10.4 - "@babel/runtime": ^7.12.5 - "@types/aria-query": ^5.0.1 - aria-query: ^5.0.0 - chalk: ^4.1.0 - dom-accessibility-api: ^0.5.9 - lz-string: ^1.4.4 - pretty-format: ^27.0.2 - checksum: 1e599129a2fe91959ce80900a0a4897232b89e2a8e22c1f5950c36d39c97629ea86b4986b60b173b5525a05de33fde1e35836ea597b03de78cc51b122835c6f0 - languageName: node - linkType: hard - -"@testing-library/dom@npm:^9.3.1": - version: 9.3.1 - resolution: "@testing-library/dom@npm:9.3.1" +"@testing-library/dom@npm:^9.0.0, @testing-library/dom@npm:^9.3.3": + version: 9.3.3 + resolution: "@testing-library/dom@npm:9.3.3" dependencies: "@babel/code-frame": ^7.10.4 "@babel/runtime": ^7.12.5 @@ -2730,7 +1857,7 @@ __metadata: dom-accessibility-api: ^0.5.9 lz-string: ^1.5.0 pretty-format: ^27.0.2 - checksum: 8ee3136451644e39990edea93709c38cf1e8ce5306f3c66273ca00935963faa51ca74e8d92b02eb442ccb842cfa28ca62833e393e075eb269cf9bef6f5600663 + checksum: 34e0a564da7beb92aa9cc44a9080221e2412b1a132eb37be3d513fe6c58027674868deb9f86195756d98d15ba969a30fe00632a4e26e25df2a5a4f6ac0686e37 languageName: node linkType: hard @@ -2751,26 +1878,26 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:^13.4.0": - version: 13.4.0 - resolution: "@testing-library/react@npm:13.4.0" +"@testing-library/react@npm:^14.0.0": + version: 14.0.0 + resolution: "@testing-library/react@npm:14.0.0" dependencies: "@babel/runtime": ^7.12.5 - "@testing-library/dom": ^8.5.0 + "@testing-library/dom": ^9.0.0 "@types/react-dom": ^18.0.0 peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 51ec548c1fdb1271089a5c63e0908f0166f2c7fcd9cacd3108ebbe0ce64cb4351812d885892020dc37608418cfb15698514856502b3cab0e5cc58d6cc1bd4a3e + checksum: 4a54c8f56cc4a39b50803205f84f06280bb76521d6d5d4b3b36651d760c7c7752ef142d857d52aaf4fad4848ed7a8be49afc793a5dda105955d2f8bef24901ac languageName: node linkType: hard -"@testing-library/user-event@npm:^14.4.3": - version: 14.4.3 - resolution: "@testing-library/user-event@npm:14.4.3" +"@testing-library/user-event@npm:^14.5.1": + version: 14.5.1 + resolution: "@testing-library/user-event@npm:14.5.1" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: 852c48ea6db1c9471b18276617c84fec4320771e466cd58339a732ca3fd73ad35e5a43ae14f51af51a8d0a150dcf60fcaab049ef367871207bea8f92c4b8195e + checksum: 3e6bc9fd53dfe2f3648190193ed2fd4bca2a1bfb47f68810df3b33f05412526e5fd5c4ef9dc5375635e0f4cdf1859916867b597eed22bda1321e04242ea6c519 languageName: node linkType: hard @@ -2785,24 +1912,24 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/client@workspace:packages/client" dependencies: - "@babel/plugin-proposal-explicit-resource-management": ^7.22.6 + "@babel/plugin-proposal-explicit-resource-management": ^7.23.0 "@nirelko/jest-environment-jsdom": ^29.6.7 - "@testing-library/dom": ^9.3.1 + "@testing-library/dom": ^9.3.3 "@testing-library/jest-dom": ^5.17.0 - "@testing-library/react": ^13.4.0 - "@testing-library/user-event": ^14.4.3 + "@testing-library/react": ^14.0.0 + "@testing-library/user-event": ^14.5.1 "@ts-react-tdd/server": 1.0.0 - "@types/js-cookie": ^3.0.3 - "@types/react": ^18.2.21 - "@types/react-dom": ^18.2.7 - "@vitejs/plugin-react": ^4.0.4 - axios: ^0.27.2 + "@types/js-cookie": ^3.0.4 + "@types/react": ^18.2.23 + "@types/react-dom": ^18.2.8 + "@vitejs/plugin-react": ^4.1.0 + axios: ^1.5.1 fastify: ^4.23.2 nanoid: ^4.0.2 react: ^18.2.0 react-dom: ^18.2.0 react-query: ^3.39.3 - react-router-dom: ^6.15.0 + react-router-dom: ^6.16.0 typescript: ^5.2.2 vite: ^4.4.9 vite-plugin-html: ^3.2.0 @@ -2814,9 +1941,9 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/e2e@workspace:packages/e2e" dependencies: - "@playwright/test": ^1.37.1 + "@playwright/test": ^1.38.1 "@types/axios": ^0.14.0 - axios: ^1.4.0 + axios: ^1.5.1 typescript: ^5.2.2 languageName: unknown linkType: soft @@ -2825,21 +1952,20 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/server@workspace:packages/server" dependencies: - "@faker-js/faker": ^7.6.0 + "@faker-js/faker": ^8.1.0 "@fastify/cors": ^8.4.0 "@nestjs/common": ^10.3.7 "@nestjs/core": ^10.3.7 "@nestjs/platform-express": ^10.3.7 "@nestjs/testing": ^10.3.7 "@types/jest": ^28.1.8 - "@types/morgan": ^1.9.5 - "@types/node": ^17.0.45 + "@types/node": ^20.7.1 fastify: ^4.23.2 fastify-type-provider-zod: ^1.1.9 jest: ^28.1.3 - mongodb: ^4.17.1 + mongodb: ^6.1.0 nanoid: ^4.0.2 - nodemon: ^2.0.22 + nodemon: ^3.0.1 reflect-metadata: ^0.2.2 rxjs: ^7.8.1 ts-byob: ^1.0.3 @@ -2907,6 +2033,19 @@ __metadata: languageName: node linkType: hard +"@types/babel__core@npm:^7.20.2": + version: 7.20.2 + resolution: "@types/babel__core@npm:7.20.2" + dependencies: + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 564fbaa8ff1305d50807ada0ec227c3e7528bebb2f8fe6b2ed88db0735a31511a74ad18729679c43eeed8025ed29d408f53059289719e95ab1352ed559a100bd + languageName: node + linkType: hard + "@types/babel__generator@npm:*": version: 7.6.4 resolution: "@types/babel__generator@npm:7.6.4" @@ -2977,12 +2116,12 @@ __metadata: languageName: node linkType: hard -"@types/cookie-parser@npm:^1.4.3": - version: 1.4.3 - resolution: "@types/cookie-parser@npm:1.4.3" +"@types/cookie-parser@npm:^1.4.4": + version: 1.4.4 + resolution: "@types/cookie-parser@npm:1.4.4" dependencies: "@types/express": "*" - checksum: f390f3af1b1711190dee2c2ecd9af33af81fbde8d81ee820dadb6fe1e0d80c3faba40af37c6ed36fb88b04b64870f6a021f7e9edceecd17c42fe22abe0af5005 + checksum: 5c81ac4b7d90a567e0c7a904ecbc09c82c43e30c6b5b507aee5147bc06bc8c6418e6719d63fcf68e6a83c71870485ab3fc579a30891b56a0be05d64753e3f74a languageName: node linkType: hard @@ -3063,10 +2202,10 @@ __metadata: languageName: node linkType: hard -"@types/js-cookie@npm:^3.0.3": - version: 3.0.3 - resolution: "@types/js-cookie@npm:3.0.3" - checksum: 927254ec37ce4fbe4d9d54f53a446b4351259799d9933db5808ddb7c430396aa2496bdd0a4e47e1b56048ffbec98645cbd4daa9e3ed9a6fff55e25eb640fcb15 +"@types/js-cookie@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/js-cookie@npm:3.0.4" + checksum: 46ac93974776a256f3cedadf60b45ded4d905a5e69986882d8c17baa351cb2e81a691864a1f19c3ca90eaa2cb3eeb7cb5426416b487a7d54cf5ff278d39d7870 languageName: node linkType: hard @@ -3088,15 +2227,6 @@ __metadata: languageName: node linkType: hard -"@types/morgan@npm:^1.9.5": - version: 1.9.5 - resolution: "@types/morgan@npm:1.9.5" - dependencies: - "@types/node": "*" - checksum: f98deb4c7f2ad6049ad34ed7b0f0d427546bdf2358011070af9d597de1b0a03b38cc10cfe65ef2e7673e569c384303d949e76df701acefe288d547f614142973 - languageName: node - linkType: hard - "@types/node@npm:*": version: 18.13.0 resolution: "@types/node@npm:18.13.0" @@ -3104,10 +2234,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^17.0.45": - version: 17.0.45 - resolution: "@types/node@npm:17.0.45" - checksum: aa04366b9103b7d6cfd6b2ef64182e0eaa7d4462c3f817618486ea0422984c51fc69fd0d436eae6c9e696ddfdbec9ccaa27a917f7c2e8c75c5d57827fe3d95e8 +"@types/node@npm:^20.7.1": + version: 20.7.1 + resolution: "@types/node@npm:20.7.1" + checksum: 3140bd6c9130f1ed73a78ce7a1765ee43e155c1eea50eea45e18faeb31d11d97a84fffdc5e3a97582101d2f57d2652a50f510ede6c702780267bad74c822d56c languageName: node linkType: hard @@ -3148,12 +2278,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.7": - version: 18.2.7 - resolution: "@types/react-dom@npm:18.2.7" +"@types/react-dom@npm:^18.2.8": + version: 18.2.8 + resolution: "@types/react-dom@npm:18.2.8" dependencies: "@types/react": "*" - checksum: e02ea908289a7ad26053308248d2b87f6aeafd73d0e2de2a3d435947bcea0422599016ffd1c3e38ff36c42f5e1c87c7417f05b0a157e48649e4a02f21727d54f + checksum: d36264631028d021b73cd9e015f10b95c4959ae1ce8f7a7419f318d1f05b1d063e6afffcd2a349a6bccd64ccc9ee9d2d976e1f0437643f0e7db621fa035bca65 languageName: node linkType: hard @@ -3168,14 +2298,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.21": - version: 18.2.21 - resolution: "@types/react@npm:18.2.21" +"@types/react@npm:^18.2.23": + version: 18.2.23 + resolution: "@types/react@npm:18.2.23" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: ffed203bfe7aad772b8286f7953305c9181ac3a8f27d3f5400fbbc2a8e27ca8e5bbff818ee014f39ca0d19d2b3bb154e5bdbec7e232c6f80b59069375aa78349 + checksum: efb9d1ed1940c0e7ba08a21ffba5e266d8dbbb8fe618cfb97bc902dfc96385fdd8189e3f7f64b4aa13134f8e61947d60560deb23be151253c3a97b0d070897ca languageName: node linkType: hard @@ -3259,17 +2389,18 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.0.4": - version: 4.0.4 - resolution: "@vitejs/plugin-react@npm:4.0.4" +"@vitejs/plugin-react@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitejs/plugin-react@npm:4.1.0" dependencies: - "@babel/core": ^7.22.9 + "@babel/core": ^7.22.20 "@babel/plugin-transform-react-jsx-self": ^7.22.5 "@babel/plugin-transform-react-jsx-source": ^7.22.5 + "@types/babel__core": ^7.20.2 react-refresh: ^0.14.0 peerDependencies: vite: ^4.2.0 - checksum: ec25400dc7c5fce914122d1f57de0fbaff9216addb8cd6187308ad2c7a3d3b73ea3a6f2dd0a8c7ec5e90e56b37046fe90d3e0ec285a9446e73695cb174377f84 + checksum: 73dd403f5bca4f3f99f0bd3dcbb0cc0ecf88f758b886fb599711be744ca93f20adafe1af3574a998ac7cbd24aaf67ac7fe06983d87088cbdf535540ab402d496 languageName: node linkType: hard @@ -3637,24 +2768,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.27.2": - version: 0.27.2 - resolution: "axios@npm:0.27.2" - dependencies: - follow-redirects: ^1.14.9 - form-data: ^4.0.0 - checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854 - languageName: node - linkType: hard - -"axios@npm:^1.4.0": - version: 1.4.0 - resolution: "axios@npm:1.4.0" +"axios@npm:^1.5.1": + version: 1.5.1 + resolution: "axios@npm:1.5.1" dependencies: follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 7fb6a4313bae7f45e89d62c70a800913c303df653f19eafec88e56cea2e3821066b8409bc68be1930ecca80e861c52aa787659df0ffec6ad4d451c7816b9386b + checksum: 4444f06601f4ede154183767863d2b8e472b4a6bfc5253597ed6d21899887e1fd0ee2b3de792ac4f8459fe2e359d2aa07c216e45fd8b9e4e0688a6ebf48a5a8d languageName: node linkType: hard @@ -3789,13 +2910,6 @@ __metadata: languageName: node linkType: hard -"bowser@npm:^2.11.0": - version: 2.11.0 - resolution: "bowser@npm:2.11.0" - checksum: 29c3f01f22e703fa6644fc3b684307442df4240b6e10f6cfe1b61c6ca5721073189ca97cdeedb376081148c8518e33b1d818a57f781d70b0b70e1f31fb48814f - languageName: node - linkType: hard - "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -3886,12 +3000,10 @@ __metadata: languageName: node linkType: hard -"bson@npm:^4.7.2": - version: 4.7.2 - resolution: "bson@npm:4.7.2" - dependencies: - buffer: ^5.6.0 - checksum: f357d12c5679c8eb029a62e410ad40fb862b7b91f0fc12a3399fb3668e14aecaa63205ffeeee48735a01d393171743607dcd527eb8c058b6f2bd294079ee4125 +"bson@npm:^6.1.0": + version: 6.1.0 + resolution: "bson@npm:6.1.0" + checksum: 8250c8158c22d2a0ca0e7677c0cbef9fa6341c176382b835dbf4c7f8aebdfd74d530f7225c6f3b98ca78a68aab4f1ad3d2fad54160a98b3e6ed9823b80db2e48 languageName: node linkType: hard @@ -3902,16 +3014,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.6.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.1.13 - checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 - languageName: node - linkType: hard - "buffer@npm:^6.0.3": version: 6.0.3 resolution: "buffer@npm:6.0.3" @@ -4333,6 +3435,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 + languageName: node + linkType: hard + "cookie-parser@npm:^1.4.6": version: 1.4.6 resolution: "cookie-parser@npm:1.4.6" @@ -5301,17 +4410,6 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:4.0.11": - version: 4.0.11 - resolution: "fast-xml-parser@npm:4.0.11" - dependencies: - strnum: ^1.0.5 - bin: - fxparser: src/cli/cli.js - checksum: d8a08e4d5597e0fc00a86735195872eeb03008913e298830941516f3766e16ee555e2d431acc92e1dda887938edc445252ec5b59494aab60a8389888bd13719c - languageName: node - linkType: hard - "fastify-plugin@npm:^4.0.0": version: 4.5.1 resolution: "fastify-plugin@npm:4.5.1" @@ -5441,7 +4539,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0": +"follow-redirects@npm:^1.15.0": version: 1.15.2 resolution: "follow-redirects@npm:1.15.2" peerDependenciesMeta: @@ -5871,7 +4969,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": +"ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -7097,15 +6195,6 @@ __metadata: languageName: node linkType: hard -"lz-string@npm:^1.4.4": - version: 1.4.4 - resolution: "lz-string@npm:1.4.4" - bin: - lz-string: bin/bin.js - checksum: 54e31238a61a84d8f664d9860a9fba7310c5b97a52c444f80543069bc084815eff40b8d4474ae1d93992fdf6c252dca37cf27f6adbeb4dbc3df2f3ac773d0e61 - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -7434,21 +6523,37 @@ __metadata: languageName: node linkType: hard -"mongodb@npm:^4.17.1": - version: 4.17.1 - resolution: "mongodb@npm:4.17.1" +"mongodb@npm:^6.1.0": + version: 6.1.0 + resolution: "mongodb@npm:6.1.0" dependencies: - "@aws-sdk/credential-providers": ^3.186.0 "@mongodb-js/saslprep": ^1.1.0 - bson: ^4.7.2 + bson: ^6.1.0 mongodb-connection-string-url: ^2.6.0 + peerDependencies: + "@aws-sdk/credential-providers": ^3.188.0 + "@mongodb-js/zstd": ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: ">=6.0.0 <7" + snappy: ^7.2.2 socks: ^2.7.1 - dependenciesMeta: + peerDependenciesMeta: "@aws-sdk/credential-providers": optional: true - "@mongodb-js/saslprep": + "@mongodb-js/zstd": optional: true - checksum: e7f280570d0f23d60c308b2a484ed55762ec8e523946c0de1a0b3b398f24efcf1916a745e5407f32cd1c105b2f19d8ac75474c92f73cdf651affe3430a963f54 + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + checksum: ed60c14f0a7e2e9088ba58f29b0425bc5c00d81e3f692938e3bb887b2fdbb411935e845a8bab3faa7609e6e52e94b9705cf60fac61684d21b8bc92a5c3938964 languageName: node linkType: hard @@ -7604,23 +6709,23 @@ __metadata: languageName: node linkType: hard -"nodemon@npm:^2.0.22": - version: 2.0.22 - resolution: "nodemon@npm:2.0.22" +"nodemon@npm:^3.0.1": + version: 3.0.1 + resolution: "nodemon@npm:3.0.1" dependencies: chokidar: ^3.5.2 debug: ^3.2.7 ignore-by-default: ^1.0.1 minimatch: ^3.1.2 pstree.remy: ^1.1.8 - semver: ^5.7.1 - simple-update-notifier: ^1.0.7 + semver: ^7.5.3 + simple-update-notifier: ^2.0.0 supports-color: ^5.5.0 touch: ^3.1.0 undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 9c987e139748f5b5c480c6c9080bdc97304ee7d29172b7b3da1a7db590b1323ad57b96346304e9b522b0e445c336dc393ccd3f9f45c73b20d476d2347890dcd0 + checksum: 6a5d81855760d6617049eccce10ccf02bddb482dab13ceea5280ae595ec7004eee13e7b934368e3f46c37fe4d970342a8c38c99cae7e93e4d7a3ed1c1ecb6acf languageName: node linkType: hard @@ -8053,12 +7158,27 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.37.1": - version: 1.37.1 - resolution: "playwright-core@npm:1.37.1" +"playwright-core@npm:1.38.1": + version: 1.38.1 + resolution: "playwright-core@npm:1.38.1" bin: playwright-core: cli.js - checksum: 69f818da2230057584140d5b3af7778a4f4a822b5b18d133abfc5d259128becb943c343a2ddf6b0635277a69f28983e83e2bc3fce23595ececb1e410475b6368 + checksum: 66e83fe040f309b13ad94ba39dea40ac207bfcbbc22de13141af88dbdedd64e1c4e3ce1d0cb070d4efd8050d7e579953ec3681dd8a0acf2c1cc738d9c50e545e + languageName: node + linkType: hard + +"playwright@npm:1.38.1": + version: 1.38.1 + resolution: "playwright@npm:1.38.1" + dependencies: + fsevents: 2.3.2 + playwright-core: 1.38.1 + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 4e01d4ee52d9ccf75a80d8492829106802590721d56bff7c5957ff1f21eb3c328ee5bc3c1784a59c4b515df1b98d08ef92e4a35a807f454cd00dc481d30fadc2 languageName: node linkType: hard @@ -8322,27 +7442,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.15.0": - version: 6.15.0 - resolution: "react-router-dom@npm:6.15.0" +"react-router-dom@npm:^6.16.0": + version: 6.16.0 + resolution: "react-router-dom@npm:6.16.0" dependencies: - "@remix-run/router": 1.8.0 - react-router: 6.15.0 + "@remix-run/router": 1.9.0 + react-router: 6.16.0 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 95301837e293654f00934de6a4bdb27bfb06f613503e4cce7a93f19384793729832e7479d50faf3b9457d149014d4df40a3ee3a5193d7e3a3caadb7aaa6ec0f9 + checksum: 18b398924bb0f0d97cf2f71dab71d860b960a7a267b2f77388990c662bb6d8738bdc3042d92f713fd63d269ae9ad90df39c8e97661b6ba758bbb7386b9f20ae0 languageName: node linkType: hard -"react-router@npm:6.15.0": - version: 6.15.0 - resolution: "react-router@npm:6.15.0" +"react-router@npm:6.16.0": + version: 6.16.0 + resolution: "react-router@npm:6.16.0" dependencies: - "@remix-run/router": 1.8.0 + "@remix-run/router": 1.9.0 peerDependencies: react: ">=16.8" - checksum: 345b29277e13997f2625f0037f537eaf1955bb9f44ebfea80dd3ff83fc06273f7b64e1be944bfc75945fd2af5af917874133a8a93ed5ecaca523be8f045ae166 + checksum: b31c187e3fdcdf7294ffdad6ff834e14d012840c94d8ee8c7fbe451062a8fcb6e31e8bc7827fb1ff45445dd40fad2b8c96a7e98f0ac1c3eb1d716c257a0821c9 languageName: node linkType: hard @@ -8600,7 +7720,7 @@ __metadata: version: 0.0.0-use.local resolution: "root@workspace:." dependencies: - "@types/cookie-parser": ^1.4.3 + "@types/cookie-parser": ^1.4.4 cookie-parser: ^1.4.6 jsdom: ^21.1.2 winston: ^3.10.0 @@ -8705,15 +7825,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.7.1": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf - languageName: node - linkType: hard - "semver@npm:^6.0.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" @@ -8732,7 +7843,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.0": +"semver@npm:^7.5.0, semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -8743,15 +7854,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:~7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" - bin: - semver: bin/semver.js - checksum: 272c11bf8d083274ef79fe40a81c55c184dff84dd58e3c325299d0927ba48cece1f020793d138382b85f89bab5002a35a5ba59a3a68a7eebbb597eb733838778 - languageName: node - linkType: hard - "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -8856,12 +7958,12 @@ __metadata: languageName: node linkType: hard -"simple-update-notifier@npm:^1.0.7": - version: 1.1.0 - resolution: "simple-update-notifier@npm:1.1.0" +"simple-update-notifier@npm:^2.0.0": + version: 2.0.0 + resolution: "simple-update-notifier@npm:2.0.0" dependencies: - semver: ~7.0.0 - checksum: 1012e9b6c504e559a948078177b3eedbb9d7e4d15878e2bda56314d08db609ca5da485be4ac9f838759faae8057935ee0246fcdf63f1233c86bd9fecb2a5544b + semver: ^7.5.3 + checksum: 9ba00d38ce6a29682f64a46213834e4eb01634c2f52c813a9a7b8873ca49cdbb703696f3290f3b27dc067de6d9418b0b84bef22c3eb074acf352529b2d6c27fd languageName: node linkType: hard @@ -8897,7 +7999,7 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.6.2, socks@npm:^2.7.1": +"socks@npm:^2.6.2": version: 2.7.1 resolution: "socks@npm:2.7.1" dependencies: @@ -9122,13 +8224,6 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^1.0.5": - version: 1.0.5 - resolution: "strnum@npm:1.0.5" - checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -9443,14 +8538,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.11.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd - languageName: node - linkType: hard - -"tslib@npm:^2.0.3, tslib@npm:^2.3.1": +"tslib@npm:^2.0.3": version: 2.5.0 resolution: "tslib@npm:2.5.0" checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1 @@ -9650,15 +8738,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df - languageName: node - linkType: hard - "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" From e4ee616cd9e258c93063fd2f50944e96a851b889 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Fri, 19 Apr 2024 08:35:56 +0300 Subject: [PATCH 06/24] fixed import bug --- packages/client/src/adapters/harness.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index e09185e..84dee58 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -1,5 +1,5 @@ import {render, within} from "@testing-library/react"; -import {createTestingModule} from "packages/server/src/server.testkit"; +import {createTestingModule} from "@ts-react-tdd/server/src/server.testkit"; import {QueryClient, QueryClientProvider} from "react-query"; import {MemoryRouter} from "react-router-dom"; import {App} from "../components/App"; From a3dbff93183b8a488c9389db8739fa00d914cf82 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Sun, 12 May 2024 09:20:23 +0300 Subject: [PATCH 07/24] added two other varieties of module registration --- packages/server/src/adapters/memory.module.ts | 30 ++++++++++ .../server/src/adapters/mongodb.module.ts | 42 +++++++++++++ packages/server/src/adapters/order.repo.ts | 4 +- packages/server/src/adapters/product.repo.ts | 4 +- .../src/{app.module.ts => app.module.ioc.ts} | 4 +- packages/server/src/app.module.overrides.ts | 11 ++++ packages/server/src/app.module.register.ts | 14 +++++ packages/server/src/index.ts | 27 +++++++-- packages/server/src/server.testkit.ts | 59 +++++++++++++++++-- yarn.lock | 11 +++- 10 files changed, 191 insertions(+), 15 deletions(-) create mode 100644 packages/server/src/adapters/memory.module.ts create mode 100644 packages/server/src/adapters/mongodb.module.ts rename packages/server/src/{app.module.ts => app.module.ioc.ts} (91%) create mode 100644 packages/server/src/app.module.overrides.ts create mode 100644 packages/server/src/app.module.register.ts diff --git a/packages/server/src/adapters/memory.module.ts b/packages/server/src/adapters/memory.module.ts new file mode 100644 index 0000000..77c96bb --- /dev/null +++ b/packages/server/src/adapters/memory.module.ts @@ -0,0 +1,30 @@ +import {DynamicModule} from "@nestjs/common"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./index"; +import {MemoryCartRepository} from "./cart.repo"; +import {InMemoryOrderRepository, InMemoryProductRepository} from "./fake"; +import {ProductTemplate} from "../types"; + + +export class MemoryModule { + static forTests(products: ProductTemplate[]): DynamicModule { + return { + module: MemoryModule, + providers: [ + + { + provide: PRODUCT_REPO, + useValue: new InMemoryProductRepository(products) + }, + { + provide: ORDER_REPO, + useClass: InMemoryOrderRepository, + }, + { + provide: CART_REPO, + useClass: MemoryCartRepository, + } + ], + exports: [PRODUCT_REPO, ORDER_REPO, CART_REPO] + } + } +} \ No newline at end of file diff --git a/packages/server/src/adapters/mongodb.module.ts b/packages/server/src/adapters/mongodb.module.ts new file mode 100644 index 0000000..4e117d8 --- /dev/null +++ b/packages/server/src/adapters/mongodb.module.ts @@ -0,0 +1,42 @@ +import {MongoClient} from "mongodb"; +import {DynamicModule} from "@nestjs/common"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./index"; +import {MongoDBProductRepository} from "./product.repo"; +import {MongoDBOrderRepository} from "./order.repo"; +import {MemoryCartRepository} from "./cart.repo"; + +export class MongoDBModule { + static forRoot(uri: string): DynamicModule { + + return { + module: MongoDBModule, + providers: [ + { + provide: "storeDB", + useFactory: async () => { + const mongo = await new MongoClient(uri, { + connectTimeoutMS: 100, + serverSelectionTimeoutMS: 100, + socketTimeoutMS: 100 + }).connect(); + + return mongo.db("store"); + }, + }, + { + provide: PRODUCT_REPO, + useClass: MongoDBProductRepository + }, + { + provide: ORDER_REPO, + useClass: MongoDBOrderRepository, + }, + { + provide: CART_REPO, + useClass: MemoryCartRepository, + } + ], + exports: [PRODUCT_REPO, ORDER_REPO, CART_REPO] + } + } +} \ No newline at end of file diff --git a/packages/server/src/adapters/order.repo.ts b/packages/server/src/adapters/order.repo.ts index 5af2db5..662f362 100644 --- a/packages/server/src/adapters/order.repo.ts +++ b/packages/server/src/adapters/order.repo.ts @@ -1,6 +1,6 @@ import { Collection, Db, ObjectId, WithId } from "mongodb"; import { Order } from "../types"; -import {Injectable} from "@nestjs/common"; +import {Inject, Injectable} from "@nestjs/common"; type MongoOrder = Omit; const docToOrder = ({_id, ...rest}: WithId) => Order.parse({id: _id.toString(), ...rest}); @@ -9,7 +9,7 @@ const docToOrder = ({_id, ...rest}: WithId) => Order.parse({id: _id. export class MongoDBOrderRepository { private orders: Collection; - constructor(db: Db) { + constructor(@Inject("storeDB") db: Db) { this.orders = db.collection("orders"); } diff --git a/packages/server/src/adapters/product.repo.ts b/packages/server/src/adapters/product.repo.ts index b4d02b2..9225974 100644 --- a/packages/server/src/adapters/product.repo.ts +++ b/packages/server/src/adapters/product.repo.ts @@ -1,6 +1,6 @@ import { Collection, Db, ObjectId, WithId } from "mongodb"; import { Product, ProductTemplate } from "../types"; -import {Injectable} from "@nestjs/common"; +import {Inject, Injectable} from "@nestjs/common"; const docToProduct = ({_id, ...rest}: WithId) => Product.parse({id: _id.toString(), ...rest}); @@ -8,7 +8,7 @@ const docToProduct = ({_id, ...rest}: WithId) => Product.parse( export class MongoDBProductRepository { private products: Collection; - constructor(db: Db) { + constructor(@Inject("storeDB") db: Db) { this.products = db.collection("products"); } diff --git a/packages/server/src/app.module.ts b/packages/server/src/app.module.ioc.ts similarity index 91% rename from packages/server/src/app.module.ts rename to packages/server/src/app.module.ioc.ts index 91cc5e9..67890e6 100644 --- a/packages/server/src/app.module.ts +++ b/packages/server/src/app.module.ioc.ts @@ -6,10 +6,10 @@ import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; import {MemoryCartRepository} from "./adapters/cart.repo"; @Module({}) -export class AppModule { +export class AppModuleInversionOfControl { static register(productRepo: ProductRepository, orderRepo: OrderRepository): DynamicModule { return { - module: AppModule, + module: AppModuleInversionOfControl, providers: [ { provide: PRODUCT_REPO, diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts new file mode 100644 index 0000000..2c5df8f --- /dev/null +++ b/packages/server/src/app.module.overrides.ts @@ -0,0 +1,11 @@ +import { Module} from "@nestjs/common"; +import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; +import {MongoDBModule} from "./adapters/mongodb.module"; + +@Module({ + imports: [MongoDBModule.forRoot(`mongodb://root:password@127.0.0.1`)], + controllers: [CartController, ProductController, OrderController, CheckoutController] +}) +export class AppModuleOverrides { + +} \ No newline at end of file diff --git a/packages/server/src/app.module.register.ts b/packages/server/src/app.module.register.ts new file mode 100644 index 0000000..df3cf24 --- /dev/null +++ b/packages/server/src/app.module.register.ts @@ -0,0 +1,14 @@ +import {DynamicModule, Module} from "@nestjs/common"; +import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; + + +@Module({}) +export class AppModuleWithRegister { + static register(adapters: DynamicModule) { + return { + imports: [adapters], + controllers: [CartController, ProductController, OrderController, CheckoutController], + module: AppModuleWithRegister + } + } +} \ No newline at end of file diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 68e0720..c9f39b8 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -2,9 +2,13 @@ import { MongoClient } from "mongodb"; import { MongoDBOrderRepository } from "./adapters/order.repo"; import { MongoDBProductRepository } from "./adapters/product.repo"; import {NestFactory} from "@nestjs/core"; -import {AppModule} from "./app.module"; +import {AppModuleInversionOfControl} from "./app.module.ioc"; +import {AppModuleOverrides} from "./app.module.overrides"; +import {AppModuleWithRegister} from "./app.module.register"; +import {MongoDBModule} from "./adapters/mongodb.module"; -async function startServer() { +// @ts-ignore +async function startServerIoC() { const mongo = await new MongoClient( `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` ).connect(); @@ -13,11 +17,26 @@ async function startServer() { const productRepo = new MongoDBProductRepository(db); const orderRepo = new MongoDBOrderRepository(db); - const app = await NestFactory.create(AppModule.register(productRepo, orderRepo)) + const app = await NestFactory.create(AppModuleInversionOfControl.register(productRepo, orderRepo)) app.enableCors({origin: "*"}); await app.listen(8080); } -void startServer(); +// @ts-ignore +async function startServerOverrides() { + const app = await NestFactory.create(AppModuleOverrides) + app.enableCors({origin: "*"}); + await app.listen(8080); +} + +async function startServerRegister() { + const app = await NestFactory.create(AppModuleWithRegister.register( + MongoDBModule.forRoot(`mongodb://root:password@127.0.0.1`) + )); + app.enableCors({origin: "*"}); + await app.listen(8080); +} + +void startServerRegister(); diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index 6ec34a0..8301106 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -1,12 +1,18 @@ import {ProductTemplate} from "./types"; import {Test} from "@nestjs/testing"; import {InMemoryOrderRepository, InMemoryProductRepository} from "./adapters/fake"; -import {AppModule} from "./app.module"; -export async function createTestingModule(products: ProductTemplate[] = []) { +import {AppModuleInversionOfControl} from "./app.module.ioc"; +import {AppModuleOverrides} from "./app.module.overrides"; +import {ORDER_REPO, PRODUCT_REPO} from "./adapters"; +import {MongoDBModule} from "./adapters/mongodb.module"; +import {Module} from "@nestjs/common"; +import {AppModuleWithRegister} from "./app.module.register"; +import {MemoryModule} from "./adapters/memory.module"; +export async function createTestingModuleWithIoC(products: ProductTemplate[] = []) { const productRepo = new InMemoryProductRepository(products); const orderRepo = new InMemoryOrderRepository(); const testingModule = await Test.createTestingModule({ - imports: [AppModule.register(productRepo, orderRepo)], + imports: [AppModuleInversionOfControl.register(productRepo, orderRepo)], }) .compile(); @@ -14,4 +20,49 @@ export async function createTestingModule(products: ProductTemplate[] = []) { nest.enableCors({origin: "*"}); await nest.init(); return {nest, orderRepo, productRepo}; -} \ No newline at end of file +} + +export async function createTestingModuleWithOverrides(products: ProductTemplate[] = []) { + const productRepo = new InMemoryProductRepository(products); + const orderRepo = new InMemoryOrderRepository(); + const testingModule = await Test.createTestingModule({ + imports: [AppModuleOverrides], + }) + .overrideModule(MongoDBModule).useModule(NopModule) // this doesn't actually do anything, MongoDB needs to be available for connection even though we don't use it + .overrideProvider(PRODUCT_REPO).useValue(productRepo) + .overrideProvider(ORDER_REPO).useValue(orderRepo) + .compile(); + + const nest = testingModule.createNestApplication(); + nest.enableCors({origin: "*"}); + await nest.init(); + return {nest, orderRepo, productRepo}; +} + +export async function createTestingModuleWithRegister(products: ProductTemplate[] = []) { + + const testingModule = await Test.createTestingModule({ + imports: [AppModuleWithRegister.register(MemoryModule.forTests(products))], + }) + .compile(); + + const productRepo: InMemoryProductRepository = testingModule.get(PRODUCT_REPO); + const orderRepo: InMemoryOrderRepository = testingModule.get(ORDER_REPO); + + const nest = testingModule.createNestApplication(); + nest.enableCors({origin: "*"}); + await nest.init(); + return {nest, orderRepo, productRepo}; +} + +// export const createTestingModule = createTestingModuleWithOverrides; +// export const createTestingModule = createTestingModuleWithIoC; +export const createTestingModule = createTestingModuleWithRegister; + +@Module({ + providers: [{ + provide: "storeDB", + useValue: null + }], +}) +class NopModule{} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 903f513..6be5c66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,7 +1964,7 @@ __metadata: fastify-type-provider-zod: ^1.1.9 jest: ^28.1.3 mongodb: ^6.1.0 - nanoid: ^4.0.2 + nanoid: ^3.3.7 nodemon: ^3.0.1 reflect-metadata: ^0.2.2 rxjs: ^7.8.1 @@ -6611,6 +6611,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 + languageName: node + linkType: hard + "nanoid@npm:^4.0.2": version: 4.0.2 resolution: "nanoid@npm:4.0.2" From d1ec2d40dae3d457e0eac4e8825a26e03c3eea73 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Thu, 16 May 2024 13:12:31 +0300 Subject: [PATCH 08/24] some more examples --- package.json | 1 + packages/server/package.json | 3 +- .../server/src/adapters/mongodb.module.ts | 19 +- packages/server/src/controllers.ts | 28 +- packages/server/src/index.ts | 56 ++-- packages/server/src/zodValidationPipe.ts | 15 + packages/server/test/purchase.system.spec.ts | 46 +++ yarn.lock | 296 +++++++++++++++++- 8 files changed, 405 insertions(+), 59 deletions(-) create mode 100644 packages/server/src/zodValidationPipe.ts create mode 100644 packages/server/test/purchase.system.spec.ts diff --git a/package.json b/package.json index db11d0f..bbf2df7 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "jsdom": "^24.1.0" }, "dependencies": { + "@nestjs/config": "^3.2.2", "winston": "^3.13.0" } } diff --git a/packages/server/package.json b/packages/server/package.json index 84648a5..061ebae 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -13,7 +13,8 @@ "license": "ISC", "devDependencies": { "@nestjs/testing": "^10.3.7", - "@types/jest": "^28.1.8", + "@types/supertest": "^6.0.2", + "supertest": "^7.0.0", "@types/morgan": "^1.9.5", "@faker-js/faker": "^8.4.1", "@types/node": "^20.12.12", diff --git a/packages/server/src/adapters/mongodb.module.ts b/packages/server/src/adapters/mongodb.module.ts index 4e117d8..da534f0 100644 --- a/packages/server/src/adapters/mongodb.module.ts +++ b/packages/server/src/adapters/mongodb.module.ts @@ -1,12 +1,17 @@ -import {MongoClient} from "mongodb"; +import {MongoClient, MongoClientOptions} from "mongodb"; import {DynamicModule} from "@nestjs/common"; import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./index"; import {MongoDBProductRepository} from "./product.repo"; import {MongoDBOrderRepository} from "./order.repo"; import {MemoryCartRepository} from "./cart.repo"; +type Config = { + uri: string; + dbName: string; +} & Pick + export class MongoDBModule { - static forRoot(uri: string): DynamicModule { + static forRoot({uri, dbName, ...config}: Config): DynamicModule { return { module: MongoDBModule, @@ -14,13 +19,9 @@ export class MongoDBModule { { provide: "storeDB", useFactory: async () => { - const mongo = await new MongoClient(uri, { - connectTimeoutMS: 100, - serverSelectionTimeoutMS: 100, - socketTimeoutMS: 100 - }).connect(); + const mongo = await new MongoClient(uri, config).connect(); - return mongo.db("store"); + return mongo.db(dbName); }, }, { @@ -39,4 +40,4 @@ export class MongoDBModule { exports: [PRODUCT_REPO, ORDER_REPO, CART_REPO] } } -} \ No newline at end of file +} diff --git a/packages/server/src/controllers.ts b/packages/server/src/controllers.ts index 364cedb..b527b01 100644 --- a/packages/server/src/controllers.ts +++ b/packages/server/src/controllers.ts @@ -1,32 +1,10 @@ -import { - ArgumentMetadata, - BadRequestException, - Body, - Controller, - Get, Inject, - Param, - PipeTransform, - Post, - UsePipes -} from '@nestjs/common'; -import { ZodSchema} from 'zod'; -import { ProductRepository } from './adapters/product.repo'; +import {BadRequestException, Body, Controller, Get, Inject, Param, Post, UsePipes} from '@nestjs/common'; +import {ProductRepository} from './adapters/product.repo'; import {ProductTemplate} from "./types"; import {OrderRepository} from "./adapters/order.repo"; import {CartRepository} from "./adapters/cart.repo"; import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; - -export class ZodValidationPipe implements PipeTransform { - constructor(private schema: ZodSchema) {} - - transform(value: unknown, metadata: ArgumentMetadata) { - try { - return this.schema.parse(value); - } catch (error) { - throw new BadRequestException(`failed parsing value ${value} into type ${metadata.type} with ${error}`); - } - } -} +import {ZodValidationPipe} from "./zodValidationPipe"; @Controller("/products") export class ProductController { diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index c9f39b8..71c9a5d 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -1,40 +1,56 @@ -import { MongoClient } from "mongodb"; -import { MongoDBOrderRepository } from "./adapters/order.repo"; -import { MongoDBProductRepository } from "./adapters/product.repo"; +import {MongoClient} from "mongodb"; +import {MongoDBOrderRepository} from "./adapters/order.repo"; +import {MongoDBProductRepository} from "./adapters/product.repo"; import {NestFactory} from "@nestjs/core"; import {AppModuleInversionOfControl} from "./app.module.ioc"; import {AppModuleOverrides} from "./app.module.overrides"; import {AppModuleWithRegister} from "./app.module.register"; import {MongoDBModule} from "./adapters/mongodb.module"; +import {z} from "zod"; + +const EnvConfig = z.object({ + MONGO_URI: z.string().default('mongodb://root:password@127.0.0.1'), + MONGO_DB: z.string().default('store'), + MONGO_CONNECT_TIMEOUT: z.number().default(100), + MONGO_SOCKET_TIMEOUT: z.number().default(100), + MONGO_SERVER_SELECTION_TIMEOUT: z.number().default(100), +}).transform((input) => ({ + uri: input.MONGO_URI, + dbName: input.MONGO_DB, + connectTimeoutMS: input.MONGO_CONNECT_TIMEOUT, + socketTimeoutMS: input.MONGO_SOCKET_TIMEOUT, + serverSelectionTimeoutMS: input.MONGO_SERVER_SELECTION_TIMEOUT, +})); // @ts-ignore async function startServerIoC() { - const mongo = await new MongoClient( - `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` - ).connect(); + const mongo = await new MongoClient( + `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` + ).connect(); - const db = mongo.db("store"); - const productRepo = new MongoDBProductRepository(db); - const orderRepo = new MongoDBOrderRepository(db); + const db = mongo.db("store"); + const productRepo = new MongoDBProductRepository(db); + const orderRepo = new MongoDBOrderRepository(db); - const app = await NestFactory.create(AppModuleInversionOfControl.register(productRepo, orderRepo)) - app.enableCors({origin: "*"}); - await app.listen(8080); + const app = await NestFactory.create(AppModuleInversionOfControl.register(productRepo, orderRepo)) + app.enableCors({origin: "*"}); + await app.listen(8080); } // @ts-ignore async function startServerOverrides() { - const app = await NestFactory.create(AppModuleOverrides) - app.enableCors({origin: "*"}); - await app.listen(8080); + const app = await NestFactory.create(AppModuleOverrides) + app.enableCors({origin: "*"}); + await app.listen(8080); } async function startServerRegister() { - const app = await NestFactory.create(AppModuleWithRegister.register( - MongoDBModule.forRoot(`mongodb://root:password@127.0.0.1`) - )); - app.enableCors({origin: "*"}); - await app.listen(8080); + const config = EnvConfig.parse(process.env); + const app = await NestFactory.create(AppModuleWithRegister.register( + MongoDBModule.forRoot(config) + )); + app.enableCors({origin: "*"}); + await app.listen(8080); } void startServerRegister(); diff --git a/packages/server/src/zodValidationPipe.ts b/packages/server/src/zodValidationPipe.ts new file mode 100644 index 0000000..1ae16e6 --- /dev/null +++ b/packages/server/src/zodValidationPipe.ts @@ -0,0 +1,15 @@ +import {ArgumentMetadata, BadRequestException, PipeTransform} from "@nestjs/common"; +import {ZodSchema} from "zod"; + +export class ZodValidationPipe implements PipeTransform { + constructor(private schema: ZodSchema) { + } + + transform(value: unknown, {type}: ArgumentMetadata) { + try { + return this.schema.parse(value); + } catch (error) { + throw new BadRequestException(`failed parsing value ${value} into type ${type} with ${error}`); + } + } +} \ No newline at end of file diff --git a/packages/server/test/purchase.system.spec.ts b/packages/server/test/purchase.system.spec.ts new file mode 100644 index 0000000..b21d719 --- /dev/null +++ b/packages/server/test/purchase.system.spec.ts @@ -0,0 +1,46 @@ +import {createTestingModule} from "../src/server.testkit"; +import {aProduct} from "../src/builders"; +import request from 'supertest'; + +async function createTestHarness() { + const {nest, ...rest} = await createTestingModule(); + return { + app: request(nest.getHttpServer()), + ...rest + } +} + +// this test is not really required, it's wholly contained within purchase.flow.spec.tsx +test('a user can order a product', async () => { + const {app, productRepo, orderRepo} = await createTestHarness(); + + const moogOne = await productRepo.create(aProduct({title: "Moog One"})); + const cartId = '666'; + + await app + .post(`/cart/${cartId}`) + .send({productId: moogOne.id}) + .expect(201); + + await app + .get(`/cart/${cartId}`) + .expect({id: cartId, items: [{ + productId: moogOne.id, + price: moogOne.price, + name: moogOne.title + }]}); + + const orderId = await app + .post(`/checkout/${666}`) + .expect(201) + .then(response => response.text); + + expect(orderRepo.orders).toContainEqual(expect.objectContaining({ + id: orderId, + items: expect.arrayContaining([ + expect.objectContaining({ + productId: moogOne.id, + }) + ]) + })); +}); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 6be5c66..bb5ee19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1577,6 +1577,21 @@ __metadata: languageName: node linkType: hard +"@nestjs/config@npm:^3.2.2": + version: 3.2.2 + resolution: "@nestjs/config@npm:3.2.2" + dependencies: + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + lodash: 4.17.21 + uuid: 9.0.1 + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + rxjs: ^7.1.0 + checksum: 1f677ff4ea13dc7d9c27e094965101ea661dd1ec362aed8f188413037dac21c08f71967add551cad5a3d21301c66d4c61815ed709bf101afaa0fd0aa0f4bf14c + languageName: node + linkType: hard + "@nestjs/core@npm:^10.3.7": version: 10.3.7 resolution: "@nestjs/core@npm:10.3.7" @@ -1960,6 +1975,7 @@ __metadata: "@nestjs/testing": ^10.3.7 "@types/jest": ^28.1.8 "@types/node": ^20.7.1 + "@types/supertest": ^6.0.2 fastify: ^4.23.2 fastify-type-provider-zod: ^1.1.9 jest: ^28.1.3 @@ -1968,6 +1984,7 @@ __metadata: nodemon: ^3.0.1 reflect-metadata: ^0.2.2 rxjs: ^7.8.1 + supertest: ^7.0.0 ts-byob: ^1.0.3 ts-jest: ^28.0.8 ts-node: ^10.9.1 @@ -2125,6 +2142,13 @@ __metadata: languageName: node linkType: hard +"@types/cookiejar@npm:^2.1.5": + version: 2.1.5 + resolution: "@types/cookiejar@npm:2.1.5" + checksum: 04d5990e87b6387532d15a87d9ec9b2eb783039291193863751dcfd7fc723a3b3aa30ce4c06b03975cba58632e933772f1ff031af23eaa3ac7f94e71afa6e073 + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:^4.17.33": version: 4.17.33 resolution: "@types/express-serve-static-core@npm:4.17.33" @@ -2220,6 +2244,13 @@ __metadata: languageName: node linkType: hard +"@types/methods@npm:^1.1.4": + version: 1.1.4 + resolution: "@types/methods@npm:1.1.4" + checksum: ad2a7178486f2fd167750f3eb920ab032a947ff2e26f55c86670a6038632d790b46f52e5b6ead5823f1e53fc68028f1e9ddd15cfead7903e04517c88debd72b1 + languageName: node + linkType: hard + "@types/mime@npm:*": version: 3.0.1 resolution: "@types/mime@npm:3.0.1" @@ -2333,6 +2364,27 @@ __metadata: languageName: node linkType: hard +"@types/superagent@npm:^8.1.0": + version: 8.1.7 + resolution: "@types/superagent@npm:8.1.7" + dependencies: + "@types/cookiejar": ^2.1.5 + "@types/methods": ^1.1.4 + "@types/node": "*" + checksum: 8f80c72bd1cc9a9295a2e1e8a7a8de9bef09348db63f33cc4f61e457917662064ab86ce013f28249c34d7239d9a4415c1a597dc70d4391b2ad83b338a63a3b73 + languageName: node + linkType: hard + +"@types/supertest@npm:^6.0.2": + version: 6.0.2 + resolution: "@types/supertest@npm:6.0.2" + dependencies: + "@types/methods": ^1.1.4 + "@types/superagent": ^8.1.0 + checksum: 1eafa472665757a6fd984439d11f388ae0480c6d243a6884066c474c4e0357de5373316488da503b1690c3163e075ca8c64c0c4853b3bb7deb09e05d1b64e556 + languageName: node + linkType: hard + "@types/testing-library__jest-dom@npm:^5.9.1": version: 5.14.5 resolution: "@types/testing-library__jest-dom@npm:5.14.5" @@ -2711,6 +2763,13 @@ __metadata: languageName: node linkType: hard +"asap@npm:^2.0.0": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d + languageName: node + linkType: hard + "assertion-error@npm:^1.1.0": version: 1.1.0 resolution: "assertion-error@npm:1.1.0" @@ -3083,6 +3142,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -3372,6 +3444,13 @@ __metadata: languageName: node linkType: hard +"component-emitter@npm:^1.3.0": + version: 1.3.1 + resolution: "component-emitter@npm:1.3.1" + checksum: 94550aa462c7bd5a61c1bc480e28554aa306066930152d1b1844a0dd3845d4e5db7e261ddec62ae184913b3e59b55a2ad84093b9d3596a8f17c341514d6c483d + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3480,6 +3559,13 @@ __metadata: languageName: node linkType: hard +"cookiejar@npm:^2.1.4": + version: 2.1.4 + resolution: "cookiejar@npm:2.1.4" + checksum: c4442111963077dc0e5672359956d6556a195d31cbb35b528356ce5f184922b99ac48245ac05ed86cf993f7df157c56da10ab3efdadfed79778a0d9b1b092d5b + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -3695,6 +3781,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + gopd: ^1.0.1 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.2.0 resolution: "define-properties@npm:1.2.0" @@ -3754,6 +3851,16 @@ __metadata: languageName: node linkType: hard +"dezalgo@npm:^1.0.4": + version: 1.0.4 + resolution: "dezalgo@npm:1.0.4" + dependencies: + asap: ^2.0.0 + wrappy: 1 + checksum: 895389c6aead740d2ab5da4d3466d20fa30f738010a4d3f4dcccc9fc645ca31c9d10b7e1804ae489b1eb02c7986f9f1f34ba132d409b043082a86d9a4e745624 + languageName: node + linkType: hard + "diff-sequences@npm:^28.1.1": version: 28.1.1 resolution: "diff-sequences@npm:28.1.1" @@ -3839,6 +3946,13 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:10.0.0": + version: 10.0.0 + resolution: "dotenv-expand@npm:10.0.0" + checksum: 2a38b470efe0abcb1ac8490421a55e1d764dc9440fd220942bce40965074f3fb00b585f4346020cb0f0f219966ee6b4ee5023458b3e2953fe5b3214de1b314ee + languageName: node + linkType: hard + "dotenv-expand@npm:^8.0.2": version: 8.0.3 resolution: "dotenv-expand@npm:8.0.3" @@ -3846,6 +3960,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:16.4.5": + version: 16.4.5 + resolution: "dotenv@npm:16.4.5" + checksum: 301a12c3d44fd49888b74eb9ccf9f07a1f5df43f489e7fcb89647a2edcd84c42d6bc349dc8df099cd18f07c35c7b04685c1a4f3e6a6a9e6b30f8d48c15b7f49c + languageName: node + linkType: hard + "dotenv@npm:^16.0.0": version: 16.0.3 resolution: "dotenv@npm:16.0.3" @@ -3959,6 +4080,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-get-iterator@npm:^1.1.2": version: 1.1.3 resolution: "es-get-iterator@npm:1.1.3" @@ -4396,7 +4533,7 @@ __metadata: languageName: node linkType: hard -"fast-safe-stringify@npm:2.1.1": +"fast-safe-stringify@npm:2.1.1, fast-safe-stringify@npm:^2.1.1": version: 2.1.1 resolution: "fast-safe-stringify@npm:2.1.1" checksum: a851cbddc451745662f8f00ddb622d6766f9bd97642dabfd9a405fb0d646d69fc0b9a1243cbf67f5f18a39f40f6fa821737651ff1bceeba06c9992ca2dc5bd3d @@ -4569,6 +4706,17 @@ __metadata: languageName: node linkType: hard +"formidable@npm:^3.5.1": + version: 3.5.1 + resolution: "formidable@npm:3.5.1" + dependencies: + dezalgo: ^1.0.4 + hexoid: ^1.0.0 + once: ^1.4.0 + checksum: 46b21496f9f985161cf7636163147b6728f9997c7e1d59433680d92619758bf6862330e6d105b5816bafcd1ab32f27ef183455991f93ef836ea731c68db62af9 + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -4655,6 +4803,13 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + "functions-have-names@npm:^1.2.2": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" @@ -4717,6 +4872,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: ^1.3.0 + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -4820,6 +4988,22 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -4852,6 +5036,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "he@npm:1.2.0, he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -4861,6 +5054,13 @@ __metadata: languageName: node linkType: hard +"hexoid@npm:^1.0.0": + version: 1.0.0 + resolution: "hexoid@npm:1.0.0" + checksum: 27a148ca76a2358287f40445870116baaff4a0ed0acc99900bf167f0f708ffd82e044ff55e9949c71963852b580fc024146d3ac6d5d76b508b78d927fa48ae2d + languageName: node + linkType: hard + "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -6120,7 +6320,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15": +"lodash@npm:4.17.21, lodash@npm:^4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -6307,7 +6507,7 @@ __metadata: languageName: node linkType: hard -"methods@npm:~1.1.2": +"methods@npm:^1.1.2, methods@npm:~1.1.2": version: 1.1.2 resolution: "methods@npm:1.1.2" checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a @@ -6356,6 +6556,15 @@ __metadata: languageName: node linkType: hard +"mime@npm:2.6.0": + version: 2.6.0 + resolution: "mime@npm:2.6.0" + bin: + mime: cli.js + checksum: 1497ba7b9f6960694268a557eae24b743fd2923da46ec392b042469f4b901721ba0adcf8b0d3c2677839d0e243b209d76e5edcbd09cfdeffa2dfb6bb4df4b862 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -6811,6 +7020,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f + languageName: node + linkType: hard + "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" @@ -6877,7 +7093,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": +"once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -7360,6 +7576,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.11.0": + version: 6.12.1 + resolution: "qs@npm:6.12.1" + dependencies: + side-channel: ^1.0.6 + checksum: aa761d99e65b6936ba2dd2187f2d9976afbcda38deb3ff1b3fe331d09b0c578ed79ca2abdde1271164b5be619c521ec7db9b34c23f49a074e5921372d16242d5 + languageName: node + linkType: hard + "querystringify@npm:^2.1.1": version: 2.2.0 resolution: "querystringify@npm:2.2.0" @@ -7729,6 +7954,7 @@ __metadata: version: 0.0.0-use.local resolution: "root@workspace:." dependencies: + "@nestjs/config": ^3.2.2 "@types/cookie-parser": ^1.4.4 cookie-parser: ^1.4.6 jsdom: ^21.1.2 @@ -7910,6 +8136,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + "setprototypeof@npm:1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" @@ -7944,6 +8184,18 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + languageName: node + linkType: hard + "siginfo@npm:^2.0.0": version: 2.0.0 resolution: "siginfo@npm:2.0.0" @@ -8233,6 +8485,33 @@ __metadata: languageName: node linkType: hard +"superagent@npm:^9.0.1": + version: 9.0.2 + resolution: "superagent@npm:9.0.2" + dependencies: + component-emitter: ^1.3.0 + cookiejar: ^2.1.4 + debug: ^4.3.4 + fast-safe-stringify: ^2.1.1 + form-data: ^4.0.0 + formidable: ^3.5.1 + methods: ^1.1.2 + mime: 2.6.0 + qs: ^6.11.0 + checksum: f471461b21f034d844fd0aca332128d61e3afb75c2ee5950f3339f2a3b5ca8b23e2861224f19ad9b43f21c9184d28b7d9384af5a4fde64fdef479efdb15036db + languageName: node + linkType: hard + +"supertest@npm:^7.0.0": + version: 7.0.0 + resolution: "supertest@npm:7.0.0" + dependencies: + methods: ^1.1.2 + superagent: ^9.0.1 + checksum: 974743aa511ec0f387135dfca05e378f6202366c81f0850dfbcc2c3d6fc690e856dda27e175c70db38510e21d87f331c0f62e1a942afea4c447953c647c26c8b + languageName: node + linkType: hard + "supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -8747,6 +9026,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 39931f6da74e307f51c0fb463dc2462807531dc80760a9bff1e35af4316131b4fc3203d16da60ae33f07fdca5b56f3f1dd662da0c99fea9aaeab2004780cc5f4 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" From 4e6e5c820f3eb60739b9a184dc24b2ba6961dfff Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Sun, 19 May 2024 13:26:00 +0300 Subject: [PATCH 09/24] fixed compilation error --- packages/server/src/adapters/mongodb.module.ts | 4 ++++ packages/server/src/app.module.overrides.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/server/src/adapters/mongodb.module.ts b/packages/server/src/adapters/mongodb.module.ts index da534f0..e4baeac 100644 --- a/packages/server/src/adapters/mongodb.module.ts +++ b/packages/server/src/adapters/mongodb.module.ts @@ -40,4 +40,8 @@ export class MongoDBModule { exports: [PRODUCT_REPO, ORDER_REPO, CART_REPO] } } + + static default() { + return this.forRoot({uri: `mongodb://root:password@127.0.0.1`, dbName: "storeDB"}); + } } diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts index 2c5df8f..1b70f03 100644 --- a/packages/server/src/app.module.overrides.ts +++ b/packages/server/src/app.module.overrides.ts @@ -3,7 +3,7 @@ import {CartController, CheckoutController, OrderController, ProductController} import {MongoDBModule} from "./adapters/mongodb.module"; @Module({ - imports: [MongoDBModule.forRoot(`mongodb://root:password@127.0.0.1`)], + imports: [MongoDBModule.default()], controllers: [CartController, ProductController, OrderController, CheckoutController] }) export class AppModuleOverrides { From 90c6177c48ef59dbece6da3e0f6bcf1fa4871525 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 29 May 2024 09:53:18 +0300 Subject: [PATCH 10/24] rebase on main --- packages/server/package.json | 6 +- yarn.lock | 5212 +++++++++------------------------- 2 files changed, 1377 insertions(+), 3841 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 061ebae..f4b4cde 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -12,13 +12,13 @@ "author": "", "license": "ISC", "devDependencies": { + "@faker-js/faker": "^8.4.1", "@nestjs/testing": "^10.3.7", - "@types/supertest": "^6.0.2", - "supertest": "^7.0.0", "@types/morgan": "^1.9.5", - "@faker-js/faker": "^8.4.1", "@types/node": "^20.12.12", + "@types/supertest": "^6.0.2", "nodemon": "^3.1.1", + "supertest": "^7.0.0", "vitest": "^1.6.0" }, "dependencies": { diff --git a/yarn.lock b/yarn.lock index bb5ee19..022b245 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,20 +5,10 @@ __metadata: version: 6 cacheKey: 8 -"@adobe/css-tools@npm:^4.0.1": - version: 4.1.0 - resolution: "@adobe/css-tools@npm:4.1.0" - checksum: 50d0098461af146e112bdc700959fac473cce31ad25f5077b11c87bc66529c4aeb5a1e6f30f4a9646efe003c242f52f181f042e21f9cc137703ffde54a9d1fb5 - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.1.0": - version: 2.2.0 - resolution: "@ampproject/remapping@npm:2.2.0" - dependencies: - "@jridgewell/gen-mapping": ^0.1.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 +"@adobe/css-tools@npm:^4.3.2": + version: 4.3.3 + resolution: "@adobe/css-tools@npm:4.3.3" + checksum: d21f3786b84911fee59c995a146644a85c98692979097b26484ffa9e442fb1a92ccd68ce984e3e7cf8d5933c3560fbc0ad3e3cd1de50b9a723d1c012e793bbcb languageName: node linkType: hard @@ -32,7 +22,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": +"@babel/code-frame@npm:^7.10.4": version: 7.18.6 resolution: "@babel/code-frame@npm:7.18.6" dependencies: @@ -41,275 +31,143 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.22.13": - version: 7.22.13 - resolution: "@babel/code-frame@npm:7.22.13" +"@babel/code-frame@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/code-frame@npm:7.24.6" dependencies: - "@babel/highlight": ^7.22.13 - chalk: ^2.4.2 - checksum: 22e342c8077c8b77eeb11f554ecca2ba14153f707b85294fcf6070b6f6150aae88a7b7436dd88d8c9289970585f3fe5b9b941c5aa3aa26a6d5a8ef3f292da058 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.20.5": - version: 7.20.14 - resolution: "@babel/compat-data@npm:7.20.14" - checksum: 6c9efe36232094e4ad0b70d165587f21ca718e5d011f7a52a77a18502a7524e90e2855aa5a2e086395bcfd21bd2c7c99128dcd8d9fdffe94316b72acf5c66f2c - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/compat-data@npm:7.22.9" - checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 + "@babel/highlight": ^7.24.6 + picocolors: ^1.0.0 + checksum: 0904514ea7079a9590c1c546cd20b9c1beab9649873f2a0703429860775c1713a8dfb2daacd781a0210bb3930c656c1c436013fb20eaa3644880fb3a2b34541d languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": - version: 7.20.12 - resolution: "@babel/core@npm:7.20.12" - dependencies: - "@ampproject/remapping": ^2.1.0 - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.20.7 - "@babel/helper-compilation-targets": ^7.20.7 - "@babel/helper-module-transforms": ^7.20.11 - "@babel/helpers": ^7.20.7 - "@babel/parser": ^7.20.7 - "@babel/template": ^7.20.7 - "@babel/traverse": ^7.20.12 - "@babel/types": ^7.20.7 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.2 - semver: ^6.3.0 - checksum: 62e6c3e2149a70b5c9729ef5f0d3e2e97e9dcde89fc039c8d8e3463d5d7ba9b29ee84d10faf79b61532ac1645aa62f2bd42338320617e6e3a8a4d8e2a27076e7 +"@babel/compat-data@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/compat-data@npm:7.24.6" + checksum: 92233c708f7c349923c1f9a2b3c9354875a951ac3afaca0a2c159de1c808f6799ad4433652b90870015281aa466ec6e9aa8922e755cd7ac1413a3a5782cd685d languageName: node linkType: hard -"@babel/core@npm:^7.22.20": - version: 7.23.0 - resolution: "@babel/core@npm:7.23.0" +"@babel/core@npm:^7.24.5": + version: 7.24.6 + resolution: "@babel/core@npm:7.24.6" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.23.0 - "@babel/helpers": ^7.23.0 - "@babel/parser": ^7.23.0 - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 - "@babel/types": ^7.23.0 + "@babel/code-frame": ^7.24.6 + "@babel/generator": ^7.24.6 + "@babel/helper-compilation-targets": ^7.24.6 + "@babel/helper-module-transforms": ^7.24.6 + "@babel/helpers": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/template": ^7.24.6 + "@babel/traverse": ^7.24.6 + "@babel/types": ^7.24.6 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2": - version: 7.20.14 - resolution: "@babel/generator@npm:7.20.14" - dependencies: - "@babel/types": ^7.20.7 - "@jridgewell/gen-mapping": ^0.3.2 - jsesc: ^2.5.1 - checksum: 5f6aa2d86af26e76d276923a5c34191124a119b16ee9ccc34aef654a7dec84fbd7d2daed2e6458a6a06bf87f3661deb77c9fea59b8f67faff5c90793c96d76d6 + checksum: f8af23de19865818c27c2fbe0d87b0834b118386da5ee09b20ae0cf7a5540065054ef2b70f377d025d9feee765db18df39900e4c18e905988b94b54a104c738e languageName: node linkType: hard -"@babel/generator@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" +"@babel/generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/generator@npm:7.24.6" dependencies: - "@babel/types": ^7.23.0 - "@jridgewell/gen-mapping": ^0.3.2 - "@jridgewell/trace-mapping": ^0.3.17 + "@babel/types": ^7.24.6 + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 jsesc: ^2.5.1 - checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 + checksum: a477e03129106908f464b195c4f138052d732cfca47506b127edbed6a496371bae821662a8a4e51e6d144ac236a5d05dc2da0e145e29bb8e19d3e7c480ac00fe languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.20.7": - version: 7.20.7 - resolution: "@babel/helper-compilation-targets@npm:7.20.7" +"@babel/helper-compilation-targets@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-compilation-targets@npm:7.24.6" dependencies: - "@babel/compat-data": ^7.20.5 - "@babel/helper-validator-option": ^7.18.6 - browserslist: ^4.21.3 - lru-cache: ^5.1.1 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 8c32c873ba86e2e1805b30e0807abd07188acbe00ebb97576f0b09061cc65007f1312b589eccb4349c5a8c7f8bb9f2ab199d41da7030bf103d9f347dcd3a3cf4 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" - dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.15 - browserslist: ^4.21.9 + "@babel/compat-data": ^7.24.6 + "@babel/helper-validator-option": ^7.24.6 + browserslist: ^4.22.2 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-environment-visitor@npm:7.18.9" - checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-function-name@npm:7.19.0" - dependencies: - "@babel/template": ^7.18.10 - "@babel/types": ^7.19.0 - checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": ^7.22.15 - "@babel/types": ^7.23.0 - checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-hoist-variables@npm:7.18.6" - dependencies: - "@babel/types": ^7.18.6 - checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + checksum: c66bf86387fbeefc617db9510de553880ed33dc91308421ee36a7b489d0e8c8eb615e0f467a9ec886eada7c05b03e421e55b2a724ff302402fdd4e0c0b2b0443 languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: 394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc +"@babel/helper-environment-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-environment-visitor@npm:7.24.6" + checksum: 9c2b3f1ee7ba46b61b0482efab6d37f5c76f0ea4e9d9775df44a89644729c3a50101040a0233543ec6c3f416d8e548d337f310ff3e164f847945507428ee39e5 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-module-imports@npm:7.18.6" +"@babel/helper-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-function-name@npm:7.24.6" dependencies: - "@babel/types": ^7.18.6 - checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + "@babel/template": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: d7a2198b6bf2cae9767d5b0d6cb5d3cbd9a07640ad4b6798abb7d7242e8f32765a94fd98ab1a039d7607f0ddbeaf9ddc822dd536b856e499f7082899c6f455f0 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" +"@babel/helper-hoist-variables@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-hoist-variables@npm:7.24.6" dependencies: - "@babel/types": ^7.22.15 - checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 + "@babel/types": ^7.24.6 + checksum: 4819b574393a5214aff6ae02a6e5250ace2564f8bcdb28d580ffec57bbb2092425e8f39563d75cfa268940a01fd425bad503c0b92717c12426f15cf6847855d3 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.20.11": - version: 7.20.11 - resolution: "@babel/helper-module-transforms@npm:7.20.11" +"@babel/helper-module-imports@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-imports@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-simple-access": ^7.20.2 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/helper-validator-identifier": ^7.19.1 - "@babel/template": ^7.20.7 - "@babel/traverse": ^7.20.10 - "@babel/types": ^7.20.7 - checksum: 29319ebafa693d48756c6ba0d871677bb0037e0da084fbe221a17c38d57093fc8aa38543c07d76e788266a937976e37ab4901971ca7f237c5ab45f524b9ecca0 + "@babel/types": ^7.24.6 + checksum: 3484420c45529aac34cb14111a03c78edab84e5c4419634affe61176d832af82963395ea319f67c7235fd4106d9052a9f3ce012d2d57d56644572d3f7d495231 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-module-transforms@npm:7.23.0" +"@babel/helper-module-transforms@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-transforms@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-module-imports": ^7.22.15 - "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.20 + "@babel/helper-environment-visitor": ^7.24.6 + "@babel/helper-module-imports": ^7.24.6 + "@babel/helper-simple-access": ^7.24.6 + "@babel/helper-split-export-declaration": ^7.24.6 + "@babel/helper-validator-identifier": ^7.24.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.20.2 - resolution: "@babel/helper-plugin-utils@npm:7.20.2" - checksum: f6cae53b7fdb1bf3abd50fa61b10b4470985b400cc794d92635da1e7077bb19729f626adc0741b69403d9b6e411cddddb9c0157a709cc7c4eeb41e663be5d74b - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/helper-simple-access@npm:7.20.2" - dependencies: - "@babel/types": ^7.20.2 - checksum: ad1e96ee2e5f654ffee2369a586e5e8d2722bf2d8b028a121b4c33ebae47253f64d420157b9f0a8927aea3a9e0f18c0103e74fdd531815cf3650a0a4adca11a1 + checksum: 904e2a0701eb1eeb84b0d0df5dacdc40291307025b7e3a9a3c6f3eee912c893524f9dc7f5624225a5783a258dec2eb2489a9638bf5f3de26ebfcbcac1b5cc2fc languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 +"@babel/helper-plugin-utils@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-plugin-utils@npm:7.24.6" + checksum: d22bb82c75afed0d8c37784876fd6deb9db06ef21526db909ef7986a6050b50beb60a7823c08a1bb7c57c668af2e086d8086e88b6f9140b0d9ade07472f7c748 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-split-export-declaration@npm:7.18.6" +"@babel/helper-simple-access@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-simple-access@npm:7.24.6" dependencies: - "@babel/types": ^7.18.6 - checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + "@babel/types": ^7.24.6 + checksum: 929162e887efc1bcadd4e141ed7782b45fccc6873d5023a744fee9c94d16d3a13dbfb66eb259181613a36c2d35f7d2088ee37e76014223d3b9b6c9ef1094e4b6 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" +"@babel/helper-split-export-declaration@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-split-export-declaration@npm:7.24.6" dependencies: - "@babel/types": ^7.22.5 - checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 + "@babel/types": ^7.24.6 + checksum: b546fd7e186b4aa69f96e041b6c4c9154115a2579a297b86773719dbed53b938cfc3f6b4996ae410296bb8aa30ea031f9ff31f1255aa25c3af75026c5b7c4059 languageName: node linkType: hard @@ -320,10 +178,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-string-parser@npm:7.24.6" + checksum: c8c614a663928b67c5c65cfea958ed20c858fa2af8c957d301bd852c0ab98adae0861f081fd8f5add16539d9393bd4b10b8c86a97a9d7304f70a6a67b2c2ff07 languageName: node linkType: hard @@ -334,53 +192,27 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-validator-option@npm:7.18.6" - checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-validator-option@npm:7.22.15" - checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d +"@babel/helper-validator-identifier@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-identifier@npm:7.24.6" + checksum: a265a6fba570332dca63ad7e749b867d29b52da2573dc62bf19b5b8c5387d4f4296af33da9da7c71ffe3d3abecd743418278f56d38b057ad4b53f09b937fe113 languageName: node linkType: hard -"@babel/helpers@npm:^7.20.7": - version: 7.20.13 - resolution: "@babel/helpers@npm:7.20.13" - dependencies: - "@babel/template": ^7.20.7 - "@babel/traverse": ^7.20.13 - "@babel/types": ^7.20.7 - checksum: d62076fa834f342798f8c3fd7aec0870cc1725d273d99e540cbaa8d6c3ed10258228dd14601c8e66bfeabbb9424c3b31090ecc467fe855f7bd72c4734df7fb09 +"@babel/helper-validator-option@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-option@npm:7.24.6" + checksum: 5defb2da74e1cac9497016f4e41698aeed75ec7a5e9dc07e777cdb67ef73cd2e27bd2bf8a3ab8d37e0b93a6a45524a9728f03e263afdef452436cf74794bde87 languageName: node linkType: hard -"@babel/helpers@npm:^7.23.0": - version: 7.23.1 - resolution: "@babel/helpers@npm:7.23.1" +"@babel/helpers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helpers@npm:7.24.6" dependencies: - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.0 - "@babel/types": ^7.23.0 - checksum: acfc345102045c24ea2a4d60e00dcf8220e215af3add4520e2167700661338e6a80bd56baf44bb764af05ec6621101c9afc315dc107e18c61fa6da8acbdbb893 + "@babel/template": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: c936058fd5caf7173e157f790fdbe9535237a7b8bc2c3d084bdf16467a034f73bd5d731deb514aa84e356c72de1cc93500a376f9d481f5c1e335f5a563426e58 languageName: node linkType: hard @@ -395,18 +227,19 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.22.13": - version: 7.22.20 - resolution: "@babel/highlight@npm:7.22.20" +"@babel/highlight@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/highlight@npm:7.24.6" dependencies: - "@babel/helper-validator-identifier": ^7.22.20 + "@babel/helper-validator-identifier": ^7.24.6 chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: 84bd034dca309a5e680083cd827a766780ca63cef37308404f17653d32366ea76262bd2364b2d38776232f2d01b649f26721417d507e8b4b6da3e4e739f6d134 + picocolors: ^1.0.0 + checksum: 2f8f7f060eeccc3ddf03ba12c263995de0e6c0dd31ad224bed58d983b3bb08fe34dfc01440396266456a4cad83226c38ad6814805bc5d0c774a056cac9182eca languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.13, @babel/parser@npm:^7.20.7": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7": version: 7.20.15 resolution: "@babel/parser@npm:7.20.15" bin: @@ -415,200 +248,57 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/parser@npm:7.24.6" bin: parser: ./bin/babel-parser.js - checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 - languageName: node - linkType: hard - -"@babel/plugin-proposal-explicit-resource-management@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.23.0" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-explicit-resource-management": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 6bc612becb111ecc10fe558623858a70104935df8717eb284a90000f1d9c311c9ae4d11090a85857a114ab096e526d5a80e2fb73cf061992a036d6e68e543268 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc - languageName: node - linkType: hard - -"@babel/plugin-syntax-explicit-resource-management@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-explicit-resource-management@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ab7d1ad1220cfe10fa37b970585c159b7a2f82bced76b78e1f0f37a379ff26816e0bde2660c1dbfeb2ef349a0788d7f2f73c1f7a3e304ab61054b1d054ff1ed9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + checksum: ca3773f5b2a4a065b827990ca0c867e670f01d7a7d7278838bd64d583e68ed52356b5a613303c5aa736d20f024728fec80fc5845fed1eb751ab5f1bfbdc1dd3c languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" +"@babel/plugin-proposal-explicit-resource-management@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-plugin-utils": ^7.24.6 + "@babel/plugin-syntax-explicit-resource-management": ^7.24.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + checksum: 4658cdec35c44366489481f8d049bef55d225feef44b7af963c9242e97da698e7a1e9f19c87123b5444f7f2990f33a8159ab837cfdcaa326fb77e7db5aa8c803 languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.20.0 - resolution: "@babel/plugin-syntax-typescript@npm:7.20.0" +"@babel/plugin-syntax-explicit-resource-management@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-explicit-resource-management@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-plugin-utils": ^7.24.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6189c0b5c32ba3c9a80a42338bd50719d783b20ef29b853d4f03929e971913d3cefd80184e924ae98ad6db09080be8fe6f1ffde9a6db8972523234f0274d36f7 + checksum: 49701ac5b5112fe219aa7faf74e68b8c336611dd5bc52e64bcd7f146d1bd10c0cc040e2155a943a78098a7d0b7fa0cc1bbd8990a0b98d6ce89a46e5bfcd2015c languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.22.5" +"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.24.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 671eebfabd14a0c7d6ae805fff7e289dfdb7ba984bb100ea2ef6dad1d6a665ebbb09199ab2e64fca7bc78bd0fdc80ca897b07996cf215fafc32c67bc564309af + checksum: 695b1dd98b52ed05522d3a6a042f4b02e95764e443b781682cb59233f318b7f3849e4e6cf29d8d7afabc740d73cf1ec185bbfe58df724066bccb3e669d2a98be languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" +"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.24.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4ca2bd62ca14f8bbdcda9139f3f799e1c1c1bae504b67c1ca9bca142c53d81926d1a2b811f66a625f20999b2d352131053d886601f1ba3c1e9378c104d884277 + checksum: d642f9153a82f159e5d469fbc9976555e01ecb2d42b2ee2af62005719bd847129809142a88d56c031c85cb2483ad251937bb3b722e2226cbbd9d39bbf26a3233 languageName: node linkType: hard @@ -621,65 +311,36 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3": - version: 7.20.7 - resolution: "@babel/template@npm:7.20.7" +"@babel/template@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/template@npm:7.24.6" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - checksum: 2eb1a0ab8d415078776bceb3473d07ab746e6bb4c2f6ca46ee70efb284d75c4a32bb0cd6f4f4946dec9711f9c0780e8e5d64b743208deac6f8e9858afadc349e - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" - dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/parser": ^7.22.15 - "@babel/types": ^7.22.15 - checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.13, @babel/traverse@npm:^7.7.2": - version: 7.20.13 - resolution: "@babel/traverse@npm:7.20.13" - dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.20.7 - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 - "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.20.13 - "@babel/types": ^7.20.7 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: 30ca6e0bd18233fda48fa09315efd14dfc61dcf5b8fa3712b343bfc61b32bc63b5e85ea1773cc9576c9b293b96f46b4589aaeb0a52e1f3eeac4edc076d049fc7 + "@babel/code-frame": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: 8e532ebdd5e1398c030af16881061bad43b9c3b758a193a6289dc5be5988cc543f7aa56a360e15b755258c0b3d387f3cd78b505835b040a2729d0261d0ff1711 languageName: node linkType: hard -"@babel/traverse@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/traverse@npm:7.23.0" +"@babel/traverse@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/traverse@npm:7.24.6" dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 - "@babel/helper-environment-visitor": ^7.22.20 - "@babel/helper-function-name": ^7.23.0 - "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.0 - "@babel/types": ^7.23.0 - debug: ^4.1.0 + "@babel/code-frame": ^7.24.6 + "@babel/generator": ^7.24.6 + "@babel/helper-environment-visitor": ^7.24.6 + "@babel/helper-function-name": ^7.24.6 + "@babel/helper-hoist-variables": ^7.24.6 + "@babel/helper-split-export-declaration": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/types": ^7.24.6 + debug: ^4.3.1 globals: ^11.1.0 - checksum: 0b17fae53269e1af2cd3edba00892bc2975ad5df9eea7b84815dab07dfec2928c451066d51bc65b4be61d8499e77db7e547ce69ef2a7b0eca3f96269cb43a0b0 + checksum: 654151b2ab5c9d5031c274cf197f707b8a27a1c70b38fcb8d1bf5ad2d8848f38675ab9c2a86aeb804657c5817124ac5be4cb6f5defa8ef7ac40596e1220697aa languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.8.3": version: 7.20.7 resolution: "@babel/types@npm:7.20.7" dependencies: @@ -690,32 +351,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.22.15, @babel/types@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" +"@babel/types@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/types@npm:7.24.6" dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.20 + "@babel/helper-string-parser": ^7.24.6 + "@babel/helper-validator-identifier": ^7.24.6 to-fast-properties: ^2.0.0 - checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 - languageName: node - linkType: hard - -"@babel/types@npm:^7.22.5": - version: 7.22.11 - resolution: "@babel/types@npm:7.22.11" - dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 - to-fast-properties: ^2.0.0 - checksum: 431a6446896adb62c876d0fe75263835735d3c974aae05356a87eb55f087c20a777028cf08eadcace7993e058bbafe3b21ce2119363222c6cef9eedd7a204810 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 + checksum: 58d798dd37e6b14f818730b4536795d68d28ccd5dc2a105fd977104789b20602be11d92cdd47cdbd48d8cce3cc0e14c7773813357ad9d5d6e94d70587eb45bf5 languageName: node linkType: hard @@ -726,6 +369,13 @@ __metadata: languageName: node linkType: hard +"@colors/colors@npm:^1.6.0": + version: 1.6.0 + resolution: "@colors/colors@npm:1.6.0" + checksum: aa209963e0c3218e80a4a20553ba8c0fbb6fa13140540b4e5f97923790be06801fc90172c1114fc8b7e888b3d012b67298cde6b9e81521361becfaee400c662f + languageName: node + linkType: hard + "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -746,318 +396,171 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/android-arm64@npm:0.18.17" - conditions: os=android & cpu=arm64 +"@esbuild/aix-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/aix-ppc64@npm:0.20.2" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/android-arm64@npm:0.19.4" +"@esbuild/android-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm64@npm:0.20.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/android-arm@npm:0.18.17" +"@esbuild/android-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm@npm:0.20.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/android-arm@npm:0.19.4" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/android-x64@npm:0.18.17" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/android-x64@npm:0.19.4" +"@esbuild/android-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-x64@npm:0.20.2" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/darwin-arm64@npm:0.18.17" +"@esbuild/darwin-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-arm64@npm:0.20.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/darwin-arm64@npm:0.19.4" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/darwin-x64@npm:0.18.17" +"@esbuild/darwin-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-x64@npm:0.20.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/darwin-x64@npm:0.19.4" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/freebsd-arm64@npm:0.18.17" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/freebsd-arm64@npm:0.19.4" +"@esbuild/freebsd-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-arm64@npm:0.20.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/freebsd-x64@npm:0.18.17" +"@esbuild/freebsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-x64@npm:0.20.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/freebsd-x64@npm:0.19.4" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-arm64@npm:0.18.17" +"@esbuild/linux-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm64@npm:0.20.2" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-arm64@npm:0.19.4" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-arm@npm:0.18.17" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-arm@npm:0.19.4" +"@esbuild/linux-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm@npm:0.20.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-ia32@npm:0.18.17" +"@esbuild/linux-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ia32@npm:0.20.2" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-ia32@npm:0.19.4" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-loong64@npm:0.18.17" +"@esbuild/linux-loong64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-loong64@npm:0.20.2" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-loong64@npm:0.19.4" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-mips64el@npm:0.18.17" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-mips64el@npm:0.19.4" +"@esbuild/linux-mips64el@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-mips64el@npm:0.20.2" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-ppc64@npm:0.18.17" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-ppc64@npm:0.19.4" +"@esbuild/linux-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ppc64@npm:0.20.2" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-riscv64@npm:0.18.17" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-riscv64@npm:0.19.4" +"@esbuild/linux-riscv64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-riscv64@npm:0.20.2" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-s390x@npm:0.18.17" +"@esbuild/linux-s390x@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-s390x@npm:0.20.2" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-s390x@npm:0.19.4" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/linux-x64@npm:0.18.17" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/linux-x64@npm:0.19.4" +"@esbuild/linux-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-x64@npm:0.20.2" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/netbsd-x64@npm:0.18.17" +"@esbuild/netbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/netbsd-x64@npm:0.20.2" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/netbsd-x64@npm:0.19.4" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/openbsd-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/openbsd-x64@npm:0.18.17" +"@esbuild/openbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/openbsd-x64@npm:0.20.2" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/openbsd-x64@npm:0.19.4" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/sunos-x64@npm:0.18.17" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/sunos-x64@npm:0.19.4" +"@esbuild/sunos-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/sunos-x64@npm:0.20.2" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/win32-arm64@npm:0.18.17" +"@esbuild/win32-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-arm64@npm:0.20.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/win32-arm64@npm:0.19.4" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/win32-ia32@npm:0.18.17" +"@esbuild/win32-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-ia32@npm:0.20.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/win32-ia32@npm:0.19.4" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.18.17": - version: 0.18.17 - resolution: "@esbuild/win32-x64@npm:0.18.17" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.19.4": - version: 0.19.4 - resolution: "@esbuild/win32-x64@npm:0.19.4" +"@esbuild/win32-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-x64@npm:0.20.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@faker-js/faker@npm:^8.1.0": - version: 8.1.0 - resolution: "@faker-js/faker@npm:8.1.0" - checksum: 76036cbad2f0735fe2a2834bb3e16233e7c1aa4998cf90dbd097631465f3fcd4e7022c901f80b6de1c25b47154880f06916609a81dacb039a25f9cb000a3ab4e +"@faker-js/faker@npm:^8.4.1": + version: 8.4.1 + resolution: "@faker-js/faker@npm:8.4.1" + checksum: d802d531f8929562715adc279cfec763c9a4bc596ec67b0ce43fd0ae61b285d2b0eec6f1f4aa852452a63721a842fe7e81926dce7bd92acca94b01e2a1f55f5a languageName: node linkType: hard @@ -1072,13 +575,13 @@ __metadata: languageName: node linkType: hard -"@fastify/cors@npm:^8.4.0": - version: 8.4.0 - resolution: "@fastify/cors@npm:8.4.0" +"@fastify/cors@npm:^9.0.1": + version: 9.0.1 + resolution: "@fastify/cors@npm:9.0.1" dependencies: fastify-plugin: ^4.0.0 - mnemonist: 0.39.5 - checksum: 4fe99623918b9c58f6590dac00fe778f2755eacc47de726acf97b3a3305a414425b393422429efca1b261514100f4092a4ad41bc549c6f6edf60e83f9f5d3701 + mnemonist: 0.39.6 + checksum: 3b5618b59ba63636b233b5ac54f061132da53364a98b52a61db57f9fd87678bbe22589411e11b454ad2bf6a5e69e7b9514a9d587c56e28c84aa4b50ea836e380 languageName: node linkType: hard @@ -1089,10 +592,10 @@ __metadata: languageName: node linkType: hard -"@fastify/error@npm:^3.2.0": - version: 3.3.0 - resolution: "@fastify/error@npm:3.3.0" - checksum: 202507c8c7f49922cac2f5afc82802151b0bd9c583ca1c2850bf43d0f4cd97eedb3a3388b9016da74f8a01b517a5861d1f666c506dd64fd22995e559bc139264 +"@fastify/error@npm:^3.3.0, @fastify/error@npm:^3.4.0": + version: 3.4.1 + resolution: "@fastify/error@npm:3.4.1" + checksum: 2c2e98c33327884c0927a73e8c3b8f162acbf1e4d058bacb68bca0c3607f36d6fde8c376fde45b2097e724d450266f8bb29134305fa24aabd200f83f087c7321 languageName: node linkType: hard @@ -1105,356 +608,32 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 - languageName: node - linkType: hard - -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: ^5.3.1 - find-up: ^4.1.0 - get-package-type: ^0.1.0 - js-yaml: ^3.13.1 - resolve-from: ^5.0.0 - checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 - languageName: node - linkType: hard - -"@jest/console@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/console@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - slash: ^3.0.0 - checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a - languageName: node - linkType: hard - -"@jest/core@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/core@npm:28.1.3" - dependencies: - "@jest/console": ^28.1.3 - "@jest/reporters": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - ci-info: ^3.2.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - jest-changed-files: ^28.1.3 - jest-config: ^28.1.3 - jest-haste-map: ^28.1.3 - jest-message-util: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-resolve-dependencies: ^28.1.3 - jest-runner: ^28.1.3 - jest-runtime: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 - jest-watcher: ^28.1.3 - micromatch: ^4.0.4 - pretty-format: ^28.1.3 - rimraf: ^3.0.0 - slash: ^3.0.0 - strip-ansi: ^6.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: cb79f34bafc4637e7130df12257f5b29075892a2be2c7f45c6d4c0420853e80b5dae11016e652530eb234f4c44c00910cdca3c2cd86275721860725073f7d9b4 - languageName: node - linkType: hard - -"@jest/environment@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/environment@npm:28.1.3" - dependencies: - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - jest-mock: ^28.1.3 - checksum: 14c496b84aef951df33128cea68988e9de43b2e9d62be9f9c4308d4ac307fa345642813679f80d0a4cedeb900cf6f0b6bb2b92ce089528e8721f72295fdc727f - languageName: node - linkType: hard - -"@jest/environment@npm:^29.3.1": - version: 29.6.1 - resolution: "@jest/environment@npm:29.6.1" - dependencies: - "@jest/fake-timers": ^29.6.1 - "@jest/types": ^29.6.1 - "@types/node": "*" - jest-mock: ^29.6.1 - checksum: fb671f91f27e7aa1ba04983ef87a83f0794a597aba0a57d08cbb1fcb484c2aedc2201e99f85fafe27aec9be78af6f2d1d7e6ea88267938992a1d0f9d4615f5b2 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/expect-utils@npm:28.1.3" - dependencies: - jest-get-type: ^28.0.2 - checksum: 808ea3a68292a7e0b95490fdd55605c430b4cf209ea76b5b61bfb2a1badcb41bc046810fe4e364bd5fe04663978aa2bd73d8f8465a761dd7c655aeb44cf22987 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect-utils@npm:29.4.3" - dependencies: - jest-get-type: ^29.4.3 - checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 - languageName: node - linkType: hard - -"@jest/expect@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/expect@npm:28.1.3" - dependencies: - expect: ^28.1.3 - jest-snapshot: ^28.1.3 - checksum: 4197f6fdddc33dc45ba4e838f992fc61839c421d7aed0dfe665ef9c2f172bb1df8a8cac9cecee272b40e744a326da521d5e182709fe82a0b936055bfffa3b473 - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/fake-timers@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@sinonjs/fake-timers": ^9.1.2 - "@types/node": "*" - jest-message-util: ^28.1.3 - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - checksum: cec14d5b14913a54dce64a62912c5456235f5d90b509ceae19c727565073114dae1aaf960ac6be96b3eb94789a3a758b96b72c8fca7e49a6ccac415fbc0321e1 - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.3.1, @jest/fake-timers@npm:^29.6.1": - version: 29.6.1 - resolution: "@jest/fake-timers@npm:29.6.1" - dependencies: - "@jest/types": ^29.6.1 - "@sinonjs/fake-timers": ^10.0.2 - "@types/node": "*" - jest-message-util: ^29.6.1 - jest-mock: ^29.6.1 - jest-util: ^29.6.1 - checksum: 86991276944b7d6c2ada3703a272517f5f8f2f4e2af1fe26065f6db1dac4dc6299729a88c46bcb781dcc1b20504c1d4bbd8119fd8a0838ac81a9a4b5d2c8e429 - languageName: node - linkType: hard - -"@jest/globals@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/globals@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/expect": ^28.1.3 - "@jest/types": ^28.1.3 - checksum: 3504bb23de629d466c6f2b6b75d2e1c1b10caccbbcfb7eaa82d22cc37711c8e364c243929581184846605c023b475ea6c42c2e3ea5994429a988d8d527af32cd - languageName: node - linkType: hard - -"@jest/reporters@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/reporters@npm:28.1.3" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - "@jridgewell/trace-mapping": ^0.3.13 - "@types/node": "*" - chalk: ^4.0.0 - collect-v8-coverage: ^1.0.0 - exit: ^0.1.2 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^5.1.0 - istanbul-lib-report: ^3.0.0 - istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.1.3 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - jest-worker: ^28.1.3 - slash: ^3.0.0 - string-length: ^4.0.1 - strip-ansi: ^6.0.0 - terminal-link: ^2.0.0 - v8-to-istanbul: ^9.0.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: a7440887ce837922cbeaa64c3232eb48aae02aa9123f29fc4280ad3e1afe4b35dcba171ba1d5fd219037c396c5152d9c2d102cff1798dd5ae3bd33ac4759ae0a - languageName: node - linkType: hard - -"@jest/schemas@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/schemas@npm:28.1.3" +"@fastify/merge-json-schemas@npm:^0.1.0": + version: 0.1.1 + resolution: "@fastify/merge-json-schemas@npm:0.1.1" dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de + fast-deep-equal: ^3.1.3 + checksum: d5b976f82e6d5d30a603345a29edb176a14866b98dd4d30aabe6e58a91dfc34fb1c2dd97289bdd7f4d1e11675c9dbb9382138968742d2ac8c6fdcc5f7bd08b97 languageName: node linkType: hard -"@jest/schemas@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/schemas@npm:29.4.3" - dependencies: - "@sinclair/typebox": ^0.25.16 - checksum: ac754e245c19dc39e10ebd41dce09040214c96a4cd8efa143b82148e383e45128f24599195ab4f01433adae4ccfbe2db6574c90db2862ccd8551a86704b5bebd +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 languageName: node linkType: hard -"@jest/schemas@npm:^29.6.0": - version: 29.6.0 - resolution: "@jest/schemas@npm:29.6.0" +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" dependencies: "@sinclair/typebox": ^0.27.8 - checksum: c00511c69cf89138a7d974404d3a5060af375b5a52b9c87215d91873129b382ca11c1ff25bd6d605951404bb381ddce5f8091004a61e76457da35db1f5c51365 - languageName: node - linkType: hard - -"@jest/source-map@npm:^28.1.2": - version: 28.1.2 - resolution: "@jest/source-map@npm:28.1.2" - dependencies: - "@jridgewell/trace-mapping": ^0.3.13 - callsites: ^3.0.0 - graceful-fs: ^4.2.9 - checksum: b82a5c2e93d35d86779c61a02ccb967d1b5cd2e9dd67d26d8add44958637cbbb99daeeb8129c7653389cb440dc2a2f5ae4d2183dc453c67669ff98938b775a3a - languageName: node - linkType: hard - -"@jest/test-result@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-result@npm:28.1.3" - dependencies: - "@jest/console": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-sequencer@npm:28.1.3" - dependencies: - "@jest/test-result": ^28.1.3 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - slash: ^3.0.0 - checksum: 13f8905e6d1ec8286694146f7be3cf90eff801bbdea5e5c403e6881444bb390ed15494c7b9948aa94bd7e9c9a851e0d3002ed6e7371d048b478596e5b23df953 - languageName: node - linkType: hard - -"@jest/transform@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/transform@npm:28.1.3" - dependencies: - "@babel/core": ^7.11.6 - "@jest/types": ^28.1.3 - "@jridgewell/trace-mapping": ^0.3.13 - babel-plugin-istanbul: ^6.1.1 - chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.3 - micromatch: ^4.0.4 - pirates: ^4.0.4 - slash: ^3.0.0 - write-file-atomic: ^4.0.1 - checksum: dadf618936e0aa84342f07f532801d5bed43cdf95d1417b929e4f8782c872cff1adc84096d5a287a796d0039a2691c06d8450cce5a713a8b52fbb9f872a1e760 - languageName: node - linkType: hard - -"@jest/types@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/types@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 - languageName: node - linkType: hard - -"@jest/types@npm:^29.3.1, @jest/types@npm:^29.6.1": - version: 29.6.1 - resolution: "@jest/types@npm:29.6.1" - dependencies: - "@jest/schemas": ^29.6.0 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 89fc1ccf71a84fe0da643e0675b1cfe6a6f19ea72e935b2ab1dbdb56ec547e94433fb59b3536d3832a6e156c077865b7176fe9dae707dab9c3d2f9405ba6233c - languageName: node - linkType: hard - -"@jest/types@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/types@npm:29.4.3" - dependencies: - "@jest/schemas": ^29.4.3 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 1756f4149d360f98567f56f434144f7af23ed49a2c42889261a314df6b6654c2de70af618fb2ee0ee39cadaf10835b885845557184509503646c9cb9dcc02bac - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.1.0": - version: 0.1.1 - resolution: "@jridgewell/gen-mapping@npm:0.1.1" - dependencies: - "@jridgewell/set-array": ^1.0.0 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": +"@jridgewell/gen-mapping@npm:^0.3.0": version: 0.3.2 resolution: "@jridgewell/gen-mapping@npm:0.3.2" dependencies: @@ -1465,6 +644,17 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": ^1.2.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" @@ -1479,13 +669,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": +"@jridgewell/set-array@npm:^1.0.1": version: 1.1.2 resolution: "@jridgewell/set-array@npm:1.1.2" checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 + languageName: node + linkType: hard + "@jridgewell/source-map@npm:^0.3.2": version: 0.3.2 resolution: "@jridgewell/source-map@npm:0.3.2" @@ -1520,7 +717,17 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" dependencies: @@ -1530,16 +737,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.17": - version: 0.3.19 - resolution: "@jridgewell/trace-mapping@npm:0.3.19" - dependencies: - "@jridgewell/resolve-uri": ^3.1.0 - "@jridgewell/sourcemap-codec": ^1.4.14 - checksum: 956a6f0f6fec060fb48c6bf1f5ec2064e13cd38c8be3873877d4b92b4a27ba58289a34071752671262a3e3c202abcc3fa2aac64d8447b4b0fa1ba3c9047f1c20 - languageName: node - linkType: hard - "@lukeed/csprng@npm:^1.0.0": version: 1.1.0 resolution: "@lukeed/csprng@npm:1.1.0" @@ -1547,12 +744,12 @@ __metadata: languageName: node linkType: hard -"@mongodb-js/saslprep@npm:^1.1.0": - version: 1.1.0 - resolution: "@mongodb-js/saslprep@npm:1.1.0" +"@mongodb-js/saslprep@npm:^1.1.5": + version: 1.1.7 + resolution: "@mongodb-js/saslprep@npm:1.1.7" dependencies: sparse-bitfield: ^3.0.3 - checksum: 1479a43e216734672f8eb1a2a55165b6896841bd00fb5bd645390a24374ef6c29f0f6d19a43618a19b8f1912fcbd2b2cc2210a62361103d1f28dce6852cf31d4 + checksum: 27e0ae6d4741b89183f2cf4fe2167756f26c9b9a73804d8e72f33e016cd54abf0a987254870da37b62dbf741be075743a35a0b6cd507ad496f258983c7c3a240 languageName: node linkType: hard @@ -1655,66 +852,6 @@ __metadata: languageName: node linkType: hard -"@nirelko/jest-environment-jsdom@npm:^29.6.7": - version: 29.6.7 - resolution: "@nirelko/jest-environment-jsdom@npm:29.6.7" - dependencies: - "@jest/environment": ^29.3.1 - "@jest/fake-timers": ^29.3.1 - "@jest/types": ^29.3.1 - "@nirelko/jsdom": 22.2.3 - "@types/jsdom": ^20.0.0 - "@types/node": "*" - jest-mock: ^29.3.1 - jest-util: ^29.3.1 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 82524f338cffd25e6f9e634804f01ece6a4bbf37d8090f3c228f036e9cddcfe379fd08f6de81ac4d7355eb5dcabc47feaa32642ea91e076b1303cdb337d75fbe - languageName: node - linkType: hard - -"@nirelko/jsdom@npm:22.2.3": - version: 22.2.3 - resolution: "@nirelko/jsdom@npm:22.2.3" - dependencies: - abab: ^2.0.6 - acorn: ^8.8.1 - acorn-globals: ^7.0.0 - cssom: ^0.5.0 - cssstyle: ^2.3.0 - data-urls: ^3.0.2 - decimal.js: ^10.4.2 - domexception: ^4.0.0 - escodegen: ^2.0.0 - form-data: ^4.0.0 - html-encoding-sniffer: ^3.0.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.1 - is-potential-custom-element-name: ^1.0.1 - nwsapi: 2.2.5 - parse5: ^7.1.1 - saxes: ^6.0.0 - symbol-tree: ^3.2.4 - tough-cookie: ^4.1.2 - w3c-xmlserializer: ^4.0.0 - webidl-conversions: ^7.0.0 - whatwg-encoding: ^2.0.0 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^11.0.0 - ws: ^8.11.0 - xml-name-validator: ^4.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: b1617568ab217d4e78c79575d7ced9157bd0e81f6d89ec5a51e6b94cf01b3f53145b0be70852fe470d473442e4a1cdc1d5f55db9acfd4dcd7a665f23c7ff93c2 - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -1775,21 +912,21 @@ __metadata: languageName: node linkType: hard -"@playwright/test@npm:^1.38.1": - version: 1.38.1 - resolution: "@playwright/test@npm:1.38.1" +"@playwright/test@npm:^1.44.1": + version: 1.44.1 + resolution: "@playwright/test@npm:1.44.1" dependencies: - playwright: 1.38.1 + playwright: 1.44.1 bin: playwright: cli.js - checksum: c5ec0b23261fe1ef163b6234f69263bc10e7e5a3fb676c7773ffc70b87459a7ab225f57c03b9de649475771638a04c2e00d9b2739304a4dcf5d3edf20a7a4a82 + checksum: 90507b77e388aa984deb92db56f7bb3b305c6be441e1d0087ca046989cfdda068bbc26d75bd29c20ad3dbb2434e69a8ff0d6b30003b88c9234cd3aa6a9f7deb9 languageName: node linkType: hard -"@remix-run/router@npm:1.9.0": - version: 1.9.0 - resolution: "@remix-run/router@npm:1.9.0" - checksum: 0537b0ff29879ac85077cb4c42eaca4a295b9efd71477848984c2f2dfa5741c9b83d3106a7bb72994a51a9adfeeab3b0f5a40f2dee8be3f0750feeeca2a6d513 +"@remix-run/router@npm:1.16.1": + version: 1.16.1 + resolution: "@remix-run/router@npm:1.16.1" + checksum: 69068815832b30d2a5c063ac1c75365c45cf5b484dab65e1b3129fdbb3c2a7b866401733f766e550dbca1eaf0b84bc772a9c55310f4dd21eb53e62eb1b4625d0 languageName: node linkType: hard @@ -1803,116 +940,198 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.51 - resolution: "@sinclair/typebox@npm:0.24.51" - checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 +"@rollup/rollup-android-arm-eabi@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@sinclair/typebox@npm:^0.25.16": - version: 0.25.23 - resolution: "@sinclair/typebox@npm:0.25.23" - checksum: 5720daec6e604be9ac849e6361cfa30d19f4d01934c9b79a3a5f5290dfcefaa300192ea0d384bb5dd0104432d88447bbad27adfacdf0b0f042b510bf15fbd5db +"@rollup/rollup-android-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm64@npm:4.18.0" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 +"@rollup/rollup-darwin-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": - version: 1.8.6 - resolution: "@sinonjs/commons@npm:1.8.6" - dependencies: - type-detect: 4.0.8 - checksum: 7d3f8c1e85f30cd4e83594fc19b7a657f14d49eb8d95a30095631ce15e906c869e0eff96c5b93dffea7490c00418b07f54582ba49c6560feb2a8c34c0b16832d +"@rollup/rollup-darwin-x64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.18.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.0 - resolution: "@sinonjs/commons@npm:3.0.0" - dependencies: - type-detect: 4.0.8 - checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 +"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": ^3.0.0 - checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 +"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0" + conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^9.1.2": - version: 9.1.2 - resolution: "@sinonjs/fake-timers@npm:9.1.2" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 +"@rollup/rollup-linux-arm64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@testing-library/dom@npm:^9.0.0, @testing-library/dom@npm:^9.3.3": - version: 9.3.3 - resolution: "@testing-library/dom@npm:9.3.3" +"@rollup/rollup-win32-x64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 + languageName: node + linkType: hard + +"@testing-library/dom@npm:^10.0.0, @testing-library/dom@npm:^10.1.0": + version: 10.1.0 + resolution: "@testing-library/dom@npm:10.1.0" dependencies: "@babel/code-frame": ^7.10.4 "@babel/runtime": ^7.12.5 "@types/aria-query": ^5.0.1 - aria-query: 5.1.3 + aria-query: 5.3.0 chalk: ^4.1.0 dom-accessibility-api: ^0.5.9 lz-string: ^1.5.0 pretty-format: ^27.0.2 - checksum: 34e0a564da7beb92aa9cc44a9080221e2412b1a132eb37be3d513fe6c58027674868deb9f86195756d98d15ba969a30fe00632a4e26e25df2a5a4f6ac0686e37 + checksum: 275f53e57914e13361aa01a9fe155a3919ec911b61abddc44a7cd077e49d24672cdd43c76d840f7cdacea2f42c4aae92321066e6ddaff039f413745797d1b390 languageName: node linkType: hard -"@testing-library/jest-dom@npm:^5.17.0": - version: 5.17.0 - resolution: "@testing-library/jest-dom@npm:5.17.0" +"@testing-library/jest-dom@npm:^6.4.5": + version: 6.4.5 + resolution: "@testing-library/jest-dom@npm:6.4.5" dependencies: - "@adobe/css-tools": ^4.0.1 + "@adobe/css-tools": ^4.3.2 "@babel/runtime": ^7.9.2 - "@types/testing-library__jest-dom": ^5.9.1 aria-query: ^5.0.0 chalk: ^3.0.0 css.escape: ^1.5.1 - dom-accessibility-api: ^0.5.6 - lodash: ^4.17.15 + dom-accessibility-api: ^0.6.3 + lodash: ^4.17.21 redent: ^3.0.0 - checksum: 9f28dbca8b50d7c306aae40c3aa8e06f0e115f740360004bd87d57f95acf7ab4b4f4122a7399a76dbf2bdaaafb15c99cc137fdcb0ae457a92e2de0f3fbf9b03b + peerDependencies: + "@jest/globals": ">= 28" + "@types/bun": "*" + "@types/jest": ">= 28" + jest: ">= 28" + vitest: ">= 0.32" + peerDependenciesMeta: + "@jest/globals": + optional: true + "@types/bun": + optional: true + "@types/jest": + optional: true + jest: + optional: true + vitest: + optional: true + checksum: 95bd94f1f4ba2110eaaa15174207f74d46481f0f168a4d58c30f92a9285f797f9949c166aa8401bcb46e16edbf14a097013204d65801e9d1361892757e525bd6 languageName: node linkType: hard -"@testing-library/react@npm:^14.0.0": - version: 14.0.0 - resolution: "@testing-library/react@npm:14.0.0" +"@testing-library/react@npm:^15.0.7": + version: 15.0.7 + resolution: "@testing-library/react@npm:15.0.7" dependencies: "@babel/runtime": ^7.12.5 - "@testing-library/dom": ^9.0.0 + "@testing-library/dom": ^10.0.0 "@types/react-dom": ^18.0.0 peerDependencies: + "@types/react": ^18.0.0 react: ^18.0.0 react-dom: ^18.0.0 - checksum: 4a54c8f56cc4a39b50803205f84f06280bb76521d6d5d4b3b36651d760c7c7752ef142d857d52aaf4fad4848ed7a8be49afc793a5dda105955d2f8bef24901ac + peerDependenciesMeta: + "@types/react": + optional: true + checksum: eb33fd82eb811bb8612aa154e430a2c1c251d5ed45a477ef57fe20095db494ea7dcfa6b1e1e2bffb0c7ee10c86e408745d95a879be8ca8fbe301bb91e5f2e5db languageName: node linkType: hard -"@testing-library/user-event@npm:^14.5.1": - version: 14.5.1 - resolution: "@testing-library/user-event@npm:14.5.1" +"@testing-library/user-event@npm:^14.5.2": + version: 14.5.2 + resolution: "@testing-library/user-event@npm:14.5.2" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: 3e6bc9fd53dfe2f3648190193ed2fd4bca2a1bfb47f68810df3b33f05412526e5fd5c4ef9dc5375635e0f4cdf1859916867b597eed22bda1321e04242ea6c519 + checksum: d76937dffcf0082fbf3bb89eb2b81a31bf5448048dd61c33928c5f10e33a58e035321d39145cefd469bb5a499c68a5b4086b22f1a44e3e7c7e817dc5f6782867 languageName: node linkType: hard @@ -1927,28 +1146,27 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/client@workspace:packages/client" dependencies: - "@babel/plugin-proposal-explicit-resource-management": ^7.23.0 - "@nirelko/jest-environment-jsdom": ^29.6.7 - "@testing-library/dom": ^9.3.3 - "@testing-library/jest-dom": ^5.17.0 - "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.5.1 + "@babel/plugin-proposal-explicit-resource-management": ^7.24.6 + "@testing-library/dom": ^10.1.0 + "@testing-library/jest-dom": ^6.4.5 + "@testing-library/react": ^15.0.7 + "@testing-library/user-event": ^14.5.2 "@ts-react-tdd/server": 1.0.0 - "@types/js-cookie": ^3.0.4 - "@types/react": ^18.2.23 - "@types/react-dom": ^18.2.8 - "@vitejs/plugin-react": ^4.1.0 - axios: ^1.5.1 - fastify: ^4.23.2 - nanoid: ^4.0.2 - react: ^18.2.0 - react-dom: ^18.2.0 + "@types/js-cookie": ^3.0.6 + "@types/react": ^18.3.3 + "@types/react-dom": ^18.3.0 + "@vitejs/plugin-react": ^4.3.0 + axios: ^1.7.2 + fastify: ^4.27.0 + nanoid: ^5.0.7 + react: ^18.3.1 + react-dom: ^18.3.1 react-query: ^3.39.3 - react-router-dom: ^6.16.0 - typescript: ^5.2.2 - vite: ^4.4.9 - vite-plugin-html: ^3.2.0 - vitest: ^0.34.6 + react-router-dom: ^6.23.1 + typescript: ^5.4.5 + vite: ^5.2.12 + vite-plugin-html: ^3.2.2 + vitest: ^1.6.0 languageName: unknown linkType: soft @@ -1956,10 +1174,10 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/e2e@workspace:packages/e2e" dependencies: - "@playwright/test": ^1.38.1 + "@playwright/test": ^1.44.1 "@types/axios": ^0.14.0 - axios: ^1.5.1 - typescript: ^5.2.2 + axios: ^1.7.2 + typescript: ^5.4.5 languageName: unknown linkType: soft @@ -1967,29 +1185,28 @@ __metadata: version: 0.0.0-use.local resolution: "@ts-react-tdd/server@workspace:packages/server" dependencies: - "@faker-js/faker": ^8.1.0 - "@fastify/cors": ^8.4.0 + "@faker-js/faker": ^8.4.1 + "@fastify/cors": ^9.0.1 "@nestjs/common": ^10.3.7 "@nestjs/core": ^10.3.7 "@nestjs/platform-express": ^10.3.7 "@nestjs/testing": ^10.3.7 - "@types/jest": ^28.1.8 - "@types/node": ^20.7.1 + "@types/morgan": ^1.9.5 + "@types/node": ^20.12.12 "@types/supertest": ^6.0.2 - fastify: ^4.23.2 - fastify-type-provider-zod: ^1.1.9 - jest: ^28.1.3 - mongodb: ^6.1.0 - nanoid: ^3.3.7 - nodemon: ^3.0.1 + fastify: ^4.27.0 + fastify-type-provider-zod: ^1.2.0 + mongodb: ^6.6.2 + nanoid: ^5.0.7 + nodemon: ^3.1.1 reflect-metadata: ^0.2.2 rxjs: ^7.8.1 supertest: ^7.0.0 ts-byob: ^1.0.3 - ts-jest: ^28.0.8 - ts-node: ^10.9.1 - typescript: ^5.2.2 - zod: ^3.22.2 + ts-node: ^10.9.2 + typescript: ^5.4.5 + vitest: ^1.6.0 + zod: ^3.23.8 languageName: unknown linkType: soft @@ -2037,29 +1254,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": - version: 7.20.0 - resolution: "@types/babel__core@npm:7.20.0" - dependencies: - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - "@types/babel__generator": "*" - "@types/babel__template": "*" - "@types/babel__traverse": "*" - checksum: 49b601a0a7637f1f387442c8156bd086cfd10ff4b82b0e1994e73a6396643b5435366fb33d6b604eade8467cca594ef97adcbc412aede90bb112ebe88d0ad6df - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.20.2": - version: 7.20.2 - resolution: "@types/babel__core@npm:7.20.2" +"@types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 564fbaa8ff1305d50807ada0ec227c3e7528bebb2f8fe6b2ed88db0735a31511a74ad18729679c43eeed8025ed29d408f53059289719e95ab1352ed559a100bd + checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 languageName: node linkType: hard @@ -2082,7 +1286,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": +"@types/babel__traverse@npm:*": version: 7.18.3 resolution: "@types/babel__traverse@npm:7.18.3" dependencies: @@ -2101,29 +1305,6 @@ __metadata: languageName: node linkType: hard -"@types/chai-subset@npm:^1.3.3": - version: 1.3.3 - resolution: "@types/chai-subset@npm:1.3.3" - dependencies: - "@types/chai": "*" - checksum: 4481da7345022995f5a105e6683744f7203d2c3d19cfe88d8e17274d045722948abf55e0adfd97709e0f043dade37a4d4e98cd4c660e2e8a14f23e6ecf79418f - languageName: node - linkType: hard - -"@types/chai@npm:*": - version: 4.3.4 - resolution: "@types/chai@npm:4.3.4" - checksum: 571184967beb03bf64c4392a13a7d44e72da9af5a1e83077ff81c39cf59c0fda2a5c78d2005084601cf8f3d11726608574d8b5b4a0e3e9736792807afd926cd0 - languageName: node - linkType: hard - -"@types/chai@npm:^4.3.5": - version: 4.3.5 - resolution: "@types/chai@npm:4.3.5" - checksum: c8f26a88c6b5b53a3275c7f5ff8f107028e3cbb9ff26795fff5f3d9dea07106a54ce9e2dce5e40347f7c4cc35657900aaf0c83934a25a1ae12e61e0f5516e431 - languageName: node - linkType: hard - "@types/connect@npm:*": version: 3.4.35 resolution: "@types/connect@npm:3.4.35" @@ -2133,12 +1314,12 @@ __metadata: languageName: node linkType: hard -"@types/cookie-parser@npm:^1.4.4": - version: 1.4.4 - resolution: "@types/cookie-parser@npm:1.4.4" +"@types/cookie-parser@npm:^1.4.7": + version: 1.4.7 + resolution: "@types/cookie-parser@npm:1.4.7" dependencies: "@types/express": "*" - checksum: 5c81ac4b7d90a567e0c7a904ecbc09c82c43e30c6b5b507aee5147bc06bc8c6418e6719d63fcf68e6a83c71870485ab3fc579a30891b56a0be05d64753e3f74a + checksum: 7b87c59420598e686a57e240be6e0db53967c3c8814be9326bf86609ee2fc39c4b3b9f2263e1deba43526090121d1df88684b64c19f7b494a80a4437caf3d40b languageName: node linkType: hard @@ -2149,6 +1330,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:^4.17.33": version: 4.17.33 resolution: "@types/express-serve-static-core@npm:4.17.33" @@ -2172,75 +1360,10 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.6 - resolution: "@types/graceful-fs@npm:4.1.6" - dependencies: - "@types/node": "*" - checksum: c3070ccdc9ca0f40df747bced1c96c71a61992d6f7c767e8fd24bb6a3c2de26e8b84135ede000b7e79db530a23e7e88dcd9db60eee6395d0f4ce1dae91369dd4 - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.0 - resolution: "@types/istanbul-lib-report@npm:3.0.0" - dependencies: - "@types/istanbul-lib-coverage": "*" - checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.1 - resolution: "@types/istanbul-reports@npm:3.0.1" - dependencies: - "@types/istanbul-lib-report": "*" - checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 - languageName: node - linkType: hard - -"@types/jest@npm:*": - version: 29.4.0 - resolution: "@types/jest@npm:29.4.0" - dependencies: - expect: ^29.0.0 - pretty-format: ^29.0.0 - checksum: 23760282362a252e6690314584d83a47512d4cd61663e957ed3398ecf98195fe931c45606ee2f9def12f8ed7d8aa102d492ec42d26facdaf8b78094a31e6568e - languageName: node - linkType: hard - -"@types/jest@npm:^28.1.8": - version: 28.1.8 - resolution: "@types/jest@npm:28.1.8" - dependencies: - expect: ^28.0.0 - pretty-format: ^28.0.0 - checksum: d4cd36158a3ae1d4b42cc48a77c95de74bc56b84cf81e09af3ee0399c34f4a7da8ab9e787570f10004bd642f9e781b0033c37327fbbf4a8e4b6e37e8ee3693a7 - languageName: node - linkType: hard - -"@types/js-cookie@npm:^3.0.4": - version: 3.0.4 - resolution: "@types/js-cookie@npm:3.0.4" - checksum: 46ac93974776a256f3cedadf60b45ded4d905a5e69986882d8c17baa351cb2e81a691864a1f19c3ca90eaa2cb3eeb7cb5426416b487a7d54cf5ff278d39d7870 - languageName: node - linkType: hard - -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "*" - "@types/tough-cookie": "*" - parse5: ^7.0.0 - checksum: d55402c5256ef451f93a6e3d3881f98339fe73a5ac2030588df056d6835df8367b5a857b48d27528289057e26dcdd3f502edc00cb877c79174cb3a4c7f2198c1 +"@types/js-cookie@npm:^3.0.6": + version: 3.0.6 + resolution: "@types/js-cookie@npm:3.0.6" + checksum: 272d551687547445cb210213c73e72e0e5d58ad73e2e444a65d688b8ff9425529779ee0cd6492aaa1f070161916d4254ef2b1a76d64179100437f60749d094ef languageName: node linkType: hard @@ -2258,6 +1381,15 @@ __metadata: languageName: node linkType: hard +"@types/morgan@npm:^1.9.5": + version: 1.9.9 + resolution: "@types/morgan@npm:1.9.9" + dependencies: + "@types/node": "*" + checksum: 54bcb432f6ddb82b94bc1970204bedb3465a9afdcced6c2c6b481cf5f276266663ba3edc2b728b0118aa9720bfe5d8561c0259daaad6b027017e35936b107db0 + languageName: node + linkType: hard + "@types/node@npm:*": version: 18.13.0 resolution: "@types/node@npm:18.13.0" @@ -2265,17 +1397,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.7.1": - version: 20.7.1 - resolution: "@types/node@npm:20.7.1" - checksum: 3140bd6c9130f1ed73a78ce7a1765ee43e155c1eea50eea45e18faeb31d11d97a84fffdc5e3a97582101d2f57d2652a50f510ede6c702780267bad74c822d56c - languageName: node - linkType: hard - -"@types/prettier@npm:^2.1.5": - version: 2.7.2 - resolution: "@types/prettier@npm:2.7.2" - checksum: b47d76a5252265f8d25dd2fe2a5a61dc43ba0e6a96ffdd00c594cb4fd74c1982c2e346497e3472805d97915407a09423804cc2110a0b8e1b22cffcab246479b7 +"@types/node@npm:^20.12.12": + version: 20.12.12 + resolution: "@types/node@npm:20.12.12" + dependencies: + undici-types: ~5.26.4 + checksum: 5373983874b9af7c216e7ca5d26b32a8d9829c703a69f1e66f2113598b5be8582c0e009ca97369f1ec9a6282b3f92812208d06eb1e9fc3bd9b939b022303d042 languageName: node linkType: hard @@ -2309,12 +1436,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.8": - version: 18.2.8 - resolution: "@types/react-dom@npm:18.2.8" +"@types/react-dom@npm:^18.3.0": + version: 18.3.0 + resolution: "@types/react-dom@npm:18.3.0" dependencies: "@types/react": "*" - checksum: d36264631028d021b73cd9e015f10b95c4959ae1ce8f7a7419f318d1f05b1d063e6afffcd2a349a6bccd64ccc9ee9d2d976e1f0437643f0e7db621fa035bca65 + checksum: a0cd9b1b815a6abd2a367a9eabdd8df8dd8f13f95897b2f9e1359ea3ac6619f957c1432ece004af7d95e2a7caddbba19faa045f831f32d6263483fc5404a7596 languageName: node linkType: hard @@ -2329,14 +1456,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.23": - version: 18.2.23 - resolution: "@types/react@npm:18.2.23" +"@types/react@npm:^18.3.3": + version: 18.3.3 + resolution: "@types/react@npm:18.3.3" dependencies: "@types/prop-types": "*" - "@types/scheduler": "*" csstype: ^3.0.2 - checksum: efb9d1ed1940c0e7ba08a21ffba5e266d8dbbb8fe618cfb97bc902dfc96385fdd8189e3f7f64b4aa13134f8e61947d60560deb23be151253c3a97b0d070897ca + checksum: c63d6a78163244e2022b01ef79b0baec4fe4da3475dc4a90bb8accefad35ef0c43560fd0312e5974f92a0f1108aa4d669ac72d73d66396aa060ea03b5d2e3873 languageName: node linkType: hard @@ -2357,13 +1483,6 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": - version: 2.0.1 - resolution: "@types/stack-utils@npm:2.0.1" - checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 - languageName: node - linkType: hard - "@types/superagent@npm:^8.1.0": version: 8.1.7 resolution: "@types/superagent@npm:8.1.7" @@ -2385,22 +1504,6 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.5 - resolution: "@types/testing-library__jest-dom@npm:5.14.5" - dependencies: - "@types/jest": "*" - checksum: dcb05416758fe88c1f4f3aa97b4699fcb46a5ed8f53c6b81721e66155452a48caf12ecb97dfdfd4130678e65efd66b9fca0ac434b3d63affec84842a84a6bf38 - languageName: node - linkType: hard - -"@types/tough-cookie@npm:*": - version: 4.0.2 - resolution: "@types/tough-cookie@npm:4.0.2" - checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 - languageName: node - linkType: hard - "@types/triple-beam@npm:^1.3.2": version: 1.3.2 resolution: "@types/triple-beam@npm:1.3.2" @@ -2415,104 +1518,81 @@ __metadata: languageName: node linkType: hard -"@types/whatwg-url@npm:^8.2.1": - version: 8.2.2 - resolution: "@types/whatwg-url@npm:8.2.2" +"@types/whatwg-url@npm:^11.0.2": + version: 11.0.5 + resolution: "@types/whatwg-url@npm:11.0.5" dependencies: - "@types/node": "*" "@types/webidl-conversions": "*" - checksum: 5dc5afe078dfa1a8a266745586fa3db9baa8ce7cc904789211d1dca1d34d7f3dd17d0b7423c36bc9beab9d98aa99338f1fc60798c0af6cbb8356f20e20d9f243 + checksum: 23a0c45aff51817807b473a6adb181d6e3bb0d27dde54e84883d5d5bc93358e95204d2188e7ff7fdc2cdaf157e97e1188ef0a22ec79228da300fc30d4a05b56a languageName: node linkType: hard -"@types/yargs-parser@npm:*": - version: 21.0.0 - resolution: "@types/yargs-parser@npm:21.0.0" - checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.22 - resolution: "@types/yargs@npm:17.0.22" - dependencies: - "@types/yargs-parser": "*" - checksum: 0773523fda71bafdc52f13f5970039e535a353665a60ba9261149a5c9c2b908242e6e77fbb7a8c06931ec78ce889d64d09673c68ba23eb5f5742d5385d0d1982 - languageName: node - linkType: hard - -"@vitejs/plugin-react@npm:^4.1.0": - version: 4.1.0 - resolution: "@vitejs/plugin-react@npm:4.1.0" +"@vitejs/plugin-react@npm:^4.3.0": + version: 4.3.0 + resolution: "@vitejs/plugin-react@npm:4.3.0" dependencies: - "@babel/core": ^7.22.20 - "@babel/plugin-transform-react-jsx-self": ^7.22.5 - "@babel/plugin-transform-react-jsx-source": ^7.22.5 - "@types/babel__core": ^7.20.2 - react-refresh: ^0.14.0 + "@babel/core": ^7.24.5 + "@babel/plugin-transform-react-jsx-self": ^7.24.5 + "@babel/plugin-transform-react-jsx-source": ^7.24.1 + "@types/babel__core": ^7.20.5 + react-refresh: ^0.14.2 peerDependencies: - vite: ^4.2.0 - checksum: 73dd403f5bca4f3f99f0bd3dcbb0cc0ecf88f758b886fb599711be744ca93f20adafe1af3574a998ac7cbd24aaf67ac7fe06983d87088cbdf535540ab402d496 + vite: ^4.2.0 || ^5.0.0 + checksum: e4642c081e74e701fc07f03f505b44eb428d7105461b8026e7364ecd30dcf7785126bf272767a3bc36899b6abe85479af444612ef6d09509d9bc7d6025cac925 languageName: node linkType: hard -"@vitest/expect@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/expect@npm:0.34.6" +"@vitest/expect@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/expect@npm:1.6.0" dependencies: - "@vitest/spy": 0.34.6 - "@vitest/utils": 0.34.6 + "@vitest/spy": 1.6.0 + "@vitest/utils": 1.6.0 chai: ^4.3.10 - checksum: 37a526f4af7e73fc56b71ba1139d6d93ff1972315d0e0691de967179298d2ad086e8803d2b28defe0e97a1326d808cd886e4b802d1691d8894cb234e35ed5185 + checksum: f3a9959ea387622297efed9e3689fd405044a813df5d5923302eaaea831e250d8d6a0ccd44fb387a95c19963242695ed803afc7c46ae06c48a8e06f194951984 languageName: node linkType: hard -"@vitest/runner@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/runner@npm:0.34.6" +"@vitest/runner@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/runner@npm:1.6.0" dependencies: - "@vitest/utils": 0.34.6 - p-limit: ^4.0.0 + "@vitest/utils": 1.6.0 + p-limit: ^5.0.0 pathe: ^1.1.1 - checksum: 0357f0a11f4e1e170099f9125e379bbe8049a59faa7b34b919b3e5ee8927f30824c2b3ebb814b6a77c75ec35a30bf9adb8ec2b5e051525b4edd0d17be15725cc + checksum: 2dcd953477d5effc051376e35a7f2c2b28abbe07c54e61157c9a6d6f01c880e079592c959397b3a55471423256ab91709c150881a33632558b81b1e251a0bf9c languageName: node linkType: hard -"@vitest/snapshot@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/snapshot@npm:0.34.6" +"@vitest/snapshot@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/snapshot@npm:1.6.0" dependencies: - magic-string: ^0.30.1 + magic-string: ^0.30.5 pathe: ^1.1.1 - pretty-format: ^29.5.0 - checksum: c2f164b23741cdf10f449575a0f9996cf385675d0f76d2eb696f53b614743811f2fbefdc5eb0fd3f9544ccfbb566d57a5c50a70595167458579d56429b09151f + pretty-format: ^29.7.0 + checksum: c4249fbf3ce310de86a19529a0a5c10b1bde4d8d8a678029c632335969b86cbdbf51cedc20d5e9c9328afee834d13cec1b8de5d0fd58139bf8e2dd8dcd0797f4 languageName: node linkType: hard -"@vitest/spy@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/spy@npm:0.34.6" +"@vitest/spy@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/spy@npm:1.6.0" dependencies: - tinyspy: ^2.1.1 - checksum: b05e5906f2f489a3234a0380a21cb48635915aa7f28eac92a595e78e9ceefb95340311635e39684b32fff20f9c58fdc33488eeddee39a660cd94c9c6bc2febf7 + tinyspy: ^2.2.0 + checksum: 0201975232255e1197f70fc6b23a1ff5e606138a5b96598fff06077d5b747705391013ee98f951affcfd8f54322e4ae1416200393248bb6a9c794f4ef663a066 languageName: node linkType: hard -"@vitest/utils@npm:0.34.6": - version: 0.34.6 - resolution: "@vitest/utils@npm:0.34.6" +"@vitest/utils@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/utils@npm:1.6.0" dependencies: - diff-sequences: ^29.4.3 - loupe: ^2.3.6 - pretty-format: ^29.5.0 - checksum: acf716af2bab66037e49bd6d3e8bae40b605b9bff515d4926c46d6f8cc2366decfac5a1756ea55029968e71fba1da1f992764c3a57c9b46eccce3f6db7197bd6 - languageName: node - linkType: hard - -"abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e + diff-sequences: ^29.6.3 + estree-walker: ^3.0.3 + loupe: ^2.3.7 + pretty-format: ^29.7.0 + checksum: a4749533a48e7e4bbc8eafee0fee0e9a0d4eaa4910fbdb490d34e16f8ebcce59a2b38529b9e6b4578e3b4510ea67b29384c93165712b0a19f2e71946922d2c56 languageName: node linkType: hard @@ -2549,38 +1629,35 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" - dependencies: - acorn: ^8.1.0 - acorn-walk: ^8.0.2 - checksum: 2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": +"acorn-walk@npm:^8.1.1": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.2": - version: 8.8.2 - resolution: "acorn@npm:8.8.2" +"acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 3626b9d26a37b1b427796feaa5261faf712307a8920392c8dce9a5739fb31077667f4ad2ec71c7ac6aaf9f61f04a9d3d67ff56f459587206fc04aa31c27ef392 + languageName: node + linkType: hard + +"acorn@npm:^8.11.3": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" bin: acorn: bin/acorn - checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 + checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c languageName: node linkType: hard -"acorn@npm:^8.8.1": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" +"acorn@npm:^8.4.1, acorn@npm:^8.5.0": + version: 8.8.2 + resolution: "acorn@npm:8.8.2" bin: acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d + checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 languageName: node linkType: hard @@ -2602,6 +1679,15 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: ^4.3.4 + checksum: 51c158769c5c051482f9ca2e6e1ec085ac72b5a418a9b31b4e82fe6c0a6699adb94c1c42d246699a587b3335215037091c79e0de512c516f73b6ea844202f037 + languageName: node + linkType: hard + "agentkeepalive@npm:^4.2.1": version: 4.2.1 resolution: "agentkeepalive@npm:4.2.1" @@ -2637,6 +1723,20 @@ __metadata: languageName: node linkType: hard +"ajv-formats@npm:^3.0.1": + version: 3.0.1 + resolution: "ajv-formats@npm:3.0.1" + dependencies: + ajv: ^8.0.0 + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: f4e1fe232d67fcafc02eafe373a7a9962351e0439dd0736647ca75c93c3da23b430b6502c255ab4315410ae330d4f3013ac9fe226c40b2524ca93a58e786d086 + languageName: node + linkType: hard + "ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" @@ -2649,15 +1749,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: ^0.21.3 - checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -2674,7 +1765,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -2690,7 +1781,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": +"anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -2714,13 +1805,6 @@ __metadata: languageName: node linkType: hard -"archy@npm:^1.0.0": - version: 1.0.0 - resolution: "archy@npm:1.0.0" - checksum: 504ae7af655130bab9f471343cfdb054feaec7d8e300e13348bc9fe9e660f83d422e473069584f73233c701ae37d1c8452ff2522f2a20c38849e0f406f1732ac - languageName: node - linkType: hard - "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -2738,16 +1822,16 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" +"aria-query@npm:5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" dependencies: - sprintf-js: ~1.0.2 - checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + dequal: ^2.0.3 + checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9 languageName: node linkType: hard -"aria-query@npm:5.1.3, aria-query@npm:^5.0.0": +"aria-query@npm:^5.0.0": version: 5.1.3 resolution: "aria-query@npm:5.1.3" dependencies: @@ -2801,116 +1885,39 @@ __metadata: "available-typed-arrays@npm:^1.0.5": version: 1.0.5 resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a - languageName: node - linkType: hard - -"avvio@npm:^8.2.1": - version: 8.2.1 - resolution: "avvio@npm:8.2.1" - dependencies: - archy: ^1.0.0 - debug: ^4.0.0 - fastq: ^1.6.1 - checksum: 4c96922ea123d13b26cb78a071a8989fde62ee8580352b6d2f05b7976ed3d23efa663c12ee1be35501dfe65e12a769a2ea522bcdb7ca35a5ba4d86766467075a - languageName: node - linkType: hard - -"axios@npm:*": - version: 1.3.3 - resolution: "axios@npm:1.3.3" - dependencies: - follow-redirects: ^1.15.0 - form-data: ^4.0.0 - proxy-from-env: ^1.1.0 - checksum: b734a4bc348e2fa27150a7d4289d783fa405feb3f79f8daf28fd05813a12c8525ae9d3854aafe7ba041b005a4a751a0ba3b923331ceed41296ae14c7e54e2f26 - languageName: node - linkType: hard - -"axios@npm:^1.5.1": - version: 1.5.1 - resolution: "axios@npm:1.5.1" - dependencies: - follow-redirects: ^1.15.0 - form-data: ^4.0.0 - proxy-from-env: ^1.1.0 - checksum: 4444f06601f4ede154183767863d2b8e472b4a6bfc5253597ed6d21899887e1fd0ee2b3de792ac4f8459fe2e359d2aa07c216e45fd8b9e4e0688a6ebf48a5a8d - languageName: node - linkType: hard - -"babel-jest@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-jest@npm:28.1.3" - dependencies: - "@jest/transform": ^28.1.3 - "@types/babel__core": ^7.1.14 - babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^28.1.3 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - slash: ^3.0.0 - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 57ccd2296e1839687b5df2fd138c3d00717e0369e385254b012ccd4ee70e75f5d5c8e6cfcdf92d155015b468cfebb847b38e69bb5805d8aaf730e20575127cc6 + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" +"avvio@npm:^8.3.0": + version: 8.3.2 + resolution: "avvio@npm:8.3.2" dependencies: - "@babel/helper-plugin-utils": ^7.0.0 - "@istanbuljs/load-nyc-config": ^1.0.0 - "@istanbuljs/schema": ^0.1.2 - istanbul-lib-instrument: ^5.0.4 - test-exclude: ^6.0.0 - checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + "@fastify/error": ^3.3.0 + fastq: ^1.17.1 + checksum: 137a4a4962e6559665f0d3fef7a06d1932edf284043dc7c2f947e2acf07f2e350fe48784a5d081069e56d299d4a1020cc8679930a53744e356862996d0b23e3f languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-plugin-jest-hoist@npm:28.1.3" +"axios@npm:*": + version: 1.3.3 + resolution: "axios@npm:1.3.3" dependencies: - "@babel/template": ^7.3.3 - "@babel/types": ^7.3.3 - "@types/babel__core": ^7.1.14 - "@types/babel__traverse": ^7.0.6 - checksum: 648d89f9d80f6450ce7e50d0c32eb91b7f26269b47c3e37aaf2e0f2f66a980978345bd6b8c9b8c3aa6a8252ad2bc2c9fb50630e9895622c9a0972af5f70ed20e - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" - dependencies: - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-bigint": ^7.8.3 - "@babel/plugin-syntax-class-properties": ^7.8.3 - "@babel/plugin-syntax-import-meta": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.8.3 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-top-level-await": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + follow-redirects: ^1.15.0 + form-data: ^4.0.0 + proxy-from-env: ^1.1.0 + checksum: b734a4bc348e2fa27150a7d4289d783fa405feb3f79f8daf28fd05813a12c8525ae9d3854aafe7ba041b005a4a751a0ba3b923331ceed41296ae14c7e54e2f26 languageName: node linkType: hard -"babel-preset-jest@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-preset-jest@npm:28.1.3" +"axios@npm:^1.7.2": + version: 1.7.2 + resolution: "axios@npm:1.7.2" dependencies: - babel-plugin-jest-hoist: ^28.1.3 - babel-preset-current-node-syntax: ^1.0.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 8248a4a5ca4242cc06ad13b10b9183ad2664da8fb0da060c352223dcf286f0ce9c708fa17901dc44ecabec25e6d309e5e5b9830a61dd777c3925f187a345a47d + follow-redirects: ^1.15.6 + form-data: ^4.0.0 + proxy-from-env: ^1.1.0 + checksum: e457e2b0ab748504621f6fa6609074ac08c824bf0881592209dfa15098ece7e88495300e02cd22ba50b3468fd712fe687e629dcb03d6a3f6a51989727405aedf languageName: node linkType: hard @@ -3013,56 +2020,24 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.3": - version: 4.21.5 - resolution: "browserslist@npm:4.21.5" - dependencies: - caniuse-lite: ^1.0.30001449 - electron-to-chromium: ^1.4.284 - node-releases: ^2.0.8 - update-browserslist-db: ^1.0.10 - bin: - browserslist: cli.js - checksum: 9755986b22e73a6a1497fd8797aedd88e04270be33ce66ed5d85a1c8a798292a65e222b0f251bafa1c2522261e237d73b08b58689d4920a607e5a53d56dc4706 - languageName: node - linkType: hard - -"browserslist@npm:^4.21.9": - version: 4.21.10 - resolution: "browserslist@npm:4.21.10" +"browserslist@npm:^4.22.2": + version: 4.23.0 + resolution: "browserslist@npm:4.23.0" dependencies: - caniuse-lite: ^1.0.30001517 - electron-to-chromium: ^1.4.477 - node-releases: ^2.0.13 - update-browserslist-db: ^1.0.11 + caniuse-lite: ^1.0.30001587 + electron-to-chromium: ^1.4.668 + node-releases: ^2.0.14 + update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 1e27c0f111a35d1dd0e8fc2c61781b0daefabc2c9471b0b10537ce54843014bceb2a1ce4571af1a82b2bf1e6e6e05d38865916689a158f03bc2c7a4ec2577db8 - languageName: node - linkType: hard - -"bs-logger@npm:0.x": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: 2.x - checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: ^0.4.0 - checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 + checksum: 436f49e796782ca751ebab7edc010cfc9c29f68536f387666cd70ea22f7105563f04dd62c6ff89cb24cc3254d17cba385f979eeeb3484d43e012412ff7e75def languageName: node linkType: hard -"bson@npm:^6.1.0": - version: 6.1.0 - resolution: "bson@npm:6.1.0" - checksum: 8250c8158c22d2a0ca0e7677c0cbef9fa6341c176382b835dbf4c7f8aebdfd74d530f7225c6f3b98ca78a68aab4f1ad3d2fad54160a98b3e6ed9823b80db2e48 +"bson@npm:^6.7.0": + version: 6.7.0 + resolution: "bson@npm:6.7.0" + checksum: f77b7001e2ec603b1058e9f2d99b642be4673e0356adf4fbdc463afd89de434d3be9d81305c1befbcda9bf8616e70a8f7ec0c8ec7a79154ca40ba455b73ea280 languageName: node linkType: hard @@ -3155,13 +2130,6 @@ __metadata: languageName: node linkType: hard -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 - languageName: node - linkType: hard - "camel-case@npm:^4.1.2": version: 4.1.2 resolution: "camel-case@npm:4.1.2" @@ -3172,31 +2140,10 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001449": - version: 1.0.30001452 - resolution: "caniuse-lite@npm:1.0.30001452" - checksum: de02aad7b71112409f30de53e8080bef0fe612ed95bba8b14fb830f59683e8caabc27bdd520563686965be77f2cb56e239e44b920144630b91d7fe9911ba8ad5 - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001517": - version: 1.0.30001523 - resolution: "caniuse-lite@npm:1.0.30001523" - checksum: 3a007dc8147d4b5a6c22661d424e6d4e4e9595d0dcb279d25b93161cc7d54363eb12d053f40a186ba7e42a8bc4f59e6e121474b7aa339bf7ec200258400d39bc +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001625 + resolution: "caniuse-lite@npm:1.0.30001625" + checksum: e7f8b9e10c35a5d9a1d1db76be398cb1c592ee1bc905fabe6bd90313537099d29a65c49c85e6350132fa30ca20e8c0317ecfaa66d997f7fac21ff37ddaece2a9 languageName: node linkType: hard @@ -3236,7 +2183,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0": +"chalk@npm:^4.0.2, chalk@npm:^4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -3246,13 +2193,6 @@ __metadata: languageName: node linkType: hard -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 - languageName: node - linkType: hard - "check-error@npm:^1.0.3": version: 1.0.3 resolution: "check-error@npm:1.0.3" @@ -3288,20 +2228,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.8.0 - resolution: "ci-info@npm:3.8.0" - checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098 - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.2 - resolution: "cjs-module-lexer@npm:1.2.2" - checksum: 977f3f042bd4f08e368c890d91eecfbc4f91da0bc009a3c557bc4dfbf32022ad1141244ac1178d44de70fc9f3dea7add7cd9a658a34b9fae98a55d8f92331ce5 - languageName: node - linkType: hard - "clean-css@npm:^5.2.2": version: 5.3.2 resolution: "clean-css@npm:5.3.2" @@ -3318,31 +2244,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.1 - wrap-ansi: ^7.0.0 - checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.1 - resolution: "collect-v8-coverage@npm:1.0.1" - checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 - languageName: node - linkType: hard - "color-convert@npm:^1.9.0, color-convert@npm:^1.9.3": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -3470,6 +2371,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.7": + version: 0.1.7 + resolution: "confbox@npm:0.1.7" + checksum: bde836c26f5154a348b0c0a757f8a0138929e5737e0553be3c4f07a056abca618b861aa63ac3b22d344789b56be99a1382928933e08cd500df00213bf4d8fb43 + languageName: node + linkType: hard + "connect-history-api-fallback@npm:^1.6.0": version: 1.6.0 resolution: "connect-history-api-fallback@npm:1.6.0" @@ -3507,13 +2415,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -3545,20 +2446,13 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.6.0": +"cookie@npm:0.6.0, cookie@npm:^0.6.0": version: 0.6.0 resolution: "cookie@npm:0.6.0" checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 languageName: node linkType: hard -"cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 - languageName: node - linkType: hard - "cookiejar@npm:^2.1.4": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" @@ -3628,35 +2522,12 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 - languageName: node - linkType: hard - -"cssstyle@npm:^3.0.0": - version: 3.0.0 - resolution: "cssstyle@npm:3.0.0" +"cssstyle@npm:^4.0.1": + version: 4.0.1 + resolution: "cssstyle@npm:4.0.1" dependencies: rrweb-cssom: ^0.6.0 - checksum: 31f694dfed9998ed93570fe539610837b878193dd8487c33cb12db8004333c53c2a3904166288bbec68388c72fb01014d46d3243ddfb02fe845989d852c06f27 + checksum: 4b2fdd81c565b1f8f24a792f85d3a19269a2f201e731c3fe3531d7fc78b4bc6b31906ed17aba7edba7b1c8b7672574fc6c09fe925556da3a9a9458dbf8c4fa22 languageName: node linkType: hard @@ -3667,25 +2538,13 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: ^2.0.6 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^11.0.0 - checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 - languageName: node - linkType: hard - -"data-urls@npm:^4.0.0": - version: 4.0.0 - resolution: "data-urls@npm:4.0.0" +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" dependencies: - abab: ^2.0.6 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^12.0.0 - checksum: 006e869b5bf079647949a3e9b1dd69d84b2d5d26e6b01c265485699bc96e83817d4b5aae758b2910a4c58c0601913f3a0034121c1ca2da268e9a244c57515b15 + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.0.0 + checksum: 5c40568c31b02641a70204ff233bc4e42d33717485d074244a98661e5f2a1e80e38fe05a5755dfaf2ee549f2ab509d6a3af2a85f4b2ad2c984e5d176695eaf46 languageName: node linkType: hard @@ -3698,7 +2557,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3710,29 +2569,13 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c - languageName: node - linkType: hard - -"decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3": +"decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae languageName: node linkType: hard -"dedent@npm:^0.7.0": - version: 0.7.0 - resolution: "dedent@npm:0.7.0" - checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 - languageName: node - linkType: hard - "deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" @@ -3767,20 +2610,6 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:~0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2": - version: 4.3.0 - resolution: "deepmerge@npm:4.3.0" - checksum: c7980eb5c5be040b371f1df0d566473875cfabed9f672ccc177b81ba8eee5686ce2478de2f1d0076391621cbe729e5eacda397179a59ef0f68901849647db126 - languageName: node - linkType: hard - "define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -3830,6 +2659,13 @@ __metadata: languageName: node linkType: hard +"dequal@npm:^2.0.3": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 + languageName: node + linkType: hard + "destroy@npm:1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -3837,13 +2673,6 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 - languageName: node - linkType: hard - "detect-node@npm:^2.0.4, detect-node@npm:^2.1.0": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -3861,17 +2690,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^28.1.1": - version: 28.1.1 - resolution: "diff-sequences@npm:28.1.1" - checksum: e2529036505567c7ca5a2dea86b6bcd1ca0e3ae63bf8ebf529b8a99cfa915bbf194b7021dc1c57361a4017a6d95578d4ceb29fabc3232a4f4cb866a2726c7690 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.4.3": - version: 29.4.3 - resolution: "diff-sequences@npm:29.4.3" - checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: f4914158e1f2276343d98ff5b31fc004e7304f5470bf0f1adb2ac6955d85a531a6458d33e87667f98f6ae52ebd3891bb47d420bb48a5bd8b7a27ee25b20e33aa languageName: node linkType: hard @@ -3882,13 +2704,20 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": +"dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" checksum: 005eb283caef57fc1adec4d5df4dd49189b628f2f575af45decb210e04d634459e3f1ee64f18b41e2dcf200c844bc1d9279d80807e686a30d69a4756151ad248 languageName: node linkType: hard +"dom-accessibility-api@npm:^0.6.3": + version: 0.6.3 + resolution: "dom-accessibility-api@npm:0.6.3" + checksum: c325b5144bb406df23f4affecffc117dbaec9af03daad9ee6b510c5be647b14d28ef0a4ea5ca06d696d8ab40bb777e5fed98b985976fdef9d8790178fa1d573f + languageName: node + linkType: hard + "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -3907,15 +2736,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: ^7.0.0 - checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 - languageName: node - linkType: hard - "domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -3992,24 +2812,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.284": - version: 1.4.296 - resolution: "electron-to-chromium@npm:1.4.296" - checksum: ab156f23a5f8ef452f5a5764e42d98c89d3a225ab4660c165235a4f62ab86c114d2ab8af872f14a52b48b7a41e8db9d11b497260ac9199724c8f848b4b433e46 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.477": - version: 1.4.503 - resolution: "electron-to-chromium@npm:1.4.503" - checksum: 77198f5d4365931fb6f18670f1cc2bc6833516dfe935e69209da45ba06fd9e3bb02678216ab8c1cf7b047655559b7d591d922d9a781a1f91c7f5a32d5f51f778 - languageName: node - linkType: hard - -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac +"electron-to-chromium@npm:^1.4.668": + version: 1.4.783 + resolution: "electron-to-chromium@npm:1.4.783" + checksum: 49dfd8614c8e28076ca82e241a4a246685440dacde5e2cdb85d57a0d5bcc1cbd5de3201b3158b94ad5f1016e91ab9bb0d4da8cfe46d2897400fb62e6a5be198e languageName: node linkType: hard @@ -4071,15 +2877,6 @@ __metadata: languageName: node linkType: hard -"error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: ^0.2.1 - checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 - languageName: node - linkType: hard - "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -4113,110 +2910,36 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.10": - version: 0.18.17 - resolution: "esbuild@npm:0.18.17" - dependencies: - "@esbuild/android-arm": 0.18.17 - "@esbuild/android-arm64": 0.18.17 - "@esbuild/android-x64": 0.18.17 - "@esbuild/darwin-arm64": 0.18.17 - "@esbuild/darwin-x64": 0.18.17 - "@esbuild/freebsd-arm64": 0.18.17 - "@esbuild/freebsd-x64": 0.18.17 - "@esbuild/linux-arm": 0.18.17 - "@esbuild/linux-arm64": 0.18.17 - "@esbuild/linux-ia32": 0.18.17 - "@esbuild/linux-loong64": 0.18.17 - "@esbuild/linux-mips64el": 0.18.17 - "@esbuild/linux-ppc64": 0.18.17 - "@esbuild/linux-riscv64": 0.18.17 - "@esbuild/linux-s390x": 0.18.17 - "@esbuild/linux-x64": 0.18.17 - "@esbuild/netbsd-x64": 0.18.17 - "@esbuild/openbsd-x64": 0.18.17 - "@esbuild/sunos-x64": 0.18.17 - "@esbuild/win32-arm64": 0.18.17 - "@esbuild/win32-ia32": 0.18.17 - "@esbuild/win32-x64": 0.18.17 +"esbuild@npm:^0.20.1": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" + dependencies: + "@esbuild/aix-ppc64": 0.20.2 + "@esbuild/android-arm": 0.20.2 + "@esbuild/android-arm64": 0.20.2 + "@esbuild/android-x64": 0.20.2 + "@esbuild/darwin-arm64": 0.20.2 + "@esbuild/darwin-x64": 0.20.2 + "@esbuild/freebsd-arm64": 0.20.2 + "@esbuild/freebsd-x64": 0.20.2 + "@esbuild/linux-arm": 0.20.2 + "@esbuild/linux-arm64": 0.20.2 + "@esbuild/linux-ia32": 0.20.2 + "@esbuild/linux-loong64": 0.20.2 + "@esbuild/linux-mips64el": 0.20.2 + "@esbuild/linux-ppc64": 0.20.2 + "@esbuild/linux-riscv64": 0.20.2 + "@esbuild/linux-s390x": 0.20.2 + "@esbuild/linux-x64": 0.20.2 + "@esbuild/netbsd-x64": 0.20.2 + "@esbuild/openbsd-x64": 0.20.2 + "@esbuild/sunos-x64": 0.20.2 + "@esbuild/win32-arm64": 0.20.2 + "@esbuild/win32-ia32": 0.20.2 + "@esbuild/win32-x64": 0.20.2 dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": + "@esbuild/aix-ppc64": optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: c6e1ffa776978a45697763a07ec9b16411db3d3b3997b2c4a0165a211727fce8b63b87165a28d8ef60d3a28b98197bbbc2833e51b89888a4437e0a483dffc8ff - languageName: node - linkType: hard - -"esbuild@npm:^0.19.3": - version: 0.19.4 - resolution: "esbuild@npm:0.19.4" - dependencies: - "@esbuild/android-arm": 0.19.4 - "@esbuild/android-arm64": 0.19.4 - "@esbuild/android-x64": 0.19.4 - "@esbuild/darwin-arm64": 0.19.4 - "@esbuild/darwin-x64": 0.19.4 - "@esbuild/freebsd-arm64": 0.19.4 - "@esbuild/freebsd-x64": 0.19.4 - "@esbuild/linux-arm": 0.19.4 - "@esbuild/linux-arm64": 0.19.4 - "@esbuild/linux-ia32": 0.19.4 - "@esbuild/linux-loong64": 0.19.4 - "@esbuild/linux-mips64el": 0.19.4 - "@esbuild/linux-ppc64": 0.19.4 - "@esbuild/linux-riscv64": 0.19.4 - "@esbuild/linux-s390x": 0.19.4 - "@esbuild/linux-x64": 0.19.4 - "@esbuild/netbsd-x64": 0.19.4 - "@esbuild/openbsd-x64": 0.19.4 - "@esbuild/sunos-x64": 0.19.4 - "@esbuild/win32-arm64": 0.19.4 - "@esbuild/win32-ia32": 0.19.4 - "@esbuild/win32-x64": 0.19.4 - dependenciesMeta: "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -4263,14 +2986,14 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 024309a16365b020815a30e9a3a9354894a391cf1adbfad7f44a975cf161ab5e961619b30e1ec8ea02994631d71e6b38831119be69f8ccb610c32bbe21addc79 + checksum: bc88050fc1ca5c1bd03648f9979e514bdefb956a63aa3974373bb7b9cbac0b3aac9b9da1b5bdca0b3490e39d6b451c72815dbd6b7d7f978c91fbe9c9e9aa4e4c languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 +"escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 1ec0977aa2772075493002bdbd549d595ff6e9393b1cb0d7d6fcaf78c750da0c158f180938365486f75cb69fba20294351caddfce1b46552a7b6c3cde52eaa02 languageName: node linkType: hard @@ -4288,49 +3011,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - optionator: ^0.8.1 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 - languageName: node - linkType: hard - -"estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b - languageName: node - linkType: hard - "estree-walker@npm:^2.0.1": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -4338,10 +3018,12 @@ __metadata: languageName: node linkType: hard -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": ^1.0.0 + checksum: a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af languageName: node linkType: hard @@ -4366,53 +3048,20 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" dependencies: cross-spawn: ^7.0.3 - get-stream: ^6.0.0 - human-signals: ^2.1.0 - is-stream: ^2.0.0 + get-stream: ^8.0.1 + human-signals: ^5.0.0 + is-stream: ^3.0.0 merge-stream: ^2.0.0 - npm-run-path: ^4.0.1 - onetime: ^5.1.2 - signal-exit: ^3.0.3 - strip-final-newline: ^2.0.0 - checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 - languageName: node - linkType: hard - -"expect@npm:^28.0.0, expect@npm:^28.1.3": - version: 28.1.3 - resolution: "expect@npm:28.1.3" - dependencies: - "@jest/expect-utils": ^28.1.3 - jest-get-type: ^28.0.2 - jest-matcher-utils: ^28.1.3 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - checksum: 101e0090de300bcafedb7dbfd19223368a2251ce5fe0105bbb6de5720100b89fb6b64290ebfb42febc048324c76d6a4979cdc4b61eb77747857daf7a5de9b03d - languageName: node - linkType: hard - -"expect@npm:^29.0.0": - version: 29.4.3 - resolution: "expect@npm:29.4.3" - dependencies: - "@jest/expect-utils": ^29.4.3 - jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^4.1.0 + strip-final-newline: ^3.0.0 + checksum: cac1bf86589d1d9b73bdc5dda65c52012d1a9619c44c526891956745f7b366ca2603d29fe3f7460bacc2b48c6eab5d6a4f7afe0534b31473d3708d1265545e1f languageName: node linkType: hard @@ -4455,7 +3104,7 @@ __metadata: languageName: node linkType: hard -"fast-content-type-parse@npm:^1.0.0": +"fast-content-type-parse@npm:^1.1.0": version: 1.1.0 resolution: "fast-content-type-parse@npm:1.1.0" checksum: c8c995b60ed30c4914aa255f012347f63fffa0c258039977b2080bb5c951dc6ef68a9243eac8ab456190642be44a31a7ada6e74d846e04f4667d40ebf778b94e @@ -4489,13 +3138,6 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb - languageName: node - linkType: hard - "fast-json-stringify@npm:^5.7.0": version: 5.8.0 resolution: "fast-json-stringify@npm:5.8.0" @@ -4510,10 +3152,18 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:~2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c +"fast-json-stringify@npm:^5.8.0": + version: 5.16.0 + resolution: "fast-json-stringify@npm:5.16.0" + dependencies: + "@fastify/merge-json-schemas": ^0.1.0 + ajv: ^8.10.0 + ajv-formats: ^3.0.1 + fast-deep-equal: ^3.1.3 + fast-uri: ^2.1.0 + json-schema-ref-resolver: ^1.0.1 + rfdc: ^1.2.0 + checksum: b2eaf3843d6337d65c31f90afb0db9a19d710e363c9d57fec3c1a50087189264174efcbde6c96eb5cbff1be2f739a59284bd7ce1a87dcb38e600e250051581ea languageName: node linkType: hard @@ -4554,43 +3204,52 @@ __metadata: languageName: node linkType: hard -"fastify-type-provider-zod@npm:^1.1.9": - version: 1.1.9 - resolution: "fastify-type-provider-zod@npm:1.1.9" +"fastify-type-provider-zod@npm:^1.2.0": + version: 1.2.0 + resolution: "fastify-type-provider-zod@npm:1.2.0" dependencies: - zod-to-json-schema: ^3.17.1 + zod-to-json-schema: ^3.23.0 peerDependencies: fastify: ^4.0.0 zod: ^3.14.2 - checksum: 86792031057cf3807a2e77ef41b16161d94c89ab95bd6284574502351df9c4d1e1621d4f7e7f3f14cd81aec9923c3a4f61c8889d5abb3b57e52ee9c0015056e1 + checksum: d37b3a1be78291a78ca162508f85db96f839e875ee3e760b8ac1cc7b12b631943c250399435d443610d79d83b67075ddc7b4b1d6d19b7aa3177a31cdb3799511 languageName: node linkType: hard -"fastify@npm:^4.23.2": - version: 4.23.2 - resolution: "fastify@npm:4.23.2" +"fastify@npm:^4.27.0": + version: 4.27.0 + resolution: "fastify@npm:4.27.0" dependencies: "@fastify/ajv-compiler": ^3.5.0 - "@fastify/error": ^3.2.0 + "@fastify/error": ^3.4.0 "@fastify/fast-json-stringify-compiler": ^4.3.0 abstract-logging: ^2.0.1 - avvio: ^8.2.1 - fast-content-type-parse: ^1.0.0 - fast-json-stringify: ^5.7.0 - find-my-way: ^7.6.0 - light-my-request: ^5.9.1 - pino: ^8.12.0 - process-warning: ^2.2.0 + avvio: ^8.3.0 + fast-content-type-parse: ^1.1.0 + fast-json-stringify: ^5.8.0 + find-my-way: ^8.0.0 + light-my-request: ^5.11.0 + pino: ^9.0.0 + process-warning: ^3.0.0 proxy-addr: ^2.0.7 rfdc: ^1.3.0 - secure-json-parse: ^2.5.0 - semver: ^7.5.0 - toad-cache: ^3.2.0 - checksum: 125cc67b3dbd86f97918e2dbfc0655cea93d20a93a9a0d14c3a0fd0a1c7fa60bb2a204331baeedea606f085f7b0c11c532c2eac52d1b2bb7bb10334b7e072512 + secure-json-parse: ^2.7.0 + semver: ^7.5.4 + toad-cache: ^3.3.0 + checksum: efd0f9ba109d89d3801aefb5d3ccd505e398484f007f23dc04409cba46079401924687adf0d0b9026af9bb7ee86fca976b1576465c56e119a91469c25313ee75 + languageName: node + linkType: hard + +"fastq@npm:^1.17.1": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: ^1.0.4 + checksum: a8c5b26788d5a1763f88bae56a8ddeee579f935a831c5fe7a8268cea5b0a91fbfe705f612209e02d639b881d7b48e461a50da4a10cfaa40da5ca7cc9da098d88 languageName: node linkType: hard -"fastq@npm:^1.6.0, fastq@npm:^1.6.1": +"fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" dependencies: @@ -4599,15 +3258,6 @@ __metadata: languageName: node linkType: hard -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: 2.1.1 - checksum: b15a124cef28916fe07b400eb87cbc73ca082c142abf7ca8e8de6af43eca79ca7bd13eb4d4d48240b3bd3136eaac40d16e42d6edf87a8e5d1dd8070626860c78 - languageName: node - linkType: hard - "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -4648,24 +3298,14 @@ __metadata: languageName: node linkType: hard -"find-my-way@npm:^7.6.0": - version: 7.6.2 - resolution: "find-my-way@npm:7.6.2" +"find-my-way@npm:^8.0.0": + version: 8.2.0 + resolution: "find-my-way@npm:8.2.0" dependencies: fast-deep-equal: ^3.1.3 fast-querystring: ^1.0.0 - safe-regex2: ^2.0.0 - checksum: 56c02350aba2cc4cff82b3e00171cf4db72756b8ca5f0e41562d21f89cf29512b9e83b6e29ab352303ca9d0dcbfcd8c93f50d52dc92f1eeecc4bc991404ef533 - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: ^5.0.0 - path-exists: ^4.0.0 - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + safe-regex2: ^3.1.0 + checksum: 4f59fe17a1431511ec172403da0d1ac05bf9efebfdd4c7149b658d748b2570b63d798847e08ceea00f57543611fdb64ba3793dfc67a9ed7b5bfa0d77c8693eb5 languageName: node linkType: hard @@ -4686,6 +3326,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.15.6": + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" + peerDependenciesMeta: + debug: + optional: true + checksum: a62c378dfc8c00f60b9c80cab158ba54e99ba0239a5dd7c81245e5a5b39d10f0c35e249c3379eae719ff0285fff88c365dd446fab19dee771f1d76252df1bbf5 + languageName: node + linkType: hard + "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -4758,7 +3408,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:2.3.2, fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:2.3.2, fsevents@npm:~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -4778,7 +3428,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@2.3.2#~builtin, fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": +"fsevents@patch:fsevents@2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -4840,13 +3490,6 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 - languageName: node - linkType: hard - "get-func-name@npm:^2.0.0": version: 2.0.0 resolution: "get-func-name@npm:2.0.0" @@ -4854,7 +3497,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b @@ -4885,17 +3528,10 @@ __metadata: languageName: node linkType: hard -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 01e3d3cf29e1393f05f44d2f00445c5f9ec3d1c49e8179b31795484b9c117f4c695e5e07b88b50785d5c8248a788c85d9913a79266fc77e3ef11f78f10f1b974 languageName: node linkType: hard @@ -4951,7 +3587,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da @@ -5061,19 +3697,12 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" dependencies: - whatwg-encoding: ^2.0.0 - checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 + whatwg-encoding: ^3.1.1 + checksum: 3339b71dab2723f3159a56acf541ae90a408ce2d11169f00fe7e0c4663d31d6398c8a4408b504b4eec157444e47b084df09b3cb039c816660f0dd04846b8957d languageName: node linkType: hard @@ -5125,7 +3754,17 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": +"http-proxy-agent@npm:^7.0.2": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: ^7.1.0 + debug: ^4.3.4 + checksum: 670858c8f8f3146db5889e1fa117630910101db601fff7d5a8aa637da0abedf68c899f03d3451cac2f83bcc4c3d2dabf339b3aa00ff8080571cceb02c3ce02f3 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -5135,10 +3774,20 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 +"https-proxy-agent@npm:^7.0.4": + version: 7.0.4 + resolution: "https-proxy-agent@npm:7.0.4" + dependencies: + agent-base: ^7.0.2 + debug: 4 + checksum: daaab857a967a2519ddc724f91edbbd388d766ff141b9025b629f92b9408fc83cee8a27e11a907aede392938e9c398e240d643e178408a59e4073539cde8cfe9 + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 6504560d5ed91444f16bea3bd9dfc66110a339442084e56c3e7fa7bbdf3f406426d6563d662bdce67064b165eac31eeabfc0857ed170aaa612cf14ec9f9a464c languageName: node linkType: hard @@ -5183,18 +3832,6 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: ^4.2.0 - resolve-cwd: ^3.0.0 - bin: - import-local-fixture: fixtures/cli.js - checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -5279,13 +3916,6 @@ __metadata: languageName: node linkType: hard -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f - languageName: node - linkType: hard - "is-arrayish@npm:^0.3.1": version: 0.3.2 resolution: "is-arrayish@npm:0.3.2" @@ -5328,15 +3958,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.9.0": - version: 2.11.0 - resolution: "is-core-module@npm:2.11.0" - dependencies: - has: ^1.0.3 - checksum: f96fd490c6b48eb4f6d10ba815c6ef13f410b0ba6f7eb8577af51697de523e5f2cd9de1c441b51d27251bf0e4aebc936545e33a5d26d5d51f28d25698d4a8bab - languageName: node - linkType: hard - "is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -5360,13 +3981,6 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 - languageName: node - linkType: hard - "is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -5446,6 +4060,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -5515,58 +4136,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": ^7.12.3 - "@babel/parser": ^7.14.7 - "@istanbuljs/schema": ^0.1.2 - istanbul-lib-coverage: ^3.2.0 - semver: ^6.3.0 - checksum: bf16f1803ba5e51b28bbd49ed955a736488381e09375d830e42ddeb403855b2006f850711d95ad726f2ba3f1ae8e7366de7e51d2b9ac67dc4d80191ef7ddf272 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-report@npm:3.0.0" - dependencies: - istanbul-lib-coverage: ^3.0.0 - make-dir: ^3.0.0 - supports-color: ^7.1.0 - checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: ^4.1.1 - istanbul-lib-coverage: ^3.0.0 - source-map: ^0.6.1 - checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3": - version: 3.1.5 - resolution: "istanbul-reports@npm:3.1.5" - dependencies: - html-escaper: ^2.0.0 - istanbul-lib-report: ^3.0.0 - checksum: 7867228f83ed39477b188ea07e7ccb9b4f5320b6f73d1db93a0981b7414fa4ef72d3f80c4692c442f90fc250d9406e71d8d7ab65bb615cb334e6292b73192b89 - languageName: node - linkType: hard - "iterare@npm:1.2.1": version: 1.2.1 resolution: "iterare@npm:1.2.1" @@ -5588,549 +4157,6 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-changed-files@npm:28.1.3" - dependencies: - execa: ^5.0.0 - p-limit: ^3.1.0 - checksum: c78af14a68b9b19101623ae7fde15a2488f9b3dbe8cca12a05c4a223bc9bfd3bf41ee06830f20fb560c52434435d6153c9cc6cf450b1f7b03e5e7f96a953a6a6 - languageName: node - linkType: hard - -"jest-circus@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-circus@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/expect": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - dedent: ^0.7.0 - is-generator-fn: ^2.0.0 - jest-each: ^28.1.3 - jest-matcher-utils: ^28.1.3 - jest-message-util: ^28.1.3 - jest-runtime: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 - p-limit: ^3.1.0 - pretty-format: ^28.1.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: b635e60a9c92adaefc3f24def8eba691e7c2fdcf6c9fa640cddf2eb8c8b26ee62eab73ebb88798fd7c52a74c1495a984e39b748429b610426f02e9d3d56e09b2 - languageName: node - linkType: hard - -"jest-cli@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-cli@npm:28.1.3" - dependencies: - "@jest/core": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 - chalk: ^4.0.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - import-local: ^3.0.2 - jest-config: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 - prompts: ^2.0.1 - yargs: ^17.3.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: fb424576bf38346318daddee3fcc597cd78cb8dda1759d09c529d8ba1a748f2765c17b00671072a838826e59465a810ff8a232bc6ba2395c131bf3504425a363 - languageName: node - linkType: hard - -"jest-config@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-config@npm:28.1.3" - dependencies: - "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^28.1.3 - "@jest/types": ^28.1.3 - babel-jest: ^28.1.3 - chalk: ^4.0.0 - ci-info: ^3.2.0 - deepmerge: ^4.2.2 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - jest-circus: ^28.1.3 - jest-environment-node: ^28.1.3 - jest-get-type: ^28.0.2 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-runner: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 - micromatch: ^4.0.4 - parse-json: ^5.2.0 - pretty-format: ^28.1.3 - slash: ^3.0.0 - strip-json-comments: ^3.1.1 - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: ddabffd3a3a8cb6c2f58f06cdf3535157dbf8c70bcde3e5c3de7bee6a8d617840ffc8cffb0083e38c6814f2a08c225ca19f58898efaf4f351af94679f22ce6bc - languageName: node - linkType: hard - -"jest-diff@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-diff@npm:28.1.3" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^28.1.1 - jest-get-type: ^28.0.2 - pretty-format: ^28.1.3 - checksum: fa8583e0ccbe775714ce850b009be1b0f6b17a4b6759f33ff47adef27942ebc610dbbcc8a5f7cfb7f12b3b3b05afc9fb41d5f766674616025032ff1e4f9866e0 - languageName: node - linkType: hard - -"jest-diff@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-diff@npm:29.4.3" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^29.4.3 - jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 - languageName: node - linkType: hard - -"jest-docblock@npm:^28.1.1": - version: 28.1.1 - resolution: "jest-docblock@npm:28.1.1" - dependencies: - detect-newline: ^3.0.0 - checksum: 22fca68d988ecb2933bc65f448facdca85fc71b4bd0a188ea09a5ae1b0cc3a049a2a6ec7e7eaa2542c1d5cb5e5145e420a3df4fa280f5070f486c44da1d36151 - languageName: node - linkType: hard - -"jest-each@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-each@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - chalk: ^4.0.0 - jest-get-type: ^28.0.2 - jest-util: ^28.1.3 - pretty-format: ^28.1.3 - checksum: 5c5b8ccb1484e58b027bea682cfa020a45e5bf5379cc7c23bdec972576c1dc3c3bf03df2b78416cefc1a58859dd33b7cf5fff54c370bc3c0f14a3e509eb87282 - languageName: node - linkType: hard - -"jest-environment-node@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-environment-node@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - checksum: 1048fe306a6a8b0880a4c66278ebb57479f29c12cff89aab3aa79ab77a8859cf17ab8aa9919fd21c329a7db90e35581b43664e694ad453d5b04e00f3c6420469 - languageName: node - linkType: hard - -"jest-get-type@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-get-type@npm:28.0.2" - checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd - languageName: node - linkType: hard - -"jest-get-type@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-get-type@npm:29.4.3" - checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce - languageName: node - linkType: hard - -"jest-haste-map@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-haste-map@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/graceful-fs": ^4.1.3 - "@types/node": "*" - anymatch: ^3.0.3 - fb-watchman: ^2.0.0 - fsevents: ^2.3.2 - graceful-fs: ^4.2.9 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.3 - jest-worker: ^28.1.3 - micromatch: ^4.0.4 - walker: ^1.0.8 - dependenciesMeta: - fsevents: - optional: true - checksum: d05fdc108645fc2b39fcd4001952cc7a8cb550e93494e98c1e9ab1fc542686f6ac67177c132e564cf94fe8f81503f3f8db8b825b9b713dc8c5748aec63ba4688 - languageName: node - linkType: hard - -"jest-leak-detector@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-leak-detector@npm:28.1.3" - dependencies: - jest-get-type: ^28.0.2 - pretty-format: ^28.1.3 - checksum: 2e976a4880cf9af11f53a19f6a3820e0f90b635a900737a5427fc42e337d5628ba446dcd7c020ecea3806cf92bc0bbf6982ed62a9cd84e5a13d8751aa30fbbb7 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-matcher-utils@npm:28.1.3" - dependencies: - chalk: ^4.0.0 - jest-diff: ^28.1.3 - jest-get-type: ^28.0.2 - pretty-format: ^28.1.3 - checksum: 6b34f0cf66f6781e92e3bec97bf27796bd2ba31121e5c5997218d9adba6deea38a30df5203937d6785b68023ed95cbad73663cc9aad6fb0cb59aeb5813a58daf - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-matcher-utils@npm:29.4.3" - dependencies: - chalk: ^4.0.0 - jest-diff: ^29.4.3 - jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d - languageName: node - linkType: hard - -"jest-message-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-message-util@npm:28.1.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^28.1.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^28.1.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 - languageName: node - linkType: hard - -"jest-message-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-message-util@npm:29.4.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.4.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^29.4.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced - languageName: node - linkType: hard - -"jest-message-util@npm:^29.6.1": - version: 29.6.1 - resolution: "jest-message-util@npm:29.6.1" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.6.1 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^29.6.1 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 3e7cb2ff087fe72255292e151d24e4fbb4cd6134885c0a67a4b302f233fe4110bf7580b176f427f05ad7550eb878ed94237209785d09d659a7d171ffa59c068f - languageName: node - linkType: hard - -"jest-mock@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-mock@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - checksum: a573bf8e5f12f4c29c661266c31b5c6b69a28d3195b83049983bce025b2b1a0152351567e89e63b102ef817034c2a3aa97eda4e776f3bae2aee54c5765573aa7 - languageName: node - linkType: hard - -"jest-mock@npm:^29.3.1, jest-mock@npm:^29.6.1": - version: 29.6.1 - resolution: "jest-mock@npm:29.6.1" - dependencies: - "@jest/types": ^29.6.1 - "@types/node": "*" - jest-util: ^29.6.1 - checksum: 5e902f1a7eba1eb1a64eb6c19947fe1316834359d9869d0e2644d8979b9cad0465885dc4c9909c471888cddeea835c938cec6263d386d3d1aad720fc74e52ea1 - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2 - languageName: node - linkType: hard - -"jest-regex-util@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-regex-util@npm:28.0.2" - checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-resolve-dependencies@npm:28.1.3" - dependencies: - jest-regex-util: ^28.0.2 - jest-snapshot: ^28.1.3 - checksum: 4eea9ec33aefc1c71dc5956391efbcc7be76bda986b366ab3931d99c5f7ed01c9ebd7520e405ea2c76e1bb2c7ce504be6eca2b9831df16564d1e625500f3bfe7 - languageName: node - linkType: hard - -"jest-resolve@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-resolve@npm:28.1.3" - dependencies: - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - jest-pnp-resolver: ^1.2.2 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 - resolve: ^1.20.0 - resolve.exports: ^1.1.0 - slash: ^3.0.0 - checksum: df61a490c93f4f4cf52135e43d6a4fcacb07b0b7d4acc6319e9289529c1d14f2d8e1638e095dbf96f156834802755e38db68caca69dba21a3261ee711d4426b6 - languageName: node - linkType: hard - -"jest-runner@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-runner@npm:28.1.3" - dependencies: - "@jest/console": ^28.1.3 - "@jest/environment": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - emittery: ^0.10.2 - graceful-fs: ^4.2.9 - jest-docblock: ^28.1.1 - jest-environment-node: ^28.1.3 - jest-haste-map: ^28.1.3 - jest-leak-detector: ^28.1.3 - jest-message-util: ^28.1.3 - jest-resolve: ^28.1.3 - jest-runtime: ^28.1.3 - jest-util: ^28.1.3 - jest-watcher: ^28.1.3 - jest-worker: ^28.1.3 - p-limit: ^3.1.0 - source-map-support: 0.5.13 - checksum: 32405cd970fa6b11e039192dae699fd1bcc6f61f67d50605af81d193f24dd4373b25f5fcc1c571a028ec1b02174e8a4b6d0d608772063fb06f08a5105693533b - languageName: node - linkType: hard - -"jest-runtime@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-runtime@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/fake-timers": ^28.1.3 - "@jest/globals": ^28.1.3 - "@jest/source-map": ^28.1.2 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - chalk: ^4.0.0 - cjs-module-lexer: ^1.0.0 - collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - jest-message-util: ^28.1.3 - jest-mock: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 - slash: ^3.0.0 - strip-bom: ^4.0.0 - checksum: b17c40af858e74dafa4f515ef3711c1e9ef3d4ad7d74534ee0745422534bc04fd166d4eceb62a3aa7dc951505d6f6d2a81d16e90bebb032be409ec0500974a36 - languageName: node - linkType: hard - -"jest-snapshot@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-snapshot@npm:28.1.3" - dependencies: - "@babel/core": ^7.11.6 - "@babel/generator": ^7.7.2 - "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 - "@babel/types": ^7.3.3 - "@jest/expect-utils": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/babel__traverse": ^7.0.6 - "@types/prettier": ^2.1.5 - babel-preset-current-node-syntax: ^1.0.0 - chalk: ^4.0.0 - expect: ^28.1.3 - graceful-fs: ^4.2.9 - jest-diff: ^28.1.3 - jest-get-type: ^28.0.2 - jest-haste-map: ^28.1.3 - jest-matcher-utils: ^28.1.3 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - natural-compare: ^1.4.0 - pretty-format: ^28.1.3 - semver: ^7.3.5 - checksum: 2a46a5493f1fb50b0a236a21f25045e7f46a244f9f3ae37ef4fbcd40249d0d68bb20c950ce77439e4e2cac985b05c3061c90b34739bf6069913a1199c8c716e1 - languageName: node - linkType: hard - -"jest-util@npm:^28.0.0, jest-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-util@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 - languageName: node - linkType: hard - -"jest-util@npm:^29.3.1, jest-util@npm:^29.6.1": - version: 29.6.1 - resolution: "jest-util@npm:29.6.1" - dependencies: - "@jest/types": ^29.6.1 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: fc553556c1350c443449cadaba5fb9d604628e8b5ceb6ceaf4e7e08975b24277d0a14bf2e0f956024e03c23e556fcb074659423422a06fbedf2ab52978697ac7 - languageName: node - linkType: hard - -"jest-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-util@npm:29.4.3" - dependencies: - "@jest/types": ^29.4.3 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: 606b3e6077895baf8fb4ad4d08c134f37a6b81d5ba77ae654c942b1ae4b7294ab3b5a0eb93db34f129407b367970cf3b76bf5c80897b30f215f2bc8bf20a5f3f - languageName: node - linkType: hard - -"jest-validate@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-validate@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - camelcase: ^6.2.0 - chalk: ^4.0.0 - jest-get-type: ^28.0.2 - leven: ^3.1.0 - pretty-format: ^28.1.3 - checksum: 95e0513b3803c3372a145cda86edbdb33d9dfeaa18818176f2d581e821548ceac9a179f065b6d4671a941de211354efd67f1fff8789a4fb89962565c85f646db - languageName: node - linkType: hard - -"jest-watcher@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-watcher@npm:28.1.3" - dependencies: - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^28.1.3 - string-length: ^4.0.1 - checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 - languageName: node - linkType: hard - -"jest-worker@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-worker@npm:28.1.3" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca - languageName: node - linkType: hard - -"jest@npm:^28.1.3": - version: 28.1.3 - resolution: "jest@npm:28.1.3" - dependencies: - "@jest/core": ^28.1.3 - "@jest/types": ^28.1.3 - import-local: ^3.0.2 - jest-cli: ^28.1.3 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: b9dcb542eb7c16261c281cdc2bf37155dbb3f1205bae0b567f05051db362c85ddd4b765f126591efb88f6d298eb10336d0aa6c7d5373b4d53f918137a9a70182 - languageName: node - linkType: hard - "js-sha3@npm:0.8.0": version: 0.8.0 resolution: "js-sha3@npm:0.8.0" @@ -6145,54 +4171,44 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 - bin: - js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c +"js-tokens@npm:^9.0.0": + version: 9.0.0 + resolution: "js-tokens@npm:9.0.0" + checksum: 427d0db681caab0c906cfc78a0235bbe7b41712cee83f3f14785c1de079a1b1a85693cc8f99a3f71685d0d76acaa5b9c8920850b67f93d3eeb7ef186987d186c languageName: node linkType: hard -"jsdom@npm:^21.1.2": - version: 21.1.2 - resolution: "jsdom@npm:21.1.2" +"jsdom@npm:^24.1.0": + version: 24.1.0 + resolution: "jsdom@npm:24.1.0" dependencies: - abab: ^2.0.6 - acorn: ^8.8.2 - acorn-globals: ^7.0.0 - cssstyle: ^3.0.0 - data-urls: ^4.0.0 + cssstyle: ^4.0.1 + data-urls: ^5.0.0 decimal.js: ^10.4.3 - domexception: ^4.0.0 - escodegen: ^2.0.0 form-data: ^4.0.0 - html-encoding-sniffer: ^3.0.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.1 + html-encoding-sniffer: ^4.0.0 + http-proxy-agent: ^7.0.2 + https-proxy-agent: ^7.0.4 is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.4 + nwsapi: ^2.2.10 parse5: ^7.1.2 - rrweb-cssom: ^0.6.0 + rrweb-cssom: ^0.7.0 saxes: ^6.0.0 symbol-tree: ^3.2.4 - tough-cookie: ^4.1.2 - w3c-xmlserializer: ^4.0.0 + tough-cookie: ^4.1.4 + w3c-xmlserializer: ^5.0.0 webidl-conversions: ^7.0.0 - whatwg-encoding: ^2.0.0 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^12.0.1 - ws: ^8.13.0 - xml-name-validator: ^4.0.0 + whatwg-encoding: ^3.1.1 + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.0.0 + ws: ^8.17.0 + xml-name-validator: ^5.0.0 peerDependencies: - canvas: ^2.5.0 + canvas: ^2.11.2 peerDependenciesMeta: canvas: optional: true - checksum: 6b3cf2d15e5a5712b3db5ff56eba82b97c9a879b52e95063cc8323bdf8837b6ca15cfec85b57ab71c95c6b4a4098bf67f274c6ff4e9ff519aa4811a04f290610 + checksum: c24b244308cabb2aabee2bdcc5041c810bc45320d0e8721c3eaaf5700d5f8498730809b10da4a97065abfccd937132700d64ae275491424c6b1b20a21d58d2e2 languageName: node linkType: hard @@ -6205,10 +4221,12 @@ __metadata: languageName: node linkType: hard -"json-parse-even-better-errors@npm:^2.3.0": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f +"json-schema-ref-resolver@npm:^1.0.1": + version: 1.0.1 + resolution: "json-schema-ref-resolver@npm:1.0.1" + dependencies: + fast-deep-equal: ^3.1.3 + checksum: b4215cd58b2f5233d433c9f110e91b29d41c1efcb24534a0493be3cdded35acbba7f0b04e53848e6d5c748981dcddb3d09b1cdc3ec8806fce861694a2a94bec3 languageName: node linkType: hard @@ -6219,7 +4237,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -6248,13 +4266,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 - languageName: node - linkType: hard - "kuler@npm:^2.0.0": version: 2.0.0 resolution: "kuler@npm:2.0.0" @@ -6262,65 +4273,28 @@ __metadata: languageName: node linkType: hard -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 - languageName: node - linkType: hard - -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e - languageName: node - linkType: hard - -"light-my-request@npm:^5.9.1": - version: 5.11.0 - resolution: "light-my-request@npm:5.11.0" +"light-my-request@npm:^5.11.0": + version: 5.13.0 + resolution: "light-my-request@npm:5.13.0" dependencies: - cookie: ^0.5.0 - process-warning: ^2.0.0 + cookie: ^0.6.0 + process-warning: ^3.0.0 set-cookie-parser: ^2.4.1 - checksum: f639edb4664534bfcc87aff3fc36e7199ef5b04c399ce51a87481786d23ad1d439a71a5beeada5d0fe607c9d6efccbcd1bef265f31397e130f4077d43cc6d45f - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 - languageName: node - linkType: hard - -"local-pkg@npm:^0.4.3": - version: 0.4.3 - resolution: "local-pkg@npm:0.4.3" - checksum: 7825aca531dd6afa3a3712a0208697aa4a5cd009065f32e3fb732aafcc42ed11f277b5ac67229222e96f4def55197171cdf3d5522d0381b489d2e5547b407d55 + checksum: d0264c43813d4c9e3802d8292821ccee214ec793ce8b9b8f7433d005de1a220483782c64eb83494c2307e2b4e3eb3ca506f6eebd087ec022b43f770e1826f2d8 languageName: node linkType: hard -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" dependencies: - p-locate: ^4.1.0 - checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 - languageName: node - linkType: hard - -"lodash.memoize@npm:4.x": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 + mlly: ^1.4.2 + pkg-types: ^1.0.3 + checksum: b0a6931e588ad4f7bf4ab49faacf49e07fc4d05030f895aa055d46727a15b99300d39491cf2c3e3f05284aec65565fb760debb74c32e64109f4a101f9300d81a languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.17.15": +"lodash@npm:4.17.21, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -6361,6 +4335,15 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: ^2.0.1 + checksum: 96c058ec7167598e238bb7fb9def2f9339215e97d6685d9c1e3e4bdb33d14600e11fe7a812cf0c003dfb73ca2df374f146280b2287cae9e8d989e9d7a69a203b + languageName: node + linkType: hard + "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -6404,25 +4387,16 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.1": - version: 0.30.1 - resolution: "magic-string@npm:0.30.1" +"magic-string@npm:^0.30.5": + version: 0.30.10 + resolution: "magic-string@npm:0.30.10" dependencies: "@jridgewell/sourcemap-codec": ^1.4.15 - checksum: 7bc7e4493e32a77068f3753bf8652d4ab44142122eb7fb9fa871af83bef2cd2c57518a6769701cd5d0379bd624a13bc8c72ca25ac5655b27e5a61adf1fd38db2 - languageName: node - linkType: hard - -"make-dir@npm:^3.0.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" - dependencies: - semver: ^6.0.0 - checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + checksum: 456fd47c39b296c47dff967e1965121ace35417eab7f45a99e681e725b8661b48e1573c366ee67a27715025b3740773c46b088f115421c7365ea4ea6fa10d399 languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -6453,15 +4427,6 @@ __metadata: languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: 1.0.5 - checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 - languageName: node - linkType: hard - "match-sorter@npm:^6.0.2": version: 6.3.1 resolution: "match-sorter@npm:6.3.1" @@ -6565,10 +4530,10 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 languageName: node linkType: hard @@ -6701,7 +4666,7 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.2.0, mlly@npm:^1.4.0": +"mlly@npm:^1.2.0": version: 1.4.0 resolution: "mlly@npm:1.4.0" dependencies: @@ -6713,32 +4678,44 @@ __metadata: languageName: node linkType: hard -"mnemonist@npm:0.39.5": - version: 0.39.5 - resolution: "mnemonist@npm:0.39.5" +"mlly@npm:^1.4.2, mlly@npm:^1.7.0": + version: 1.7.0 + resolution: "mlly@npm:1.7.0" + dependencies: + acorn: ^8.11.3 + pathe: ^1.1.2 + pkg-types: ^1.1.0 + ufo: ^1.5.3 + checksum: c1548f4dd0e31ce15d293ebb7c61778bd28c405573dc43dcf799eaeb8f6b776d7dadd95e957d6631b9cc4bb963cd01079d58b7e2290ed540aa460e061bdbd1fa + languageName: node + linkType: hard + +"mnemonist@npm:0.39.6": + version: 0.39.6 + resolution: "mnemonist@npm:0.39.6" dependencies: obliterator: ^2.0.1 - checksum: 6669d687a434226924b2c84ee6eb7ce7d0f83dfc5caad8bcc164c73c0c11fb6d43cbe32636e710f068046f4b40a56c3032532554e93e02640aafc6ca3dd222e6 + checksum: 10cb09aa33de92625d5004f541e6aaaab8ae4bb26c6917e8505189f2fc20b122c773a4c11639bb6b5bfdc6000645c2d210ecd47fb203176fe28c338443c466eb languageName: node linkType: hard -"mongodb-connection-string-url@npm:^2.6.0": - version: 2.6.0 - resolution: "mongodb-connection-string-url@npm:2.6.0" +"mongodb-connection-string-url@npm:^3.0.0": + version: 3.0.1 + resolution: "mongodb-connection-string-url@npm:3.0.1" dependencies: - "@types/whatwg-url": ^8.2.1 - whatwg-url: ^11.0.0 - checksum: 1d662f0ecfe96f7a400f625c244b2e52914c98f3562ee7d19941127578b5f8237624433bdcea285a654041b945b518803512989690c74548aec5860c5541c605 + "@types/whatwg-url": ^11.0.2 + whatwg-url: ^13.0.0 + checksum: b0a3b9e619c53ce8c10452c6475dc1eeba4761ae1b293b1b37014acf609f44ab7057f084de8fceead9934dba2aad0a59315eab9371c1287dbaaf5aae48c6d371 languageName: node linkType: hard -"mongodb@npm:^6.1.0": - version: 6.1.0 - resolution: "mongodb@npm:6.1.0" +"mongodb@npm:^6.6.2": + version: 6.6.2 + resolution: "mongodb@npm:6.6.2" dependencies: - "@mongodb-js/saslprep": ^1.1.0 - bson: ^6.1.0 - mongodb-connection-string-url: ^2.6.0 + "@mongodb-js/saslprep": ^1.1.5 + bson: ^6.7.0 + mongodb-connection-string-url: ^3.0.0 peerDependencies: "@aws-sdk/credential-providers": ^3.188.0 "@mongodb-js/zstd": ^1.1.0 @@ -6762,7 +4739,7 @@ __metadata: optional: true socks: optional: true - checksum: ed60c14f0a7e2e9088ba58f29b0425bc5c00d81e3f692938e3bb887b2fdbb411935e845a8bab3faa7609e6e52e94b9705cf60fac61684d21b8bc92a5c3938964 + checksum: 865cad2ef2e8300d84bae3022c3440e2085fd09b5dad11efb27e1955b63a747772ae78cfcde7c314717fdc92704c99b8507bb204dbe8bf4406bb46bc7df9b4dd languageName: node linkType: hard @@ -6811,15 +4788,6 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": - version: 3.3.6 - resolution: "nanoid@npm:3.3.6" - bin: - nanoid: bin/nanoid.cjs - checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 - languageName: node - linkType: hard - "nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" @@ -6829,19 +4797,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^4.0.2": - version: 4.0.2 - resolution: "nanoid@npm:4.0.2" +"nanoid@npm:^5.0.7": + version: 5.0.7 + resolution: "nanoid@npm:5.0.7" bin: nanoid: bin/nanoid.js - checksum: 747c399cea4664dd0be1d0ec498ffd1ef8f1f5221676fc8b577e3f46f66d9afcddb9595d63d19a2e78d0bc6cc33984f65e66bf1682c850b9e26288883d96b53f - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + checksum: 25ab0b0cf9082ae6747f0f55cec930e6c1cc5975103aa3a5fda44be5720eff57d9b25a8a9850274bfdde8def964b49bf03def71c6aa7ad1cba32787819b79f60 languageName: node linkType: hard @@ -6906,33 +4867,19 @@ __metadata: languageName: node linkType: hard -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e - languageName: node - linkType: hard - -"node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.8": - version: 2.0.10 - resolution: "node-releases@npm:2.0.10" - checksum: d784ecde25696a15d449c4433077f5cce620ed30a1656c4abf31282bfc691a70d9618bae6868d247a67914d1be5cc4fde22f65a05f4398cdfb92e0fc83cadfbc +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard -"nodemon@npm:^3.0.1": - version: 3.0.1 - resolution: "nodemon@npm:3.0.1" +"nodemon@npm:^3.1.1": + version: 3.1.1 + resolution: "nodemon@npm:3.1.1" dependencies: chokidar: ^3.5.2 - debug: ^3.2.7 + debug: ^4 ignore-by-default: ^1.0.1 minimatch: ^3.1.2 pstree.remy: ^1.1.8 @@ -6943,7 +4890,7 @@ __metadata: undefsafe: ^2.0.5 bin: nodemon: bin/nodemon.js - checksum: 6a5d81855760d6617049eccce10ccf02bddb482dab13ceea5280ae595ec7004eee13e7b934368e3f46c37fe4d970342a8c38c99cae7e93e4d7a3ed1c1ecb6acf + checksum: 43ed211d3a1eb267444265454c0dd306177fcef119c8c095b737d843648e7b51f10c033c262ec10a09df60aa2f237904fa659a96d0562541c55b87c3f5ba77ff languageName: node linkType: hard @@ -6976,12 +4923,12 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" dependencies: - path-key: ^3.0.0 - checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + path-key: ^4.0.0 + checksum: ae8e7a89da9594fb9c308f6555c73f618152340dcaae423e5fb3620026fefbec463618a8b761920382d666fa7a2d8d240b6fe320e8a6cdd54dc3687e2b659d25 languageName: node linkType: hard @@ -7006,10 +4953,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:2.2.5, nwsapi@npm:^2.2.4": - version: 2.2.5 - resolution: "nwsapi@npm:2.2.5" - checksum: 3acfe387214e2a9a03960662ad600ecb41fc24385c9de91262a881608407f02d14686e5df3e6e87af0cf7b173ed2a6a202a569ab7bef376ec1841cd9b6cbf0a6 +"nwsapi@npm:^2.2.10": + version: 2.2.10 + resolution: "nwsapi@npm:2.2.10" + checksum: 5f1d361b38c47ab49727d5ea8bbfeb5867ae6de0e538eec9a8b77c88005ddde36d8b930e0730b50ee5e5dda949112c0f9ffed1bf15e7e1b3cd9cfa319f5a9b6f languageName: node linkType: hard @@ -7111,62 +5058,21 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: ^2.1.0 - checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 - languageName: node - linkType: hard - -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: ^2.0.0 - checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 - languageName: node - linkType: hard - -"p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" dependencies: - yocto-queue: ^0.1.0 - checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + mimic-fn: ^4.0.0 + checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 languageName: node linkType: hard -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" dependencies: yocto-queue: ^1.0.0 - checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: ^2.2.0 - checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + checksum: 87bf5837dee6942f0dbeff318436179931d9a97848d1b07dbd86140a477a5d2e6b90d9701b210b4e21fe7beaea2979dfde366e4f576fa644a59bd4d6a6371da7 languageName: node linkType: hard @@ -7179,13 +5085,6 @@ __metadata: languageName: node linkType: hard -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae - languageName: node - linkType: hard - "param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" @@ -7196,19 +5095,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - dependencies: - "@babel/code-frame": ^7.0.0 - error-ex: ^1.3.1 - json-parse-even-better-errors: ^2.3.0 - lines-and-columns: ^1.1.6 - checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 - languageName: node - linkType: hard - -"parse5@npm:^7.0.0, parse5@npm:^7.1.1, parse5@npm:^7.1.2": +"parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -7234,13 +5121,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 - languageName: node - linkType: hard - "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -7248,17 +5128,17 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": +"path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 languageName: node linkType: hard -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 languageName: node linkType: hard @@ -7297,6 +5177,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134 + languageName: node + linkType: hard + "pathval@npm:^1.1.1": version: 1.1.1 resolution: "pathval@npm:1.1.1" @@ -7311,64 +5198,55 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf languageName: node linkType: hard -"pino-abstract-transport@npm:v1.1.0": - version: 1.1.0 - resolution: "pino-abstract-transport@npm:1.1.0" +"pino-abstract-transport@npm:^1.2.0": + version: 1.2.0 + resolution: "pino-abstract-transport@npm:1.2.0" dependencies: readable-stream: ^4.0.0 split2: ^4.0.0 - checksum: cc84caabee5647b5753ae484d5f63a1bca0f6e1791845e2db2b6d830a561c2b5dd1177720f68d78994c8a93aecc69f2729e6ac2bc871a1bf5bb4b0ec17210668 + checksum: 3336c51fb91ced5ef8a4bfd70a96e41eb6deb905698e83350dc71eedffb34795db1286d2d992ce1da2f6cd330a68be3f7e2748775a6b8a2ee3416796070238d6 languageName: node linkType: hard -"pino-std-serializers@npm:^6.0.0": - version: 6.2.2 - resolution: "pino-std-serializers@npm:6.2.2" - checksum: aeb0662edc46ec926de9961ed4780a4f0586bb7c37d212cd469c069639e7816887a62c5093bc93f260a4e0900322f44fc8ab1343b5a9fa2864a888acccdb22a4 +"pino-std-serializers@npm:^7.0.0": + version: 7.0.0 + resolution: "pino-std-serializers@npm:7.0.0" + checksum: 08cd1d7b7adc4cfca39e42c2d5fd21bcf4513153734e7b8fa278b0e9e9f62df78c4c202886343fe882a462539c931cb8110b661775ad7f7217c96856795b5a86 languageName: node linkType: hard -"pino@npm:^8.12.0": - version: 8.15.1 - resolution: "pino@npm:8.15.1" +"pino@npm:^9.0.0": + version: 9.1.0 + resolution: "pino@npm:9.1.0" dependencies: atomic-sleep: ^1.0.0 fast-redact: ^3.1.1 on-exit-leak-free: ^2.1.0 - pino-abstract-transport: v1.1.0 - pino-std-serializers: ^6.0.0 - process-warning: ^2.0.0 + pino-abstract-transport: ^1.2.0 + pino-std-serializers: ^7.0.0 + process-warning: ^3.0.0 quick-format-unescaped: ^4.0.3 real-require: ^0.2.0 safe-stable-stringify: ^2.3.1 - sonic-boom: ^3.1.0 - thread-stream: ^2.0.0 + sonic-boom: ^4.0.1 + thread-stream: ^3.0.0 bin: pino: bin.js - checksum: cbc6aa4e7fcf28dac326292f6c9276bb6abd1c480e49a830601071c99fc74c09eb56c7049034ea011ccf7a224243af3452f59b73f07f4a22929b8f886130d5a2 - languageName: node - linkType: hard - -"pirates@npm:^4.0.4": - version: 4.0.5 - resolution: "pirates@npm:4.0.5" - checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: ^4.0.0 - checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + checksum: 6bece8583b22709dd5e35cd9ec9e885d0cfdb1fafa77f29440671f00725359d8f9ed3aea5ff1ff8cee985a828e6b71655eb6dfb8548f48f6a76f207b3eff1f35 languageName: node linkType: hard @@ -7383,56 +5261,49 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.38.1": - version: 1.38.1 - resolution: "playwright-core@npm:1.38.1" +"pkg-types@npm:^1.1.0": + version: 1.1.1 + resolution: "pkg-types@npm:1.1.1" + dependencies: + confbox: ^0.1.7 + mlly: ^1.7.0 + pathe: ^1.1.2 + checksum: 78ee49eea8c03802ffbdc79dfb6a741f905a4053453280cd2f1149850523fdaf46d39ecb88c2c2f757cceb9883f234bb0e56371084b5895632bdb00ef0f7298f + languageName: node + linkType: hard + +"playwright-core@npm:1.44.1": + version: 1.44.1 + resolution: "playwright-core@npm:1.44.1" bin: playwright-core: cli.js - checksum: 66e83fe040f309b13ad94ba39dea40ac207bfcbbc22de13141af88dbdedd64e1c4e3ce1d0cb070d4efd8050d7e579953ec3681dd8a0acf2c1cc738d9c50e545e + checksum: ebc6fa0ff77792fe52648fda06cc4474d4e9746db6dc5750d262b7fe2caf9f9e2327a71f1fb365e862213403a9daf95361c5040a9b0fd462928d7eb4fdc760e1 languageName: node linkType: hard -"playwright@npm:1.38.1": - version: 1.38.1 - resolution: "playwright@npm:1.38.1" +"playwright@npm:1.44.1": + version: 1.44.1 + resolution: "playwright@npm:1.44.1" dependencies: fsevents: 2.3.2 - playwright-core: 1.38.1 + playwright-core: 1.44.1 dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: 4e01d4ee52d9ccf75a80d8492829106802590721d56bff7c5957ff1f21eb3c328ee5bc3c1784a59c4b515df1b98d08ef92e4a35a807f454cd00dc481d30fadc2 - languageName: node - linkType: hard - -"postcss@npm:^8.4.27": - version: 8.4.28 - resolution: "postcss@npm:8.4.28" - dependencies: - nanoid: ^3.3.6 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: f605c24a36f7e400bad379735fbfc893ccb8d293ad6d419bb824db77cdcb69f43d614ef35f9f7091f32ca588d130ec60dbcf53b366e6bf88a8a64bbeb3c05f6d + checksum: c2e8ff0a855e4a9e665ae5ffa0ff90423289546157be55e83f78916d17075c5910a7244773739c2a973da884a4ff0b3cf9b6e6b543de112e43b12169a9208e86 languageName: node linkType: hard -"postcss@npm:^8.4.30": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" +"postcss@npm:^8.4.38": + version: 8.4.38 + resolution: "postcss@npm:8.4.38" dependencies: - nanoid: ^3.3.6 + nanoid: ^3.3.7 picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea - languageName: node - linkType: hard - -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + source-map-js: ^1.2.0 + checksum: 649f9e60a763ca4b5a7bbec446a069edf07f057f6d780a5a0070576b841538d1ecf7dd888f2fbfd1f76200e26c969e405aeeae66332e6927dbdc8bdcb90b9451 languageName: node linkType: hard @@ -7447,37 +5318,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^28.0.0, pretty-format@npm:^28.1.3": - version: 28.1.3 - resolution: "pretty-format@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": - version: 29.4.3 - resolution: "pretty-format@npm:29.4.3" - dependencies: - "@jest/schemas": ^29.4.3 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 - languageName: node - linkType: hard - -"pretty-format@npm:^29.5.0, pretty-format@npm:^29.6.1": - version: 29.6.1 - resolution: "pretty-format@npm:29.6.1" +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" dependencies: - "@jest/schemas": ^29.6.0 + "@jest/schemas": ^29.6.3 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 6f923a2379a37a425241dc223d76f671c73c4f37dba158050575a54095867d565c068b441843afdf3d7c37bed9df4bbadf46297976e60d4149972b779474203a + checksum: 032c1602383e71e9c0c02a01bbd25d6759d60e9c7cf21937dde8357aa753da348fcec5def5d1002c9678a8524d5fe099ad98861286550ef44de8808cc61e43b6 languageName: node linkType: hard @@ -7488,10 +5336,10 @@ __metadata: languageName: node linkType: hard -"process-warning@npm:^2.0.0, process-warning@npm:^2.2.0": - version: 2.2.0 - resolution: "process-warning@npm:2.2.0" - checksum: 394ae451c2622ee7d014a7196d36658fc1a5d5cc9f3bfeb54aadd5b77fcfecc89a30a25db259ae76ff49fde3f3f3dd7031dcdfb4da2e5445dac795549352e5d0 +"process-warning@npm:^3.0.0": + version: 3.0.0 + resolution: "process-warning@npm:3.0.0" + checksum: 1fc2eb4524041de3c18423334cc8b4e36bec5ad5472640ca1a936122c6e01da0864c1a4025858ef89aea93eabe7e77db93ccea225b10858617821cb6a8719efe languageName: node linkType: hard @@ -7519,16 +5367,6 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: ^3.0.3 - sisteransi: ^1.0.5 - checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d - languageName: node - linkType: hard - "proxy-addr@npm:^2.0.7, proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" @@ -7567,6 +5405,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 + languageName: node + linkType: hard + "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -7625,15 +5470,15 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - scheduler: ^0.23.0 + scheduler: ^0.23.2 peerDependencies: - react: ^18.2.0 - checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc + react: ^18.3.1 + checksum: 298954ecd8f78288dcaece05e88b570014d8f6dce5db6f66e6ee91448debeb59dcd31561dddb354eee47e6c1bb234669459060deb238ed0213497146e555a0b9 languageName: node linkType: hard @@ -7669,43 +5514,43 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.14.0": - version: 0.14.0 - resolution: "react-refresh@npm:0.14.0" - checksum: dc69fa8c993df512f42dd0f1b604978ae89bd747c0ed5ec595c0cc50d535fb2696619ccd98ae28775cc01d0a7c146a532f0f7fb81dc22e1977c242a4912312f4 +"react-refresh@npm:^0.14.2": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382 languageName: node linkType: hard -"react-router-dom@npm:^6.16.0": - version: 6.16.0 - resolution: "react-router-dom@npm:6.16.0" +"react-router-dom@npm:^6.23.1": + version: 6.23.1 + resolution: "react-router-dom@npm:6.23.1" dependencies: - "@remix-run/router": 1.9.0 - react-router: 6.16.0 + "@remix-run/router": 1.16.1 + react-router: 6.23.1 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 18b398924bb0f0d97cf2f71dab71d860b960a7a267b2f77388990c662bb6d8738bdc3042d92f713fd63d269ae9ad90df39c8e97661b6ba758bbb7386b9f20ae0 + checksum: e87b5cf85019496f499286d466a4ad9cf5efe729f1420502fc5d16093d525462803253538418ea5b0da7ab5671a16caefee67848b373008e567629c2d667dc44 languageName: node linkType: hard -"react-router@npm:6.16.0": - version: 6.16.0 - resolution: "react-router@npm:6.16.0" +"react-router@npm:6.23.1": + version: 6.23.1 + resolution: "react-router@npm:6.23.1" dependencies: - "@remix-run/router": 1.9.0 + "@remix-run/router": 1.16.1 peerDependencies: react: ">=16.8" - checksum: b31c187e3fdcdf7294ffdad6ff834e14d012840c94d8ee8c7fbe451062a8fcb6e31e8bc7827fb1ff45445dd40fad2b8c96a7e98f0ac1c3eb1d716c257a0821c9 + checksum: d5d43ccb908a95d2b7345f2a13315c38bf094e25bcf97d5a6c3f353b1ea88602de15726c3570cd7f07c53b19a3519af2b6739bf6929ec355012795611d739cff languageName: node linkType: hard -"react@npm:^18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + checksum: a27bcfa8ff7c15a1e50244ad0d0c1cb2ad4375eeffefd266a64889beea6f6b64c4966c9b37d14ee32d6c9fcd5aa6ba183b6988167ab4d127d13e7cb5b386a376 languageName: node linkType: hard @@ -7813,13 +5658,6 @@ __metadata: languageName: node linkType: hard -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 - languageName: node - linkType: hard - "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -7834,59 +5672,10 @@ __metadata: languageName: node linkType: hard -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: ^5.0.0 - checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf - languageName: node - linkType: hard - -"resolve.exports@npm:^1.1.0": - version: 1.1.1 - resolution: "resolve.exports@npm:1.1.1" - checksum: 485aa10082eb388a569d696e17ad7b16f4186efc97dd34eadd029d95b811f21ffee13b1b733198bb4584dbb3cb296aa6f141835221fb7613b9606b84f1386655 - languageName: node - linkType: hard - -"resolve@npm:^1.20.0": - version: 1.22.1 - resolution: "resolve@npm:1.22.1" - dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.20.0#~builtin": - version: 1.22.1 - resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" - dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b - languageName: node - linkType: hard - -"ret@npm:~0.2.0": - version: 0.2.2 - resolution: "ret@npm:0.2.2" - checksum: 774964bb413a3525e687bca92d81c1cd75555ec33147c32ecca22f3d06409e35df87952cfe3d57afff7650a0f7e42139cf60cb44e94c29dde390243bc1941f16 +"ret@npm:~0.4.0": + version: 0.4.3 + resolution: "ret@npm:0.4.3" + checksum: 621c73c86db7537d91a2c47f602c7db71e11cd6f131fedb24aa2818b4d35a23377e0bc22bfa6f12295706d5b06035cf6e8d92fbd75f8f37d73b65e188b7f3fa9 languageName: node linkType: hard @@ -7911,7 +5700,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:3.0.2, rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": +"rimraf@npm:3.0.2, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -7922,31 +5711,66 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^3.27.1": - version: 3.28.1 - resolution: "rollup@npm:3.28.1" - dependencies: +"rollup@npm:^4.13.0": + version: 4.18.0 + resolution: "rollup@npm:4.18.0" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.18.0 + "@rollup/rollup-android-arm64": 4.18.0 + "@rollup/rollup-darwin-arm64": 4.18.0 + "@rollup/rollup-darwin-x64": 4.18.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.18.0 + "@rollup/rollup-linux-arm-musleabihf": 4.18.0 + "@rollup/rollup-linux-arm64-gnu": 4.18.0 + "@rollup/rollup-linux-arm64-musl": 4.18.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0 + "@rollup/rollup-linux-riscv64-gnu": 4.18.0 + "@rollup/rollup-linux-s390x-gnu": 4.18.0 + "@rollup/rollup-linux-x64-gnu": 4.18.0 + "@rollup/rollup-linux-x64-musl": 4.18.0 + "@rollup/rollup-win32-arm64-msvc": 4.18.0 + "@rollup/rollup-win32-ia32-msvc": 4.18.0 + "@rollup/rollup-win32-x64-msvc": 4.18.0 + "@types/estree": 1.0.5 fsevents: ~2.3.2 dependenciesMeta: - fsevents: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": optional: true - bin: - rollup: dist/bin/rollup - checksum: 1fcab0929c16130218447c76c19b56ccc0e677110552462297e3679188fc70185a6ec418cef8ce138ec9fb78fd5188537a3f5d28762788e8c88b12a7fb8ba0fb - languageName: node - linkType: hard - -"rollup@npm:^3.29.2": - version: 3.29.4 - resolution: "rollup@npm:3.29.4" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: fsevents: optional: true bin: rollup: dist/bin/rollup - checksum: 8bb20a39c8d91130825159c3823eccf4dc2295c9a0a5c4ed851a5bf2167dbf24d9a29f23461a54c955e5506395e6cc188eafc8ab0e20399d7489fb33793b184e + checksum: 54cde921e763017ce952ba76ec77d58dd9c01e3536c3be628d4af8c59d9b2f0e1e6a11b30fda44845c7b74098646cd972feb3bcd2f4a35d3293366f2eeb0a39e languageName: node linkType: hard @@ -7955,10 +5779,10 @@ __metadata: resolution: "root@workspace:." dependencies: "@nestjs/config": ^3.2.2 - "@types/cookie-parser": ^1.4.4 + "@types/cookie-parser": ^1.4.7 cookie-parser: ^1.4.6 - jsdom: ^21.1.2 - winston: ^3.10.0 + jsdom: ^24.1.0 + winston: ^3.13.0 languageName: unknown linkType: soft @@ -7969,6 +5793,13 @@ __metadata: languageName: node linkType: hard +"rrweb-cssom@npm:^0.7.0": + version: 0.7.0 + resolution: "rrweb-cssom@npm:0.7.0" + checksum: 32976e45405bd376b6d3e8aada2455233f0c2aa9081c66b1fe59bf8074575fb9d60a9a286edd4925aca8bda7d6734b4170ca087ca528bb77840236ddfe0dd0b9 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -8001,12 +5832,12 @@ __metadata: languageName: node linkType: hard -"safe-regex2@npm:^2.0.0": - version: 2.0.0 - resolution: "safe-regex2@npm:2.0.0" +"safe-regex2@npm:^3.1.0": + version: 3.1.0 + resolution: "safe-regex2@npm:3.1.0" dependencies: - ret: ~0.2.0 - checksum: f5e182fca040dedd50ae052ea0eb035d9903b2db71243d5d8b43299735857288ef2ab52546a368d9c6fd1333b2a0d039297925e78ffc14845354f3f6158af7c2 + ret: ~0.4.0 + checksum: 4f9f7172662763619052a45599e515efc5dd10a932690f610c8ab808a4baa41be3feafefa444f7532651d721d12871a1c9a85330626cdd013b804e8f4240dff1 languageName: node linkType: hard @@ -8033,39 +5864,19 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" - dependencies: - loose-envify: ^1.1.0 - checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a - languageName: node - linkType: hard - -"secure-json-parse@npm:^2.5.0": - version: 2.7.0 - resolution: "secure-json-parse@npm:2.7.0" - checksum: d9d7d5a01fc6db6115744ba23cf9e67ecfe8c524d771537c062ee05ad5c11b64c730bc58c7f33f60bd6877f96b86f0ceb9ea29644e4040cb757f6912d4dd6737 - languageName: node - linkType: hard - -"semver@npm:7.x, semver@npm:^7.3.5": - version: 7.3.8 - resolution: "semver@npm:7.3.8" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: ^1.1.0 + checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" - bin: - semver: ./bin/semver.js - checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 +"secure-json-parse@npm:^2.7.0": + version: 2.7.0 + resolution: "secure-json-parse@npm:2.7.0" + checksum: d9d7d5a01fc6db6115744ba23cf9e67ecfe8c524d771537c062ee05ad5c11b64c730bc58c7f33f60bd6877f96b86f0ceb9ea29644e4040cb757f6912d4dd6737 languageName: node linkType: hard @@ -8078,7 +5889,18 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.0, semver@npm:^7.5.3": +"semver@npm:^7.3.5": + version: 7.3.8 + resolution: "semver@npm:7.3.8" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 + languageName: node + linkType: hard + +"semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -8089,6 +5911,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.4": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -8203,13 +6034,20 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard +"signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 + languageName: node + linkType: hard + "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -8228,20 +6066,6 @@ __metadata: languageName: node linkType: hard -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c - languageName: node - linkType: hard - "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -8270,29 +6094,19 @@ __metadata: languageName: node linkType: hard -"sonic-boom@npm:^3.1.0": - version: 3.4.0 - resolution: "sonic-boom@npm:3.4.0" +"sonic-boom@npm:^4.0.1": + version: 4.0.1 + resolution: "sonic-boom@npm:4.0.1" dependencies: atomic-sleep: ^1.0.0 - checksum: 5ebbff96bd7c434b58a80c2ce2f57dfa24b397fdceeffc516b6fddc437b6887a0d2e14de172c601c8ee690d5de97b7a5e574b9d5c60582850a5590b280b473ab - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c + checksum: 451b0f09bc0a0abfa6bfed0e2d7d36a6fa245be8a444a7ef1e3c8abb006e9994cb7530b1da39c8aee9033598d1ce187e244a6194c92a81790a2e2633c60cd63d languageName: node linkType: hard -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: ^1.0.0 - source-map: ^0.6.0 - checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 +"source-map-js@npm:^1.2.0": + version: 1.2.0 + resolution: "source-map-js@npm:1.2.0" + checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97 languageName: node linkType: hard @@ -8306,7 +6120,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": +"source-map@npm:^0.6.0, source-map@npm:~0.6.0": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 @@ -8329,13 +6143,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 - languageName: node - linkType: hard - "ssri@npm:^9.0.0": version: 9.0.1 resolution: "ssri@npm:9.0.1" @@ -8352,15 +6159,6 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: ^2.0.0 - checksum: 052bf4d25bbf5f78e06c1d5e67de2e088b06871fa04107ca8d3f0e9d9263326e2942c8bedee3545795fc77d787d443a538345eef74db2f8e35db3558c6f91ff7 - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -8375,10 +6173,10 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.3.3": - version: 3.3.3 - resolution: "std-env@npm:3.3.3" - checksum: 6665f6d8bd63aae432d3eb9abbd7322847ad0d902603e6dce1e8051b4f42ceeb4f7f96a4faf70bb05ce65ceee2dc982502b701575c8a58b1bfad29f3dbb19f81 +"std-env@npm:^3.5.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 4f489d13ff2ab838c9acd4ed6b786b51aa52ecacdfeaefe9275fcb220ff2ac80c6e95674723508fd29850a694569563a8caaaea738eb82ca16429b3a0b50e510 languageName: node linkType: hard @@ -8398,17 +6196,7 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: ^1.0.2 - strip-ansi: ^6.0.0 - checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 - languageName: node - linkType: hard - -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -8437,7 +6225,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": +"strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -8446,17 +6234,10 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 languageName: node linkType: hard @@ -8469,19 +6250,12 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 - languageName: node - linkType: hard - -"strip-literal@npm:^1.0.1": - version: 1.0.1 - resolution: "strip-literal@npm:1.0.1" +"strip-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "strip-literal@npm:2.1.0" dependencies: - acorn: ^8.8.2 - checksum: ab40496820f02220390d95cdd620a997168efb69d5bd7d180bc4ef83ca562a95447843d8c7c88b8284879a29cf4eedc89d8001d1e098c1a1e23d12a9c755dff4 + js-tokens: ^9.0.0 + checksum: 37c2072634d2de11a3644fe1bcf4abd566d85e89f0d8e8b10d35d04e7bef962e7c112fbe5b805ce63e59dfacedc240356eeef57976351502966b7c64b742c6ac languageName: node linkType: hard @@ -8521,7 +6295,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": +"supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -8530,32 +6304,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: ^4.0.0 - checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 - languageName: node - linkType: hard - -"supports-hyperlinks@npm:^2.0.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" - dependencies: - has-flag: ^4.0.0 - supports-color: ^7.0.0 - checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -8577,16 +6325,6 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:^2.0.0": - version: 2.1.1 - resolution: "terminal-link@npm:2.1.1" - dependencies: - ansi-escapes: ^4.2.1 - supports-hyperlinks: ^2.0.0 - checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f - languageName: node - linkType: hard - "terser@npm:^5.10.0": version: 5.16.3 resolution: "terser@npm:5.16.3" @@ -8601,17 +6339,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": ^0.1.2 - glob: ^7.1.4 - minimatch: ^3.0.4 - checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 - languageName: node - linkType: hard - "text-hex@npm:1.0.x": version: 1.0.0 resolution: "text-hex@npm:1.0.0" @@ -8619,40 +6346,33 @@ __metadata: languageName: node linkType: hard -"thread-stream@npm:^2.0.0": - version: 2.4.0 - resolution: "thread-stream@npm:2.4.0" +"thread-stream@npm:^3.0.0": + version: 3.0.1 + resolution: "thread-stream@npm:3.0.1" dependencies: real-require: ^0.2.0 - checksum: 09b2daba1902ad5a8bca9adc97ae143ea7377292d4998b129ed625eb2d00be79d9fd77e1dc9480f7ae5f7b214b16dff849b7cd88090ff9fba8a3977574555a79 - languageName: node - linkType: hard - -"tinybench@npm:^2.5.0": - version: 2.5.0 - resolution: "tinybench@npm:2.5.0" - checksum: 284bb9428f197ec8b869c543181315e65e41ccfdad3c4b6c916bb1fdae1b5c6785661b0d90cf135b48d833b03cb84dc5357b2d33ec65a1f5971fae0ab2023821 + checksum: b95ebecbdc80138e2b0ae38c20a385ccbd09f91eeec763f1a60e879a05c7472644c0638e25e9603109eea8526348c35a3b6a904d1e43ac49ef0b227b131a3a3b languageName: node linkType: hard -"tinypool@npm:^0.7.0": - version: 0.7.0 - resolution: "tinypool@npm:0.7.0" - checksum: fdcccd5c750574fce51f8801a877f8284e145d12b79cd5f2d72bfbddfe20c895e915555bc848e122bb6aa968098e7ac4fe1e8e88104904d518dc01cccd18a510 +"tinybench@npm:^2.5.1": + version: 2.8.0 + resolution: "tinybench@npm:2.8.0" + checksum: 024a307c6a71f6e2903e110952457ee3dfa606093b45d7f49efcfd01d452650e099474080677ff650b0fd76b49074425ac68ff2a70561699a78515a278bf0862 languageName: node linkType: hard -"tinyspy@npm:^2.1.1": - version: 2.1.1 - resolution: "tinyspy@npm:2.1.1" - checksum: cfe669803a7f11ca912742b84c18dcc4ceecaa7661c69bc5eb608a8a802d541c48aba220df8929f6c8cd09892ad37cb5ba5958ddbbb57940e91d04681d3cee73 +"tinypool@npm:^0.8.3": + version: 0.8.4 + resolution: "tinypool@npm:0.8.4" + checksum: d40c40e062d5eeae85dadc39294dde6bc7b9a7a7cf0c972acbbe5a2b42491dfd4c48381c1e48bbe02aff4890e63de73d115b2e7de2ce4c81356aa5e654a43caf languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 +"tinyspy@npm:^2.2.0": + version: 2.2.1 + resolution: "tinyspy@npm:2.2.1" + checksum: 170d6232e87f9044f537b50b406a38fbfd6f79a261cd12b92879947bd340939a833a678632ce4f5c4a6feab4477e9c21cd43faac3b90b68b77dd0536c4149736 languageName: node linkType: hard @@ -8672,10 +6392,10 @@ __metadata: languageName: node linkType: hard -"toad-cache@npm:^3.2.0": - version: 3.2.0 - resolution: "toad-cache@npm:3.2.0" - checksum: 9d64f7760cd8ae6d0684d17e9153a39c088877e4b9f5e648fe11c4f9c82c033d3b606ff0dfe566cd5a0056dee9ebeaf4ab9bee1de1e6597d7cc6745042413b2b +"toad-cache@npm:^3.3.0": + version: 3.7.0 + resolution: "toad-cache@npm:3.7.0" + checksum: d0f2092ab2c0f3355d3537c41b13888a12996f38080e6c39907e715eb382d997ccf61baab9e8eda3f202b6c07e304728106be3631c9fe3b6c001aaf15b7bdb8f languageName: node linkType: hard @@ -8697,24 +6417,15 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.2": - version: 4.1.2 - resolution: "tough-cookie@npm:4.1.2" +"tough-cookie@npm:^4.1.4": + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" dependencies: psl: ^1.1.33 punycode: ^2.1.1 universalify: ^0.2.0 url-parse: ^1.5.3 - checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a - languageName: node - linkType: hard - -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" - dependencies: - punycode: ^2.1.1 - checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 + checksum: 5815059f014c31179a303c673f753f7899a6fce94ac93712c88ea5f3c26e0c042b5f0c7a599a00f8e0feeca4615dba75c3dffc54f3c1a489978aa8205e09307c languageName: node linkType: hard @@ -8727,6 +6438,15 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: ^2.3.1 + checksum: 8d8b021f8e17675ebf9e672c224b6b6cfdb0d5b92141349e9665c14a2501c54a298d11264bbb0b17b447581e1e83d4fc3c038c929f3d210e3964d4be47460288 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -8748,42 +6468,9 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^28.0.8": - version: 28.0.8 - resolution: "ts-jest@npm:28.0.8" - dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x - jest-util: ^28.0.0 - json5: ^2.2.1 - lodash.memoize: 4.x - make-error: 1.x - semver: 7.x - yargs-parser: ^21.0.1 - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^28.0.0 - babel-jest: ^28.0.0 - jest: ^28.0.0 - typescript: ">=4.3" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: c72e9292709e77ce47ac7813cb24feaa9d01dc983598d29a821f224b5cc190dc7d67e17379cef089095404c00b9d582ee91c727916f9ec289cb1b723df408ae3 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" +"ts-node@npm:^10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" dependencies: "@cspotcode/source-map-support": ^0.8.0 "@tsconfig/node10": ^1.0.7 @@ -8815,7 +6502,7 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 + checksum: fde256c9073969e234526e2cfead42591b9a2aec5222bac154b0de2fa9e4ceb30efcd717ee8bc785a56f3a119bdd5aa27b333d9dbec94ed254bd26f8944c67ac languageName: node linkType: hard @@ -8833,29 +6520,13 @@ __metadata: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 - languageName: node - linkType: hard - -"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 languageName: node linkType: hard -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 - languageName: node - linkType: hard - "type-is@npm:^1.6.4, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -8873,23 +6544,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.2.2": - version: 5.2.2 - resolution: "typescript@npm:5.2.2" +"typescript@npm:^5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c + checksum: 53c879c6fa1e3bcb194b274d4501ba1985894b2c2692fa079db03c5a5a7140587a1e04e1ba03184605d35f439b40192d9e138eb3279ca8eee313c081c8bcd9b0 languageName: node linkType: hard -"typescript@patch:typescript@^5.2.2#~builtin": - version: 5.2.2 - resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=bda367" +"typescript@patch:typescript@^5.4.5#~builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#~builtin::version=5.4.5&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 07106822b4305de3f22835cbba949a2b35451cad50888759b6818421290ff95d522b38ef7919e70fb381c5fe9c1c643d7dea22c8b31652a717ddbd57b7f4d554 + checksum: 2373c693f3b328f3b2387c3efafe6d257b057a142f9a79291854b14ff4d5367d3d730810aee981726b677ae0fd8329b23309da3b6aaab8263dbdccf1da07a3ba languageName: node linkType: hard @@ -8900,6 +6571,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.5.3": + version: 1.5.3 + resolution: "ufo@npm:1.5.3" + checksum: 2f54fa543b2e689cc4ab341fe2194937afe37c5ee43cd782e6ecc184e36859e84d4197a43ae4cd6e9a56f793ca7c5b950dfff3f16fadaeef9b6b88b05c88c8ef + languageName: node + linkType: hard + "uid@npm:2.0.2": version: 2.0.2 resolution: "uid@npm:2.0.2" @@ -8916,6 +6594,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 + languageName: node + linkType: hard + "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -8965,31 +6650,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.10": - version: 1.0.10 - resolution: "update-browserslist-db@npm:1.0.10" - dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - browserslist-lint: cli.js - checksum: 12db73b4f63029ac407b153732e7cd69a1ea8206c9100b482b7d12859cd3cd0bc59c602d7ae31e652706189f1acb90d42c53ab24a5ba563ed13aebdddc5561a0 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" +"update-browserslist-db@npm:^1.0.13": + version: 1.0.16 + resolution: "update-browserslist-db@npm:1.0.16" dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 + escalade: ^3.1.2 + picocolors: ^1.0.1 peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 + checksum: 51b1f7189c9ea5925c80154b0a6fd3ec36106d07858d8f69826427d8edb4735d1801512c69eade38ba0814d7407d11f400d74440bbf3da0309f3d788017f35b2 languageName: node linkType: hard @@ -9042,17 +6713,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.1": - version: 9.1.0 - resolution: "v8-to-istanbul@npm:9.1.0" - dependencies: - "@jridgewell/trace-mapping": ^0.3.12 - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - checksum: 2069d59ee46cf8d83b4adfd8a5c1a90834caffa9f675e4360f1157ffc8578ef0f763c8f32d128334424159bb6b01f3876acd39cd13297b2769405a9da241f8d1 - languageName: node - linkType: hard - "vary@npm:^1, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -9060,25 +6720,24 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:0.34.6": - version: 0.34.6 - resolution: "vite-node@npm:0.34.6" +"vite-node@npm:1.6.0": + version: 1.6.0 + resolution: "vite-node@npm:1.6.0" dependencies: cac: ^6.7.14 debug: ^4.3.4 - mlly: ^1.4.0 pathe: ^1.1.1 picocolors: ^1.0.0 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0-0 + vite: ^5.0.0 bin: vite-node: vite-node.mjs - checksum: 46eba82bf8b69c7dfeed901502533b172cc6303212f0f49f82c2f64758fa4b60acd1b1e37cb96aff944e36b510b0d1beedb50d9cb25ef39e0159b2b9d1136b1f + checksum: ce111c5c7a4cf65b722baa15cbc065b7bfdbf1b65576dd6372995f6a72b2b93773ec5df59f6c5f08cfe1284806597b44b832efcea50d5971102428159ff4379f languageName: node linkType: hard -"vite-plugin-html@npm:^3.2.0": - version: 3.2.0 - resolution: "vite-plugin-html@npm:3.2.0" +"vite-plugin-html@npm:^3.2.2": + version: 3.2.2 + resolution: "vite-plugin-html@npm:3.2.2" dependencies: "@rollup/pluginutils": ^4.2.0 colorette: ^2.0.16 @@ -9094,18 +6753,18 @@ __metadata: pathe: ^0.2.0 peerDependencies: vite: ">=2.0.0" - checksum: f5222247b65da1c36215f0b2f509fd3975a7426b8d44546beb49f3ba51ee87b3a6b6e6afc9e7567a0d8bd1016631f2db3f934808f62a7c8f7f83fa83d8561d2d + checksum: 2fd6e1f91f74a4432222ed28e68d5f27e58ccbc9ad44e71ff9d02b684b358b0c634bdb4dd32e9d93d09e88d83c3b7b74b89698e25510bc5b94173cdc067b3ac2 languageName: node linkType: hard -"vite@npm:^3.0.0 || ^4.0.0 || ^5.0.0-0, vite@npm:^3.1.0 || ^4.0.0 || ^5.0.0-0": - version: 5.0.0-beta.3 - resolution: "vite@npm:5.0.0-beta.3" +"vite@npm:^5.0.0, vite@npm:^5.2.12": + version: 5.2.12 + resolution: "vite@npm:5.2.12" dependencies: - esbuild: ^0.19.3 + esbuild: ^0.20.1 fsevents: ~2.3.3 - postcss: ^8.4.30 - rollup: ^3.29.2 + postcss: ^8.4.38 + rollup: ^4.13.0 peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 less: "*" @@ -9134,90 +6793,46 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 03b6f004a3fc65c5d820590aaefa65bd9dcf609bb8f151e67ff2237d35cbbad14d8f27860f9408d6777b250ffa4c3cccacef9b61a43002024d0382e1d63fe518 - languageName: node - linkType: hard - -"vite@npm:^4.4.9": - version: 4.4.9 - resolution: "vite@npm:4.4.9" - dependencies: - esbuild: ^0.18.10 - fsevents: ~2.3.2 - postcss: ^8.4.27 - rollup: ^3.27.1 - peerDependencies: - "@types/node": ">= 14" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908 + checksum: 908b8a09460c031fe94c2038a46743a73a70fe76fd1991ae8b51a56eb88dec75128bc7da7ab37d8f84c0e1e3063ce268bdd81cc27d79229f8ea756e752bc83d9 languageName: node linkType: hard -"vitest@npm:^0.34.6": - version: 0.34.6 - resolution: "vitest@npm:0.34.6" - dependencies: - "@types/chai": ^4.3.5 - "@types/chai-subset": ^1.3.3 - "@types/node": "*" - "@vitest/expect": 0.34.6 - "@vitest/runner": 0.34.6 - "@vitest/snapshot": 0.34.6 - "@vitest/spy": 0.34.6 - "@vitest/utils": 0.34.6 - acorn: ^8.9.0 - acorn-walk: ^8.2.0 - cac: ^6.7.14 +"vitest@npm:^1.6.0": + version: 1.6.0 + resolution: "vitest@npm:1.6.0" + dependencies: + "@vitest/expect": 1.6.0 + "@vitest/runner": 1.6.0 + "@vitest/snapshot": 1.6.0 + "@vitest/spy": 1.6.0 + "@vitest/utils": 1.6.0 + acorn-walk: ^8.3.2 chai: ^4.3.10 debug: ^4.3.4 - local-pkg: ^0.4.3 - magic-string: ^0.30.1 + execa: ^8.0.1 + local-pkg: ^0.5.0 + magic-string: ^0.30.5 pathe: ^1.1.1 picocolors: ^1.0.0 - std-env: ^3.3.3 - strip-literal: ^1.0.1 - tinybench: ^2.5.0 - tinypool: ^0.7.0 - vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 - vite-node: 0.34.6 + std-env: ^3.5.0 + strip-literal: ^2.0.0 + tinybench: ^2.5.1 + tinypool: ^0.8.3 + vite: ^5.0.0 + vite-node: 1.6.0 why-is-node-running: ^2.2.2 peerDependencies: "@edge-runtime/vm": "*" - "@vitest/browser": "*" - "@vitest/ui": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.6.0 + "@vitest/ui": 1.6.0 happy-dom: "*" jsdom: "*" - playwright: "*" - safaridriver: "*" - webdriverio: "*" peerDependenciesMeta: "@edge-runtime/vm": optional: true + "@types/node": + optional: true "@vitest/browser": optional: true "@vitest/ui": @@ -9226,33 +6841,18 @@ __metadata: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true bin: vitest: vitest.mjs - checksum: 45f5c1987fa8c76dbaf5db379bbdb4f6e3713c484e850149af38247b627e70016c1863286fd7fcfab08a1d98430f66ba1f45af6f14f5c467ded4b1ea6f26afa3 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" - dependencies: - xml-name-validator: ^4.0.0 - checksum: eba070e78deb408ae8defa4d36b429f084b2b47a4741c4a9be3f27a0a3d1845e277e3072b04391a138f7e43776842627d1334e448ff13ff90ad9fb1214ee7091 + checksum: a9b9b97e5685d630e5d8d221e6d6cd2e1e9b5b2dd61e82042839ef11549c8d2d780cf696307de406dce804bf41c1219398cb20b4df570b3b47ad1e53af6bfe51 languageName: node linkType: hard -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" dependencies: - makeerror: 1.0.12 - checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + xml-name-validator: ^5.0.0 + checksum: 593acc1fdab3f3207ec39d851e6df0f3fa41a36b5809b0ace364c7a6d92e351938c53424a7618ce8e0fbaffee8be2e8e070a5734d05ee54666a8bdf1a376cc40 languageName: node linkType: hard @@ -9270,39 +6870,39 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" dependencies: iconv-lite: 0.6.3 - checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + checksum: f75a61422421d991e4aec775645705beaf99a16a88294d68404866f65e92441698a4f5b9fa11dd609017b132d7b286c3c1534e2de5b3e800333856325b549e3c languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: f97edd4b4ee7e46a379f3fb0e745de29fe8b839307cc774300fd49059fcdd560d38cb8fe21eae5575b8f39b022f23477cc66e40b0355c2851ce84760339cef30 languageName: node linkType: hard -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" +"whatwg-url@npm:^13.0.0": + version: 13.0.0 + resolution: "whatwg-url@npm:13.0.0" dependencies: - tr46: ^3.0.0 + tr46: ^4.1.1 webidl-conversions: ^7.0.0 - checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af + checksum: 7f69272a1bfd5f0d994988b9e234e35d21071a9bffe0d6fd4477d295552665c566b176ff8e0251a0a79c61c5a67a7a392e248aae5887d7e22bdff0125209e26b languageName: node linkType: hard -"whatwg-url@npm:^12.0.0, whatwg-url@npm:^12.0.1": - version: 12.0.1 - resolution: "whatwg-url@npm:12.0.1" +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" dependencies: - tr46: ^4.1.1 + tr46: ^5.0.0 webidl-conversions: ^7.0.0 - checksum: 8698993b763c1e7eda5ed16c31dab24bca6489626aca7caf8b5a2b64684dda6578194786f10ec42ceb1c175feea16d0a915096e6419e08d154ce551c43176972 + checksum: 4b5887e50f786583bead70916413e67a381d2126899b9eb5c67ce664bba1e7ec07cdff791404581ce73c6190d83c359c9ca1d50711631217905db3877dec075c languageName: node linkType: hard @@ -9387,22 +6987,22 @@ __metadata: languageName: node linkType: hard -"winston-transport@npm:^4.5.0": - version: 4.5.0 - resolution: "winston-transport@npm:4.5.0" +"winston-transport@npm:^4.7.0": + version: 4.7.0 + resolution: "winston-transport@npm:4.7.0" dependencies: logform: ^2.3.2 readable-stream: ^3.6.0 triple-beam: ^1.3.0 - checksum: a56e5678a80b88a73e77ed998fc6e19d0db19c989a356b137ec236782f2bf58ae4511b11c29163f99391fa4dc12102c7bc5738dcb6543f28877fa2819adc3ee9 + checksum: ce074b5c76a99bee5236cf2b4d30fadfaf1e551d566f654f1eba303dc5b5f77169c21545ff5c5e4fdad9f8e815fc6d91b989f1db34161ecca6e860e62fd3a862 languageName: node linkType: hard -"winston@npm:^3.10.0": - version: 3.10.0 - resolution: "winston@npm:3.10.0" +"winston@npm:^3.13.0": + version: 3.13.0 + resolution: "winston@npm:3.13.0" dependencies: - "@colors/colors": 1.5.0 + "@colors/colors": ^1.6.0 "@dabh/diagnostics": ^2.0.2 async: ^3.2.3 is-stream: ^2.0.0 @@ -9412,26 +7012,8 @@ __metadata: safe-stable-stringify: ^2.3.1 stack-trace: 0.0.x triple-beam: ^1.3.0 - winston-transport: ^4.5.0 - checksum: 47df0361220d12b46d1b3c98a1c380a3718321739d527a182ce7984fc20715e5b0b55db0bcd3fd076d1b1d3261903b890b053851cfd4bc028bda7951fa8ca2e0 - languageName: node - linkType: hard - -"word-wrap@npm:~1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f - languageName: node - linkType: hard - -"wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: ^4.0.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + winston-transport: ^4.7.0 + checksum: 66f9fbbadb58e1632701e9c89391f217310c9455462148e163e060dcd25aed21351b0413bdbbf90e5c5fe9bc945fc5de6f53875ac7c7ef3061133a354fc678c0 languageName: node linkType: hard @@ -9442,19 +7024,9 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.1": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: ^0.1.4 - signal-exit: ^3.0.7 - checksum: 5da60bd4eeeb935eec97ead3df6e28e5917a6bd317478e4a85a5285e8480b8ed96032bbcc6ecd07b236142a24f3ca871c924ec4a6575e623ec1b11bf8c1c253c - languageName: node - linkType: hard - -"ws@npm:^8.11.0, ws@npm:^8.13.0": - version: 8.13.0 - resolution: "ws@npm:8.13.0" +"ws@npm:^8.17.0": + version: 8.17.0 + resolution: "ws@npm:8.17.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -9463,14 +7035,14 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c + checksum: 147ef9eab0251364e1d2c55338ad0efb15e6913923ccbfdf20f7a8a6cb8f88432bcd7f4d8f66977135bfad35575644f9983201c1a361019594a4e53977bf6d4e languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 86effcc7026f437701252fcc308b877b4bc045989049cfc79b0cc112cb365cf7b009f4041fab9fb7cd1795498722c3e9fe9651afc66dfa794c16628a639a4c45 languageName: node linkType: hard @@ -9488,13 +7060,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -9509,28 +7074,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c - languageName: node - linkType: hard - -"yargs@npm:^17.3.1": - version: 17.6.2 - resolution: "yargs@npm:17.6.2" - dependencies: - cliui: ^8.0.1 - escalade: ^3.1.1 - get-caller-file: ^2.0.5 - require-directory: ^2.1.1 - string-width: ^4.2.3 - y18n: ^5.0.5 - yargs-parser: ^21.1.1 - checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643 - languageName: node - linkType: hard - "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" @@ -9538,13 +7081,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 - languageName: node - linkType: hard - "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0" @@ -9552,18 +7088,18 @@ __metadata: languageName: node linkType: hard -"zod-to-json-schema@npm:^3.17.1": - version: 3.21.4 - resolution: "zod-to-json-schema@npm:3.21.4" +"zod-to-json-schema@npm:^3.23.0": + version: 3.23.0 + resolution: "zod-to-json-schema@npm:3.23.0" peerDependencies: - zod: ^3.21.4 - checksum: 899c1f461fb6547c0b08a265c82040c250be9b88d3f408f2f3ff77a418fdfad7549077e589d418fccb312c1f6d555c3c7217b199cc9072762e1fab20716dd2a6 + zod: ^3.23.3 + checksum: 56f220f06687b41602478cf19f9fbf04488a450c0e47e6cd6c1dc3b6729e2b1c75f742a52a16cbb11bcdf1ff7b2bf2043dfff59f3784d6ac8ecfa562ce035e21 languageName: node linkType: hard -"zod@npm:^3.22.2": - version: 3.22.2 - resolution: "zod@npm:3.22.2" - checksum: 231e2180c8eabb56e88680d80baff5cf6cbe6d64df3c44c50ebe52f73081ecd0229b1c7215b9552537f537a36d9e36afac2737ddd86dc14e3519bdbc777e82b9 +"zod@npm:^3.23.8": + version: 3.23.8 + resolution: "zod@npm:3.23.8" + checksum: 15949ff82118f59c893dacd9d3c766d02b6fa2e71cf474d5aa888570c469dbf5446ac5ad562bb035bf7ac9650da94f290655c194f4a6de3e766f43febd432c5c languageName: node linkType: hard From 427031b442b1e3bc1fa7ce49d595c11ac8ec9a43 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Tue, 6 Aug 2024 15:47:46 +0300 Subject: [PATCH 11/24] extract cartManager to test injection of providers into controllers; demonstrates and resolves an issue where a dynamic module fails to inject a provider it provides into a controller it instantiates --- packages/server/src/app.module.register.ts | 7 ++++-- packages/server/src/cartManager.ts | 29 ++++++++++++++++++++++ packages/server/src/controllers.ts | 19 +++++--------- packages/server/test/order.repo.spec.ts | 2 +- 4 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 packages/server/src/cartManager.ts diff --git a/packages/server/src/app.module.register.ts b/packages/server/src/app.module.register.ts index df3cf24..59dc2ce 100644 --- a/packages/server/src/app.module.register.ts +++ b/packages/server/src/app.module.register.ts @@ -1,12 +1,15 @@ import {DynamicModule, Module} from "@nestjs/common"; import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; +import {CartManager} from "./cartManager"; -@Module({}) +@Module({ +}) export class AppModuleWithRegister { - static register(adapters: DynamicModule) { + static register(adapters: DynamicModule): DynamicModule { return { imports: [adapters], + providers: [CartManager], controllers: [CartController, ProductController, OrderController, CheckoutController], module: AppModuleWithRegister } diff --git a/packages/server/src/cartManager.ts b/packages/server/src/cartManager.ts new file mode 100644 index 0000000..36352f5 --- /dev/null +++ b/packages/server/src/cartManager.ts @@ -0,0 +1,29 @@ +import {CartRepository} from "./adapters/cart.repo"; +import {BadRequestException, Inject, Injectable} from "@nestjs/common"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; +import {ProductRepository} from "./adapters/product.repo"; +import {OrderRepository} from "./adapters/order.repo"; + +@Injectable() +export class CartManager { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository, + @Inject(ORDER_REPO) private orderRepo: OrderRepository, + @Inject(CART_REPO) private cartRepo: CartRepository) { + } + + async addToCart(cartId: string, productId: string) { + const product = await this.productRepo.findById(productId); + if (!product) { + throw new Error(`product with id ${productId} not found`); + } + await this.cartRepo.addToCart(cartId, product); + } + + async checkout(cartId: string) { + const cart = await this.cartRepo.findById(cartId); + if (!cart) { + throw new BadRequestException(`no cart with id ${cartId} found`); + } + return this.orderRepo.create({items: cart.items}); + } +} \ No newline at end of file diff --git a/packages/server/src/controllers.ts b/packages/server/src/controllers.ts index b527b01..093210f 100644 --- a/packages/server/src/controllers.ts +++ b/packages/server/src/controllers.ts @@ -1,10 +1,11 @@ -import {BadRequestException, Body, Controller, Get, Inject, Param, Post, UsePipes} from '@nestjs/common'; +import {Body, Controller, Get, Inject, Param, Post, UsePipes} from '@nestjs/common'; import {ProductRepository} from './adapters/product.repo'; import {ProductTemplate} from "./types"; import {OrderRepository} from "./adapters/order.repo"; import {CartRepository} from "./adapters/cart.repo"; import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; import {ZodValidationPipe} from "./zodValidationPipe"; +import {CartManager} from "./cartManager"; @Controller("/products") export class ProductController { @@ -34,15 +35,11 @@ export class OrderController { @Controller("/cart") export class CartController { - constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository, @Inject(CART_REPO) private cartRepo: CartRepository) {} + constructor(@Inject(CartManager) private cartManager: CartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} @Post("/:cartId") async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { - const product = await this.productRepo.findById(productId); - if (!product) { - throw new BadRequestException(`product with id ${productId} not found`); - } - await this.cartRepo.addToCart(cartId, product); + await this.cartManager.addToCart(cartId, productId); } @Get("/:cartId/count") @@ -59,15 +56,11 @@ export class CartController { @Controller("/checkout") export class CheckoutController { - constructor(@Inject(CART_REPO) private cartRepo: CartRepository, @Inject(ORDER_REPO) private orderRepo: OrderRepository) {} + constructor(@Inject(CartManager) private cartManager: CartManager) {} @Post("/:cartId") async checkout(@Param("cartId") cartId: string) { - const cart = await this.cartRepo.findById(cartId); - if (!cart) { - throw new BadRequestException(`no cart with id ${cartId} found`); - } - const order = await this.orderRepo.create({items: cart.items}); + const order = await this.cartManager.checkout(cartId); return order.id } diff --git a/packages/server/test/order.repo.spec.ts b/packages/server/test/order.repo.spec.ts index 82d4e60..c892dcd 100644 --- a/packages/server/test/order.repo.spec.ts +++ b/packages/server/test/order.repo.spec.ts @@ -21,7 +21,7 @@ const adapters = [ describe.each(adapters)('the $name order repository', ({makeRepo}) => { - it('finds product by id', async () => { + it('finds order by id', async () => { const { repo, close } = await makeRepo(); const order = await repo.create({items: [{productId: nanoid(), name: "foo", price: 666}]}); From 9496ae79971dd87a3d49a753eb7e2ac15661276c Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Tue, 3 Sep 2024 09:50:38 +0300 Subject: [PATCH 12/24] extract cartManager to test injection of providers into controllers; demonstrates and resolves an issue where a dynamic module fails to inject a provider it provides into a controller it instantiates --- packages/server/src/adapters/fake.ts | 65 ++++++++++---------- packages/server/src/app.module.overrides.ts | 2 + packages/server/src/server.testkit.ts | 4 +- packages/server/test/order.repo.spec.ts | 1 + packages/server/test/product.repo.spec.ts | 3 +- packages/server/test/purchase.system.spec.ts | 17 ++--- 6 files changed, 50 insertions(+), 42 deletions(-) diff --git a/packages/server/src/adapters/fake.ts b/packages/server/src/adapters/fake.ts index 2d2ddcd..3fefcc1 100644 --- a/packages/server/src/adapters/fake.ts +++ b/packages/server/src/adapters/fake.ts @@ -1,41 +1,42 @@ -import { nanoid } from "nanoid"; -import { Order, Product, ProductTemplate } from "../types"; +import {nanoid} from "nanoid"; +import {Order, Product, ProductTemplate} from "../types"; import {ProductRepository} from "./product.repo"; import {OrderRepository} from "./order.repo"; export class InMemoryProductRepository implements ProductRepository { - private products: Product[] = [] - - constructor(products: ProductTemplate[] = []) { - products.forEach(p => this.create(p)); - } - - async findById(productId: string): Promise { - return this.products.find(product => product.id === productId); - } - - async create(template: Omit): Promise { - const product = {...template, id: nanoid()}; - this.products.push(product); - return product; - } - async findAll(): Promise { - return this.products; - } + private products: Product[] = [] + + constructor(products: ProductTemplate[] = []) { + products.forEach(p => this.create(p)); + } + + async findById(productId: string): Promise { + return this.products.find(product => product.id === productId); + } + + async create(template: Omit): Promise { + const product = {...template, id: nanoid()}; + this.products.push(product); + return product; + } + + async findAll(): Promise { + return this.products; + } } export class InMemoryOrderRepository implements OrderRepository { - orders: Order[] = []; - - async create(order: Omit): Promise { - const created = {...order, id: nanoid()}; - this.orders.push(created); - return created; - } - - async findById(orderId: string): Promise { - return this.orders.find(({id}) => id === orderId) || null; - } - + orders: Order[] = []; + + async create(order: Omit): Promise { + const created = {...order, id: nanoid()}; + this.orders.push(created); + return created; + } + + async findById(orderId: string): Promise { + return this.orders.find(({id}) => id === orderId) || null; + } + } diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts index 1b70f03..d4e5e39 100644 --- a/packages/server/src/app.module.overrides.ts +++ b/packages/server/src/app.module.overrides.ts @@ -1,9 +1,11 @@ import { Module} from "@nestjs/common"; import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; import {MongoDBModule} from "./adapters/mongodb.module"; +import {CartManager} from "./cartManager"; @Module({ imports: [MongoDBModule.default()], + providers: [CartManager], controllers: [CartController, ProductController, OrderController, CheckoutController] }) export class AppModuleOverrides { diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index 8301106..d162927 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -46,8 +46,8 @@ export async function createTestingModuleWithRegister(products: ProductTemplate[ }) .compile(); - const productRepo: InMemoryProductRepository = testingModule.get(PRODUCT_REPO); - const orderRepo: InMemoryOrderRepository = testingModule.get(ORDER_REPO); + const productRepo = testingModule.get(PRODUCT_REPO); + const orderRepo = testingModule.get(ORDER_REPO); const nest = testingModule.createNestApplication(); nest.enableCors({origin: "*"}); diff --git a/packages/server/test/order.repo.spec.ts b/packages/server/test/order.repo.spec.ts index c892dcd..d4e72f8 100644 --- a/packages/server/test/order.repo.spec.ts +++ b/packages/server/test/order.repo.spec.ts @@ -2,6 +2,7 @@ import { MongoClient } from "mongodb"; import { nanoid } from "nanoid"; import { InMemoryOrderRepository } from "../src/adapters/fake"; import { MongoDBOrderRepository } from "../src/adapters/order.repo"; +import {describe, it, expect} from 'vitest'; const adapters = [ diff --git a/packages/server/test/product.repo.spec.ts b/packages/server/test/product.repo.spec.ts index 93dfacd..594c861 100644 --- a/packages/server/test/product.repo.spec.ts +++ b/packages/server/test/product.repo.spec.ts @@ -1,7 +1,8 @@ import { MongoClient } from "mongodb"; import { InMemoryProductRepository } from "../src/adapters/fake"; -import {MongoDBProductRepository, ProductRepository} from "../src/adapters/product.repo"; +import {MongoDBProductRepository } from "../src/adapters/product.repo"; import { aProduct } from "../src/builders"; +import {describe, it, expect} from 'vitest'; const adapters = [ {name: "mongodb", makeRepo: async () => { diff --git a/packages/server/test/purchase.system.spec.ts b/packages/server/test/purchase.system.spec.ts index b21d719..be35eda 100644 --- a/packages/server/test/purchase.system.spec.ts +++ b/packages/server/test/purchase.system.spec.ts @@ -1,8 +1,10 @@ import {createTestingModule} from "../src/server.testkit"; import {aProduct} from "../src/builders"; import request from 'supertest'; +import {test, expect} from 'vitest'; async function createTestHarness() { + const {nest, ...rest} = await createTestingModule(); return { app: request(nest.getHttpServer()), @@ -14,20 +16,20 @@ async function createTestHarness() { test('a user can order a product', async () => { const {app, productRepo, orderRepo} = await createTestHarness(); - const moogOne = await productRepo.create(aProduct({title: "Moog One"})); + const product = await productRepo.create(aProduct()); const cartId = '666'; await app .post(`/cart/${cartId}`) - .send({productId: moogOne.id}) + .send({productId: product.id}) .expect(201); await app .get(`/cart/${cartId}`) .expect({id: cartId, items: [{ - productId: moogOne.id, - price: moogOne.price, - name: moogOne.title + productId: product.id, + price: product.price, + name: product.title }]}); const orderId = await app @@ -35,11 +37,12 @@ test('a user can order a product', async () => { .expect(201) .then(response => response.text); - expect(orderRepo.orders).toContainEqual(expect.objectContaining({ + const order = await orderRepo.findById(orderId); + expect(order).toMatchObject(expect.objectContaining({ id: orderId, items: expect.arrayContaining([ expect.objectContaining({ - productId: moogOne.id, + productId: product.id, }) ]) })); From afdfaf2bf72a6e5c8671ea1767c74489b9312c25 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Tue, 3 Sep 2024 20:23:26 +0300 Subject: [PATCH 13/24] push search to backend --- packages/client/src/adapters/backend.ts | 7 ++++++- packages/client/src/adapters/productCatalog.ts | 1 + packages/client/src/hooks/products.ts | 8 ++++---- packages/server/src/adapters/fake.ts | 5 +++++ packages/server/src/adapters/product.repo.ts | 6 ++++++ packages/server/src/controllers.ts | 7 ++++++- packages/server/test/product.repo.spec.ts | 18 +++++++++++++++++- 7 files changed, 45 insertions(+), 7 deletions(-) diff --git a/packages/client/src/adapters/backend.ts b/packages/client/src/adapters/backend.ts index b7c49b3..8a88068 100644 --- a/packages/client/src/adapters/backend.ts +++ b/packages/client/src/adapters/backend.ts @@ -29,8 +29,13 @@ export class HTTPShopBackend implements CartAdapter, OrderAdapter, ProductCatalo }; findAllProducts = async () => { - const res = await this.axios.get(`/products`); + const res = await this.axios.get(`/products`); return res.data.map(p => Product.parse(p)); }; + async searchProducts(freeTextSearch: string): Promise { + const res = await this.axios.get(`/products/search?query=${freeTextSearch}`); + return res.data.map(p => Product.parse(p)); + } + } diff --git a/packages/client/src/adapters/productCatalog.ts b/packages/client/src/adapters/productCatalog.ts index a1c782f..2005a1f 100644 --- a/packages/client/src/adapters/productCatalog.ts +++ b/packages/client/src/adapters/productCatalog.ts @@ -2,5 +2,6 @@ import {Product} from "@ts-react-tdd/server/src/types"; export interface ProductCatalog { findAllProducts(): Promise; + searchProducts(freeTextSearch: string): Promise; } diff --git a/packages/client/src/hooks/products.ts b/packages/client/src/hooks/products.ts index 2dc2782..4174f13 100644 --- a/packages/client/src/hooks/products.ts +++ b/packages/client/src/hooks/products.ts @@ -7,12 +7,12 @@ type ProductQuery = { } export const useProducts = ({freeTextSearch}: ProductQuery) => { const {productCatalog} = useContext(IOContext); - const {data, isLoading, error} = useQuery("products", () => productCatalog.findAllProducts()); - - const products = data && (freeTextSearch.length > 0 ? data.filter(p => p.title.toLowerCase().includes(freeTextSearch.toLowerCase())) : data) + const {data, isLoading, error} = useQuery(["products", freeTextSearch], () => freeTextSearch?.length > 0 ? + productCatalog.searchProducts(freeTextSearch) : + productCatalog.findAllProducts()); return { - products, + products: data, productsLoading: isLoading, productsError: error, } diff --git a/packages/server/src/adapters/fake.ts b/packages/server/src/adapters/fake.ts index 3fefcc1..97daace 100644 --- a/packages/server/src/adapters/fake.ts +++ b/packages/server/src/adapters/fake.ts @@ -23,6 +23,11 @@ export class InMemoryProductRepository implements ProductRepository { async findAll(): Promise { return this.products; } + + async findByTitle(titleSearch: string): Promise { + return this.products.filter(({title}) => title.toLowerCase().includes(titleSearch?.toLowerCase())); + } + } export class InMemoryOrderRepository implements OrderRepository { diff --git a/packages/server/src/adapters/product.repo.ts b/packages/server/src/adapters/product.repo.ts index 9225974..4deecae 100644 --- a/packages/server/src/adapters/product.repo.ts +++ b/packages/server/src/adapters/product.repo.ts @@ -32,6 +32,12 @@ export class MongoDBProductRepository { return this.products.findOne({_id: {$eq: new ObjectId(productId)}}) .then(doc => doc ? docToProduct(doc) : undefined) } + + async findByTitle(titleSearch: string): Promise { + return this.products.find({title: {$regex: titleSearch, $options: "i"}}) + .map(docToProduct) + .toArray(); + } } export type ProductRepository = Omit; \ No newline at end of file diff --git a/packages/server/src/controllers.ts b/packages/server/src/controllers.ts index 093210f..f1b81e4 100644 --- a/packages/server/src/controllers.ts +++ b/packages/server/src/controllers.ts @@ -1,4 +1,4 @@ -import {Body, Controller, Get, Inject, Param, Post, UsePipes} from '@nestjs/common'; +import {Body, Controller, Get, Inject, Param, Post, Query, UsePipes} from '@nestjs/common'; import {ProductRepository} from './adapters/product.repo'; import {ProductTemplate} from "./types"; import {OrderRepository} from "./adapters/order.repo"; @@ -21,6 +21,11 @@ export class ProductController { async getProducts() { return this.productRepo.findAll(); } + + @Get("/search") + async searchProducts(@Query("query") query: string) { + return this.productRepo.findByTitle(query); + } } @Controller("/order") diff --git a/packages/server/test/product.repo.spec.ts b/packages/server/test/product.repo.spec.ts index 594c861..dd27bc8 100644 --- a/packages/server/test/product.repo.spec.ts +++ b/packages/server/test/product.repo.spec.ts @@ -6,7 +6,8 @@ import {describe, it, expect} from 'vitest'; const adapters = [ {name: "mongodb", makeRepo: async () => { - const mongo = await new MongoClient(`mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority`).connect(); + const mongo = new MongoClient(`mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority`); + await mongo.connect(); const repo = new MongoDBProductRepository(mongo.db()); return { repo, @@ -44,4 +45,19 @@ describe.each(adapters)('the $name product repository', ({makeRepo}) => { return close(); }); + + it('finds products matching a title query', async () => { + const { repo, close } = await makeRepo(); + + const p1 = await repo.create(aProduct({title: "foo"})); + const p2 = await repo.create(aProduct({title: "bar"})); + const p3 = await repo.create(aProduct({title: "food"})); + + const found = await repo.findByTitle("foo"); + expect(found).toContainEqual(p1); + expect(found).not.toContainEqual(p2); + expect(found).toContainEqual(p3); + + return close(); + }); }) \ No newline at end of file From fa6708575462fc6e98dfe72758e94b3ef62c8810 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Tue, 3 Sep 2024 20:25:09 +0300 Subject: [PATCH 14/24] added contract test for case-insensitive search --- packages/server/test/product.repo.spec.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/server/test/product.repo.spec.ts b/packages/server/test/product.repo.spec.ts index dd27bc8..0c99f69 100644 --- a/packages/server/test/product.repo.spec.ts +++ b/packages/server/test/product.repo.spec.ts @@ -60,4 +60,21 @@ describe.each(adapters)('the $name product repository', ({makeRepo}) => { return close(); }); + + it('finds products matching a case-insensitive query', async () => { + const { repo, close } = await makeRepo(); + + const p1 = await repo.create(aProduct({title: "foo"})); + const p2 = await repo.create(aProduct({title: "FOO"})); + const p3 = await repo.create(aProduct({title: "fOo"})); + const p4 = await repo.create(aProduct({title: "boo"})); + + const found = await repo.findByTitle("foo"); + expect(found).toContainEqual(p1); + expect(found).toContainEqual(p2); + expect(found).toContainEqual(p3); + expect(found).not.toContainEqual(p4); + + return close(); + }); }) \ No newline at end of file From f54cb9724fcd399574b3a54477ea27c393e83c21 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 12:29:40 +0300 Subject: [PATCH 15/24] separated catalog, orders and cart to separate apps --- packages/client/src/adapters/backend.ts | 2 +- .../server/src/adapters/mongodb.module.ts | 2 +- packages/server/src/app.module.ioc.ts | 6 +- packages/server/src/app.module.overrides.ts | 8 ++- packages/server/src/app.module.register.ts | 8 ++- packages/server/src/cart/app.ts | 11 +++ packages/server/src/cart/cart.module.ts | 32 +++++++++ packages/server/src/cart/cartController.ts | 32 +++++++++ packages/server/src/{ => cart}/cartManager.ts | 8 +-- packages/server/src/catalog/app.ts | 10 +++ packages/server/src/catalog/catalog.module.ts | 21 ++++++ packages/server/src/catalog/main.ts | 18 +++++ .../server/src/catalog/productController.ts | 27 +++++++ packages/server/src/controllers.ts | 72 ------------------- packages/server/src/orders/app.ts | 10 +++ packages/server/src/orders/main.ts | 18 +++++ packages/server/src/orders/order.module.ts | 21 ++++++ packages/server/src/orders/orderController.ts | 14 ++++ packages/server/src/server.testkit.ts | 18 ++++- .../purchase.microservices.system.spec.ts | 55 ++++++++++++++ packages/server/test/purchase.system.spec.ts | 2 +- 21 files changed, 307 insertions(+), 88 deletions(-) create mode 100644 packages/server/src/cart/app.ts create mode 100644 packages/server/src/cart/cart.module.ts create mode 100644 packages/server/src/cart/cartController.ts rename packages/server/src/{ => cart}/cartManager.ts (79%) create mode 100644 packages/server/src/catalog/app.ts create mode 100644 packages/server/src/catalog/catalog.module.ts create mode 100644 packages/server/src/catalog/main.ts create mode 100644 packages/server/src/catalog/productController.ts delete mode 100644 packages/server/src/controllers.ts create mode 100644 packages/server/src/orders/app.ts create mode 100644 packages/server/src/orders/main.ts create mode 100644 packages/server/src/orders/order.module.ts create mode 100644 packages/server/src/orders/orderController.ts create mode 100644 packages/server/test/purchase.microservices.system.spec.ts diff --git a/packages/client/src/adapters/backend.ts b/packages/client/src/adapters/backend.ts index 8a88068..968b08d 100644 --- a/packages/client/src/adapters/backend.ts +++ b/packages/client/src/adapters/backend.ts @@ -21,7 +21,7 @@ export class HTTPShopBackend implements CartAdapter, OrderAdapter, ProductCatalo return CartSummary.parse(res.data); } - checkout = async (cartId: string) => (await this.axios.post(`/checkout/${cartId}`)).data; + checkout = async (cartId: string) => (await this.axios.post(`/cart/${cartId}/checkout`)).data; getOrder = async (orderId: string) => { const res = await this.axios.get(`/order/${orderId}`); diff --git a/packages/server/src/adapters/mongodb.module.ts b/packages/server/src/adapters/mongodb.module.ts index e4baeac..5479432 100644 --- a/packages/server/src/adapters/mongodb.module.ts +++ b/packages/server/src/adapters/mongodb.module.ts @@ -44,4 +44,4 @@ export class MongoDBModule { static default() { return this.forRoot({uri: `mongodb://root:password@127.0.0.1`, dbName: "storeDB"}); } -} +} \ No newline at end of file diff --git a/packages/server/src/app.module.ioc.ts b/packages/server/src/app.module.ioc.ts index 67890e6..31c1f5f 100644 --- a/packages/server/src/app.module.ioc.ts +++ b/packages/server/src/app.module.ioc.ts @@ -1,9 +1,11 @@ import {DynamicModule, Module} from "@nestjs/common"; -import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; +import {CartController} from "./cart/cartController"; import {OrderRepository} from "./adapters/order.repo"; import {ProductRepository} from "./adapters/product.repo"; import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; import {MemoryCartRepository} from "./adapters/cart.repo"; +import {ProductController} from "./catalog/productController"; +import {OrderController} from "./orders/orderController"; @Module({}) export class AppModuleInversionOfControl { @@ -24,7 +26,7 @@ export class AppModuleInversionOfControl { useClass: MemoryCartRepository, } ], - controllers: [CartController, ProductController, OrderController, CheckoutController] + controllers: [CartController, ProductController, OrderController] } } diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts index d4e5e39..b2778bd 100644 --- a/packages/server/src/app.module.overrides.ts +++ b/packages/server/src/app.module.overrides.ts @@ -1,12 +1,14 @@ import { Module} from "@nestjs/common"; -import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; +import {CartController} from "./cart/cartController"; import {MongoDBModule} from "./adapters/mongodb.module"; -import {CartManager} from "./cartManager"; +import {CartManager} from "./cart/cartManager"; +import {ProductController} from "./catalog/productController"; +import {OrderController} from "./orders/orderController"; @Module({ imports: [MongoDBModule.default()], providers: [CartManager], - controllers: [CartController, ProductController, OrderController, CheckoutController] + controllers: [CartController, ProductController, OrderController] }) export class AppModuleOverrides { diff --git a/packages/server/src/app.module.register.ts b/packages/server/src/app.module.register.ts index 59dc2ce..aa54206 100644 --- a/packages/server/src/app.module.register.ts +++ b/packages/server/src/app.module.register.ts @@ -1,6 +1,8 @@ import {DynamicModule, Module} from "@nestjs/common"; -import {CartController, CheckoutController, OrderController, ProductController} from "./controllers"; -import {CartManager} from "./cartManager"; +import {CartController} from "./cart/cartController"; +import {CartManager} from "./cart/cartManager"; +import {ProductController} from "./catalog/productController"; +import {OrderController} from "./orders/orderController"; @Module({ @@ -10,7 +12,7 @@ export class AppModuleWithRegister { return { imports: [adapters], providers: [CartManager], - controllers: [CartController, ProductController, OrderController, CheckoutController], + controllers: [CartController, ProductController, OrderController], module: AppModuleWithRegister } } diff --git a/packages/server/src/cart/app.ts b/packages/server/src/cart/app.ts new file mode 100644 index 0000000..7b95049 --- /dev/null +++ b/packages/server/src/cart/app.ts @@ -0,0 +1,11 @@ +import {ProductRepository} from "../adapters/product.repo"; +import {NestFactory} from "@nestjs/core"; +import {OrderRepository} from "../adapters/order.repo"; +import {CartModule} from "./cart.module"; + +export async function createCartApp(productRepo: ProductRepository, orderRepo: OrderRepository) { + const app = await NestFactory.create(CartModule.register(productRepo, orderRepo)); + app.enableCors({origin: "*"}); + await app.init(); + return app; +} \ No newline at end of file diff --git a/packages/server/src/cart/cart.module.ts b/packages/server/src/cart/cart.module.ts new file mode 100644 index 0000000..d47b88e --- /dev/null +++ b/packages/server/src/cart/cart.module.ts @@ -0,0 +1,32 @@ +import {ProductRepository} from "../adapters/product.repo"; +import {OrderRepository} from "../adapters/order.repo"; +import {DynamicModule} from "@nestjs/common"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {MemoryCartRepository} from "../adapters/cart.repo"; +import {CartManager} from "./cartManager"; +import {CartController} from "./cartController"; + +export class CartModule { + static register(productRepo: ProductRepository, orderRepo: OrderRepository): DynamicModule { + return { + module: CartModule, + providers: [ + { + provide: PRODUCT_REPO, + useValue: productRepo + }, + { + provide: ORDER_REPO, + useValue: orderRepo, + }, + { + provide: CART_REPO, + useClass: MemoryCartRepository, + }, + CartManager, + ], + controllers: [CartController] + + } + } +} \ No newline at end of file diff --git a/packages/server/src/cart/cartController.ts b/packages/server/src/cart/cartController.ts new file mode 100644 index 0000000..241b857 --- /dev/null +++ b/packages/server/src/cart/cartController.ts @@ -0,0 +1,32 @@ +import {Body, Controller, Get, Inject, Param, Post} from '@nestjs/common'; +import {CartRepository} from "../adapters/cart.repo"; +import {CART_REPO} from "../adapters"; +import {CartManager} from "./cartManager"; + +@Controller("/cart") +export class CartController { + constructor(@Inject(CartManager) private cartManager: CartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} + + @Post("/:cartId") + async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { + await this.cartManager.addToCart(cartId, productId); + } + + @Get("/:cartId/count") + async getCartCount(@Param("cartId") cartId: string) { + const cart = await this.cartRepo.findById(cartId); + return cart?.items.length || 0; + } + + @Get("/:cartId") + async getCart(@Param("cartId") cartId: string) { + return this.cartRepo.findById(cartId); + } + + @Post("/:cartId/checkout") + async checkout(@Param("cartId") cartId: string) { + const order = await this.cartManager.checkout(cartId); + return order.id + } +} + diff --git a/packages/server/src/cartManager.ts b/packages/server/src/cart/cartManager.ts similarity index 79% rename from packages/server/src/cartManager.ts rename to packages/server/src/cart/cartManager.ts index 36352f5..be7b262 100644 --- a/packages/server/src/cartManager.ts +++ b/packages/server/src/cart/cartManager.ts @@ -1,8 +1,8 @@ -import {CartRepository} from "./adapters/cart.repo"; +import {CartRepository} from "../adapters/cart.repo"; import {BadRequestException, Inject, Injectable} from "@nestjs/common"; -import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; -import {ProductRepository} from "./adapters/product.repo"; -import {OrderRepository} from "./adapters/order.repo"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {ProductRepository} from "../adapters/product.repo"; +import {OrderRepository} from "../adapters/order.repo"; @Injectable() export class CartManager { diff --git a/packages/server/src/catalog/app.ts b/packages/server/src/catalog/app.ts new file mode 100644 index 0000000..d767482 --- /dev/null +++ b/packages/server/src/catalog/app.ts @@ -0,0 +1,10 @@ +import {ProductRepository} from "../adapters/product.repo"; +import {NestFactory} from "@nestjs/core"; +import {CatalogModule} from "./catalog.module"; + +export async function createCatalogApp(productRepo: ProductRepository) { + const app = await NestFactory.create(CatalogModule.register(productRepo)) + app.enableCors({origin: "*"}); + await app.init(); + return app; +} \ No newline at end of file diff --git a/packages/server/src/catalog/catalog.module.ts b/packages/server/src/catalog/catalog.module.ts new file mode 100644 index 0000000..f15edee --- /dev/null +++ b/packages/server/src/catalog/catalog.module.ts @@ -0,0 +1,21 @@ +import {ProductRepository} from "../adapters/product.repo"; +import {ProductController} from "./productController"; +import {PRODUCT_REPO} from "../adapters"; +import {DynamicModule} from "@nestjs/common"; + + +export class CatalogModule { + static register(productRepo: ProductRepository): DynamicModule { + return { + module: CatalogModule, + providers: [ + { + provide: PRODUCT_REPO, + useValue: productRepo + }, + ], + controllers: [ProductController] + + } + } +} \ No newline at end of file diff --git a/packages/server/src/catalog/main.ts b/packages/server/src/catalog/main.ts new file mode 100644 index 0000000..9a194ae --- /dev/null +++ b/packages/server/src/catalog/main.ts @@ -0,0 +1,18 @@ +import {MongoClient} from "mongodb"; +import {MongoDBProductRepository} from "../adapters/product.repo"; +import {createCatalogApp} from "./app"; + +export const CATALOG_PORT = 8081; + +async function startServer() { + const mongo = await new MongoClient( + `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` + ).connect(); + + const db = mongo.db("store"); + const productRepo = new MongoDBProductRepository(db); + const app = await createCatalogApp(productRepo); + await app.listen(CATALOG_PORT); +} + +void startServer(); \ No newline at end of file diff --git a/packages/server/src/catalog/productController.ts b/packages/server/src/catalog/productController.ts new file mode 100644 index 0000000..e9d9dd3 --- /dev/null +++ b/packages/server/src/catalog/productController.ts @@ -0,0 +1,27 @@ +import {Body, Controller, Get, Inject, Post, Query, UsePipes} from "@nestjs/common"; +import {PRODUCT_REPO} from "../adapters"; +import {ProductRepository} from "../adapters/product.repo"; +import {ZodValidationPipe} from "../zodValidationPipe"; +import {ProductTemplate} from "../types"; + +@Controller("/products") +export class ProductController { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository) { + } + + @Post() + @UsePipes(new ZodValidationPipe(ProductTemplate)) + async createProduct(@Body() product: ProductTemplate) { + return this.productRepo.create(product); + } + + @Get() + async getProducts() { + return this.productRepo.findAll(); + } + + @Get("/search") + async searchProducts(@Query("query") query: string) { + return this.productRepo.findByTitle(query); + } +} \ No newline at end of file diff --git a/packages/server/src/controllers.ts b/packages/server/src/controllers.ts deleted file mode 100644 index f1b81e4..0000000 --- a/packages/server/src/controllers.ts +++ /dev/null @@ -1,72 +0,0 @@ -import {Body, Controller, Get, Inject, Param, Post, Query, UsePipes} from '@nestjs/common'; -import {ProductRepository} from './adapters/product.repo'; -import {ProductTemplate} from "./types"; -import {OrderRepository} from "./adapters/order.repo"; -import {CartRepository} from "./adapters/cart.repo"; -import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; -import {ZodValidationPipe} from "./zodValidationPipe"; -import {CartManager} from "./cartManager"; - -@Controller("/products") -export class ProductController { - constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository) {} - - @Post() - @UsePipes(new ZodValidationPipe(ProductTemplate)) - async createProduct(@Body() product: ProductTemplate) { - return this.productRepo.create(product); - } - - @Get() - async getProducts() { - return this.productRepo.findAll(); - } - - @Get("/search") - async searchProducts(@Query("query") query: string) { - return this.productRepo.findByTitle(query); - } -} - -@Controller("/order") -export class OrderController { - constructor(@Inject(ORDER_REPO) private orderRepo: OrderRepository) {} - - @Get("/:orderId") - async getOrder(@Param("orderId") orderId: string) { - return this.orderRepo.findById(orderId); - } -} - -@Controller("/cart") -export class CartController { - constructor(@Inject(CartManager) private cartManager: CartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} - - @Post("/:cartId") - async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { - await this.cartManager.addToCart(cartId, productId); - } - - @Get("/:cartId/count") - async getCartCount(@Param("cartId") cartId: string) { - const cart = await this.cartRepo.findById(cartId); - return cart?.items.length || 0; - } - - @Get("/:cartId") - async getCart(@Param("cartId") cartId: string) { - return this.cartRepo.findById(cartId); - } -} - -@Controller("/checkout") -export class CheckoutController { - constructor(@Inject(CartManager) private cartManager: CartManager) {} - - @Post("/:cartId") - async checkout(@Param("cartId") cartId: string) { - const order = await this.cartManager.checkout(cartId); - return order.id - } - -} \ No newline at end of file diff --git a/packages/server/src/orders/app.ts b/packages/server/src/orders/app.ts new file mode 100644 index 0000000..54d37c4 --- /dev/null +++ b/packages/server/src/orders/app.ts @@ -0,0 +1,10 @@ +import {NestFactory} from "@nestjs/core"; +import {OrderModule} from "./order.module"; +import {OrderRepository} from "../adapters/order.repo"; + +export async function createOrdersApp(orderRepo: OrderRepository) { + const app = await NestFactory.create(OrderModule.register(orderRepo)) + app.enableCors({origin: "*"}); + await app.init(); + return app; +} \ No newline at end of file diff --git a/packages/server/src/orders/main.ts b/packages/server/src/orders/main.ts new file mode 100644 index 0000000..36ca7a6 --- /dev/null +++ b/packages/server/src/orders/main.ts @@ -0,0 +1,18 @@ +import {MongoClient} from "mongodb"; +import {createOrdersApp} from "./app"; +import {MongoDBOrderRepository} from "../adapters/order.repo"; + +export const ORDERS_PORT = 8082; + +async function startServer() { + const mongo = await new MongoClient( + `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` + ).connect(); + + const db = mongo.db("store"); + const orderRepo = new MongoDBOrderRepository(db); + const app = await createOrdersApp(orderRepo); + await app.listen(ORDERS_PORT); +} + +void startServer(); \ No newline at end of file diff --git a/packages/server/src/orders/order.module.ts b/packages/server/src/orders/order.module.ts new file mode 100644 index 0000000..29b6950 --- /dev/null +++ b/packages/server/src/orders/order.module.ts @@ -0,0 +1,21 @@ +import {ORDER_REPO} from "../adapters"; +import {DynamicModule} from "@nestjs/common"; +import {OrderRepository} from "../adapters/order.repo"; +import {OrderController} from "./orderController"; + + +export class OrderModule { + static register(orderRepo: OrderRepository): DynamicModule { + return { + module: OrderModule, + providers: [ + { + provide: ORDER_REPO, + useValue: orderRepo + }, + ], + controllers: [OrderController] + + } + } +} \ No newline at end of file diff --git a/packages/server/src/orders/orderController.ts b/packages/server/src/orders/orderController.ts new file mode 100644 index 0000000..8312559 --- /dev/null +++ b/packages/server/src/orders/orderController.ts @@ -0,0 +1,14 @@ +import {Controller, Get, Inject, Param} from "@nestjs/common"; +import {ORDER_REPO} from "../adapters"; +import {OrderRepository} from "../adapters/order.repo"; + +@Controller("/order") +export class OrderController { + constructor(@Inject(ORDER_REPO) private orderRepo: OrderRepository) { + } + + @Get("/:orderId") + async getOrder(@Param("orderId") orderId: string) { + return this.orderRepo.findById(orderId); + } +} \ No newline at end of file diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index d162927..3e68422 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -8,6 +8,10 @@ import {MongoDBModule} from "./adapters/mongodb.module"; import {Module} from "@nestjs/common"; import {AppModuleWithRegister} from "./app.module.register"; import {MemoryModule} from "./adapters/memory.module"; +import {createCatalogApp} from "./catalog/app"; +import {createOrdersApp} from "./orders/app"; +import {createCartApp} from "./cart/app"; + export async function createTestingModuleWithIoC(products: ProductTemplate[] = []) { const productRepo = new InMemoryProductRepository(products); const orderRepo = new InMemoryOrderRepository(); @@ -65,4 +69,16 @@ export const createTestingModule = createTestingModuleWithRegister; useValue: null }], }) -class NopModule{} \ No newline at end of file +class NopModule{} + +export async function runMicroservices(products: ProductTemplate[] = []) { + + const productRepo = new InMemoryProductRepository(products); + const orderRepo = new InMemoryOrderRepository(); + + const catalogApp = await createCatalogApp(productRepo); + const ordersApp = await createOrdersApp(orderRepo); + const cartApp = await createCartApp(productRepo, orderRepo); + + return {catalogApp, ordersApp, cartApp, orderRepo, productRepo}; +} diff --git a/packages/server/test/purchase.microservices.system.spec.ts b/packages/server/test/purchase.microservices.system.spec.ts new file mode 100644 index 0000000..3da9946 --- /dev/null +++ b/packages/server/test/purchase.microservices.system.spec.ts @@ -0,0 +1,55 @@ +import {runMicroservices} from "../src/server.testkit"; +import {aProduct} from "../src/builders"; +import request from 'supertest'; +import {test, expect} from 'vitest'; +import {Order} from "../src/types"; + +async function createTestHarness() { + + const {ordersApp, cartApp, ...rest} = await runMicroservices(); + return { + ordersApp: request(ordersApp.getHttpServer()), + cartApp: request(cartApp.getHttpServer()), + ...rest + } +} + +// this test is not really required, it's wholly contained within purchase.flow.spec.tsx +test('a user can order a product from the microservices-based system', async () => { + const {ordersApp, cartApp, productRepo } = await createTestHarness(); + + const product = await productRepo.create(aProduct()); + const cartId = '666'; + + await cartApp + .post(`/cart/${cartId}`) + .send({productId: product.id}) + .expect(201); + + await cartApp + .get(`/cart/${cartId}`) + .expect({id: cartId, items: [{ + productId: product.id, + price: product.price, + name: product.title + }]}); + + const orderId = await cartApp + .post(`/cart/${cartId}/checkout`) + .expect(201) + .then(response => response.text); + + const order = await ordersApp + .get(`/order/${orderId}`) + .expect(200) + .then(response => Order.parse(response.body)); + + expect(order).toMatchObject(expect.objectContaining({ + id: orderId, + items: expect.arrayContaining([ + expect.objectContaining({ + productId: product.id, + }) + ]) + })); +}); \ No newline at end of file diff --git a/packages/server/test/purchase.system.spec.ts b/packages/server/test/purchase.system.spec.ts index be35eda..0d9369f 100644 --- a/packages/server/test/purchase.system.spec.ts +++ b/packages/server/test/purchase.system.spec.ts @@ -33,7 +33,7 @@ test('a user can order a product', async () => { }]}); const orderId = await app - .post(`/checkout/${666}`) + .post(`/cart/${666}/checkout`) .expect(201) .then(response => response.text); From 0f54a75fb2170d9ddd185874d0906eae8100778a Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 13:20:09 +0300 Subject: [PATCH 16/24] move inter-microservice calls to kafka, not working right now --- package.json | 4 +- packages/e2e/docker-compose.yml | 46 +++++++++- packages/server/src/adapters/order.repo.ts | 8 +- packages/server/src/cart/app.ts | 6 +- packages/server/src/cart/cart.module.ts | 10 +-- packages/server/src/cart/cartManager.ts | 25 ++++-- packages/server/src/cart/main.ts | 35 ++++++++ packages/server/src/catalog/app.ts | 5 +- packages/server/src/catalog/main.ts | 14 ++- .../server/src/catalog/productController.ts | 6 ++ packages/server/src/orders/app.ts | 5 +- packages/server/src/orders/main.ts | 14 ++- packages/server/src/orders/orderController.ts | 8 +- packages/server/src/server.testkit.ts | 13 ++- .../purchase.microservices.system.spec.ts | 20 +++-- yarn.lock | 87 ++++++++++++++++++- 16 files changed, 267 insertions(+), 39 deletions(-) create mode 100644 packages/server/src/cart/main.ts diff --git a/package.json b/package.json index bbf2df7..519423a 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,12 @@ "devDependencies": { "@types/cookie-parser": "^1.4.7", "cookie-parser": "^1.4.6", - "jsdom": "^24.1.0" + "jsdom": "^24.1.0", + "nest-memory-transport": "^1.0.3" }, "dependencies": { "@nestjs/config": "^3.2.2", + "@nestjs/microservices": "^10.4.1", "winston": "^3.13.0" } } diff --git a/packages/e2e/docker-compose.yml b/packages/e2e/docker-compose.yml index 85001b3..0de4f96 100644 --- a/packages/e2e/docker-compose.yml +++ b/packages/e2e/docker-compose.yml @@ -6,4 +6,48 @@ services: - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: password \ No newline at end of file + MONGO_INITDB_ROOT_PASSWORD: password + zookeeper: + image: confluentinc/cp-zookeeper:6.1.1 + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + + # reachable on 9092 from the host and on 29092 from inside docker compose + kafka: + image: confluentinc/cp-kafka:6.1.1 + depends_on: + - zookeeper + ports: + - '9092:9092' + expose: + - '29092' + environment: + KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: '1' + KAFKA_MIN_INSYNC_REPLICAS: '1' + + init-kafka: + image: confluentinc/cp-kafka:6.1.1 + depends_on: + - kafka + entrypoint: [ '/bin/sh', '-c' ] + command: | + " + # blocks until kafka is reachable + kafka-topics --bootstrap-server kafka:29092 --list + + echo -e 'Creating kafka topics' + kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic hello.topic --replication-factor 1 --partitions 1 + kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic ping.topic --replication-factor 1 --partitions 1 + kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic pong.topic --replication-factor 1 --partitions 1 + kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic payload.topic --replication-factor 1 --partitions 1 + kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic payload.response.topic --replication-factor 1 --partitions 1 + + echo -e 'Successfully created the following topics:' + kafka-topics --bootstrap-server kafka:29092 --list + " \ No newline at end of file diff --git a/packages/server/src/adapters/order.repo.ts b/packages/server/src/adapters/order.repo.ts index 662f362..16307cb 100644 --- a/packages/server/src/adapters/order.repo.ts +++ b/packages/server/src/adapters/order.repo.ts @@ -2,18 +2,18 @@ import { Collection, Db, ObjectId, WithId } from "mongodb"; import { Order } from "../types"; import {Inject, Injectable} from "@nestjs/common"; -type MongoOrder = Omit; -const docToOrder = ({_id, ...rest}: WithId) => Order.parse({id: _id.toString(), ...rest}); +export type OrderTemplate = Omit; +const docToOrder = ({_id, ...rest}: WithId) => Order.parse({id: _id.toString(), ...rest}); @Injectable() export class MongoDBOrderRepository { - private orders: Collection; + private orders: Collection; constructor(@Inject("storeDB") db: Db) { this.orders = db.collection("orders"); } - async create(order: MongoOrder): Promise { + async create(order: OrderTemplate): Promise { const res = await this.orders.insertOne({_id: new ObjectId(), ...order}); return { id: res.insertedId.toString(), diff --git a/packages/server/src/cart/app.ts b/packages/server/src/cart/app.ts index 7b95049..4e88d29 100644 --- a/packages/server/src/cart/app.ts +++ b/packages/server/src/cart/app.ts @@ -1,10 +1,10 @@ -import {ProductRepository} from "../adapters/product.repo"; import {NestFactory} from "@nestjs/core"; import {OrderRepository} from "../adapters/order.repo"; import {CartModule} from "./cart.module"; +import {DynamicModule} from "@nestjs/common"; -export async function createCartApp(productRepo: ProductRepository, orderRepo: OrderRepository) { - const app = await NestFactory.create(CartModule.register(productRepo, orderRepo)); +export async function createCartApp(clientsModule: DynamicModule, orderRepo: OrderRepository) { + const app = await NestFactory.create(CartModule.register(clientsModule, orderRepo)); app.enableCors({origin: "*"}); await app.init(); return app; diff --git a/packages/server/src/cart/cart.module.ts b/packages/server/src/cart/cart.module.ts index d47b88e..7d43f60 100644 --- a/packages/server/src/cart/cart.module.ts +++ b/packages/server/src/cart/cart.module.ts @@ -1,20 +1,16 @@ -import {ProductRepository} from "../adapters/product.repo"; import {OrderRepository} from "../adapters/order.repo"; import {DynamicModule} from "@nestjs/common"; -import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {CART_REPO, ORDER_REPO} from "../adapters"; import {MemoryCartRepository} from "../adapters/cart.repo"; import {CartManager} from "./cartManager"; import {CartController} from "./cartController"; export class CartModule { - static register(productRepo: ProductRepository, orderRepo: OrderRepository): DynamicModule { + static register(clientsModule: DynamicModule, orderRepo: OrderRepository): DynamicModule { return { module: CartModule, + imports: [clientsModule], providers: [ - { - provide: PRODUCT_REPO, - useValue: productRepo - }, { provide: ORDER_REPO, useValue: orderRepo, diff --git a/packages/server/src/cart/cartManager.ts b/packages/server/src/cart/cartManager.ts index be7b262..25cb3d4 100644 --- a/packages/server/src/cart/cartManager.ts +++ b/packages/server/src/cart/cartManager.ts @@ -1,18 +1,20 @@ import {CartRepository} from "../adapters/cart.repo"; -import {BadRequestException, Inject, Injectable} from "@nestjs/common"; -import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; -import {ProductRepository} from "../adapters/product.repo"; -import {OrderRepository} from "../adapters/order.repo"; +import {BadRequestException, Inject, Injectable, OnModuleInit} from "@nestjs/common"; +import {CART_REPO} from "../adapters"; +import {ClientKafka} from "@nestjs/microservices"; +import {Order, Product} from "../types"; +import {firstValueFrom} from "rxjs"; + +export const CART_CLIENT = 'cartClient'; @Injectable() -export class CartManager { - constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository, - @Inject(ORDER_REPO) private orderRepo: OrderRepository, +export class CartManager implements OnModuleInit{ + constructor(@Inject(CART_CLIENT) private clients: ClientKafka, @Inject(CART_REPO) private cartRepo: CartRepository) { } async addToCart(cartId: string, productId: string) { - const product = await this.productRepo.findById(productId); + const product = await firstValueFrom(this.clients.send('productById', productId)); if (!product) { throw new Error(`product with id ${productId} not found`); } @@ -24,6 +26,11 @@ export class CartManager { if (!cart) { throw new BadRequestException(`no cart with id ${cartId} found`); } - return this.orderRepo.create({items: cart.items}); + return firstValueFrom(this.clients.send('createOrder', {items: cart.items})); + } + + async onModuleInit() { + this.clients.subscribeToResponseOf('productById'); + await this.clients.connect(); } } \ No newline at end of file diff --git a/packages/server/src/cart/main.ts b/packages/server/src/cart/main.ts new file mode 100644 index 0000000..0520c51 --- /dev/null +++ b/packages/server/src/cart/main.ts @@ -0,0 +1,35 @@ +import {MongoClient} from "mongodb"; +import {createCartApp} from "./app"; +import {MongoDBOrderRepository} from "../adapters/order.repo"; +import {ClientsModule, Transport} from "@nestjs/microservices"; +import {CART_CLIENT} from "./cartManager"; + +export const CART_PORT = 8082; + +async function startServer() { + const mongo = await new MongoClient( + `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` + ).connect(); + + const db = mongo.db("store"); + const orderRepo = new MongoDBOrderRepository(db); + const clientsModule = ClientsModule.register([ + { + name: CART_CLIENT, + transport: Transport.KAFKA, + options: { + client: { + clientId: 'cart-client', + brokers: ['localhost:9092'], + }, + consumer: { + groupId: 'cart-consumer', + }, + }, + }, + ]); + const app = await createCartApp(clientsModule, orderRepo); + await app.listen(CART_PORT); +} + +void startServer(); \ No newline at end of file diff --git a/packages/server/src/catalog/app.ts b/packages/server/src/catalog/app.ts index d767482..6e3e4ec 100644 --- a/packages/server/src/catalog/app.ts +++ b/packages/server/src/catalog/app.ts @@ -1,10 +1,13 @@ import {ProductRepository} from "../adapters/product.repo"; import {NestFactory} from "@nestjs/core"; import {CatalogModule} from "./catalog.module"; +import {MicroserviceOptions} from "@nestjs/microservices"; -export async function createCatalogApp(productRepo: ProductRepository) { +export async function createCatalogApp(productRepo: ProductRepository, microserviceOptions: MicroserviceOptions) { const app = await NestFactory.create(CatalogModule.register(productRepo)) app.enableCors({origin: "*"}); + app.connectMicroservice(microserviceOptions); await app.init(); + await app.startAllMicroservices(); return app; } \ No newline at end of file diff --git a/packages/server/src/catalog/main.ts b/packages/server/src/catalog/main.ts index 9a194ae..895eaa1 100644 --- a/packages/server/src/catalog/main.ts +++ b/packages/server/src/catalog/main.ts @@ -1,6 +1,7 @@ import {MongoClient} from "mongodb"; import {MongoDBProductRepository} from "../adapters/product.repo"; import {createCatalogApp} from "./app"; +import {Transport} from "@nestjs/microservices"; export const CATALOG_PORT = 8081; @@ -11,7 +12,18 @@ async function startServer() { const db = mongo.db("store"); const productRepo = new MongoDBProductRepository(db); - const app = await createCatalogApp(productRepo); + const app = await createCatalogApp(productRepo, { + transport: Transport.KAFKA, + options: { + client: { + clientId: 'product-catalog', + brokers: ['localhost:9092'], + }, + consumer: { + groupId: 'product-catalog-server', + }, + }, + }); await app.listen(CATALOG_PORT); } diff --git a/packages/server/src/catalog/productController.ts b/packages/server/src/catalog/productController.ts index e9d9dd3..8939cff 100644 --- a/packages/server/src/catalog/productController.ts +++ b/packages/server/src/catalog/productController.ts @@ -3,6 +3,7 @@ import {PRODUCT_REPO} from "../adapters"; import {ProductRepository} from "../adapters/product.repo"; import {ZodValidationPipe} from "../zodValidationPipe"; import {ProductTemplate} from "../types"; +import {MessagePattern} from "@nestjs/microservices"; @Controller("/products") export class ProductController { @@ -24,4 +25,9 @@ export class ProductController { async searchProducts(@Query("query") query: string) { return this.productRepo.findByTitle(query); } + + @MessagePattern('productById') + async findProductById(id: string) { + return this.productRepo.findById(id); + } } \ No newline at end of file diff --git a/packages/server/src/orders/app.ts b/packages/server/src/orders/app.ts index 54d37c4..067799f 100644 --- a/packages/server/src/orders/app.ts +++ b/packages/server/src/orders/app.ts @@ -1,10 +1,13 @@ import {NestFactory} from "@nestjs/core"; import {OrderModule} from "./order.module"; import {OrderRepository} from "../adapters/order.repo"; +import {MicroserviceOptions} from "@nestjs/microservices"; -export async function createOrdersApp(orderRepo: OrderRepository) { +export async function createOrdersApp(orderRepo: OrderRepository, microserviceOptions: MicroserviceOptions) { const app = await NestFactory.create(OrderModule.register(orderRepo)) app.enableCors({origin: "*"}); + app.connectMicroservice(microserviceOptions); await app.init(); + await app.startAllMicroservices(); return app; } \ No newline at end of file diff --git a/packages/server/src/orders/main.ts b/packages/server/src/orders/main.ts index 36ca7a6..b19855d 100644 --- a/packages/server/src/orders/main.ts +++ b/packages/server/src/orders/main.ts @@ -1,6 +1,7 @@ import {MongoClient} from "mongodb"; import {createOrdersApp} from "./app"; import {MongoDBOrderRepository} from "../adapters/order.repo"; +import {Transport} from "@nestjs/microservices"; export const ORDERS_PORT = 8082; @@ -11,7 +12,18 @@ async function startServer() { const db = mongo.db("store"); const orderRepo = new MongoDBOrderRepository(db); - const app = await createOrdersApp(orderRepo); + const app = await createOrdersApp(orderRepo, { + transport: Transport.KAFKA, + options: { + client: { + clientId: 'orders', + brokers: ['localhost:9092'], + }, + consumer: { + groupId: 'orders-server', + }, + }, + }); await app.listen(ORDERS_PORT); } diff --git a/packages/server/src/orders/orderController.ts b/packages/server/src/orders/orderController.ts index 8312559..cc15e7d 100644 --- a/packages/server/src/orders/orderController.ts +++ b/packages/server/src/orders/orderController.ts @@ -1,6 +1,7 @@ import {Controller, Get, Inject, Param} from "@nestjs/common"; import {ORDER_REPO} from "../adapters"; -import {OrderRepository} from "../adapters/order.repo"; +import {OrderRepository, OrderTemplate} from "../adapters/order.repo"; +import {MessagePattern} from "@nestjs/microservices"; @Controller("/order") export class OrderController { @@ -11,4 +12,9 @@ export class OrderController { async getOrder(@Param("orderId") orderId: string) { return this.orderRepo.findById(orderId); } + + @MessagePattern("createOrder") + async createOrder(order: OrderTemplate) { + return this.orderRepo.create(order); + } } \ No newline at end of file diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index 3e68422..c1674ad 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -11,6 +11,9 @@ import {MemoryModule} from "./adapters/memory.module"; import {createCatalogApp} from "./catalog/app"; import {createOrdersApp} from "./orders/app"; import {createCartApp} from "./cart/app"; +import EventEmitter from "node:events"; +import {MemoryClientsModule, MemoryTransportServer} from "nest-memory-transport"; +import {CART_CLIENT} from "./cart/cartManager"; export async function createTestingModuleWithIoC(products: ProductTemplate[] = []) { const productRepo = new InMemoryProductRepository(products); @@ -73,12 +76,16 @@ class NopModule{} export async function runMicroservices(products: ProductTemplate[] = []) { + const emitter = new EventEmitter(); const productRepo = new InMemoryProductRepository(products); const orderRepo = new InMemoryOrderRepository(); - const catalogApp = await createCatalogApp(productRepo); - const ordersApp = await createOrdersApp(orderRepo); - const cartApp = await createCartApp(productRepo, orderRepo); + const catalogApp = await createCatalogApp(productRepo, {strategy: new MemoryTransportServer(emitter)}); + const ordersApp = await createOrdersApp(orderRepo, {strategy: new MemoryTransportServer(emitter)}); + const cartApp = await createCartApp(MemoryClientsModule.register({ + name: CART_CLIENT, + emitter, + }), orderRepo); return {catalogApp, ordersApp, cartApp, orderRepo, productRepo}; } diff --git a/packages/server/test/purchase.microservices.system.spec.ts b/packages/server/test/purchase.microservices.system.spec.ts index 3da9946..2c141e6 100644 --- a/packages/server/test/purchase.microservices.system.spec.ts +++ b/packages/server/test/purchase.microservices.system.spec.ts @@ -2,12 +2,13 @@ import {runMicroservices} from "../src/server.testkit"; import {aProduct} from "../src/builders"; import request from 'supertest'; import {test, expect} from 'vitest'; -import {Order} from "../src/types"; +import {Order, Product, ProductTemplate} from "../src/types"; -async function createTestHarness() { +async function createTestHarness(products: ProductTemplate[]) { - const {ordersApp, cartApp, ...rest} = await runMicroservices(); + const {ordersApp, cartApp, catalogApp, ...rest} = await runMicroservices(products); return { + catalogApp: request(catalogApp.getHttpServer()), ordersApp: request(ordersApp.getHttpServer()), cartApp: request(cartApp.getHttpServer()), ...rest @@ -16,11 +17,20 @@ async function createTestHarness() { // this test is not really required, it's wholly contained within purchase.flow.spec.tsx test('a user can order a product from the microservices-based system', async () => { - const {ordersApp, cartApp, productRepo } = await createTestHarness(); + const {ordersApp, cartApp, catalogApp } = await createTestHarness([aProduct()]); - const product = await productRepo.create(aProduct()); const cartId = '666'; + const products = await catalogApp.get('/products/') + .expect(200) + .then((response) => { + const items: unknown[] = response.body; + return items.map(item => Product.parse(item)); + }); + + expect(products).toHaveLength(1); + const product = products[0]; + await cartApp .post(`/cart/${cartId}`) .send({productId: product.id}) diff --git a/yarn.lock b/yarn.lock index 022b245..ebed27e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -753,6 +753,27 @@ __metadata: languageName: node linkType: hard +"@nestjs/common@npm:^10.0.0": + version: 10.4.1 + resolution: "@nestjs/common@npm:10.4.1" + dependencies: + iterare: 1.2.1 + tslib: 2.6.3 + uid: 2.0.2 + peerDependencies: + class-transformer: "*" + class-validator: "*" + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + checksum: 5bdeff65729251fae2c0bda1b8af04b634d4ba2931b836423e0bc9ac4a81ae8f4af812013468ed6373d67554ddbd1326094b7c32f243e94d5e17b214f2447ce4 + languageName: node + linkType: hard + "@nestjs/common@npm:^10.3.7": version: 10.3.7 resolution: "@nestjs/common@npm:10.3.7" @@ -817,6 +838,49 @@ __metadata: languageName: node linkType: hard +"@nestjs/microservices@npm:^10.4.0, @nestjs/microservices@npm:^10.4.1": + version: 10.4.1 + resolution: "@nestjs/microservices@npm:10.4.1" + dependencies: + iterare: 1.2.1 + tslib: 2.6.3 + peerDependencies: + "@grpc/grpc-js": "*" + "@nestjs/common": ^10.0.0 + "@nestjs/core": ^10.0.0 + "@nestjs/websockets": ^10.0.0 + amqp-connection-manager: "*" + amqplib: "*" + cache-manager: "*" + ioredis: "*" + kafkajs: "*" + mqtt: "*" + nats: "*" + reflect-metadata: ^0.1.12 || ^0.2.0 + rxjs: ^7.1.0 + peerDependenciesMeta: + "@grpc/grpc-js": + optional: true + "@nestjs/websockets": + optional: true + amqp-connection-manager: + optional: true + amqplib: + optional: true + cache-manager: + optional: true + ioredis: + optional: true + kafkajs: + optional: true + mqtt: + optional: true + nats: + optional: true + checksum: 28c5dedcc1560b15d7f3cfae04d5b1fcd14d2e8a3727e9c93bf43a063025ebdf23dfe14d9405f235add6f9748897394a7ffb925b377de8cbad960bcd181f6ac3 + languageName: node + linkType: hard + "@nestjs/platform-express@npm:^10.3.7": version: 10.3.7 resolution: "@nestjs/platform-express@npm:10.3.7" @@ -4813,6 +4877,18 @@ __metadata: languageName: node linkType: hard +"nest-memory-transport@npm:^1.0.3": + version: 1.0.3 + resolution: "nest-memory-transport@npm:1.0.3" + dependencies: + "@nestjs/common": ^10.0.0 + "@nestjs/microservices": ^10.4.0 + reflect-metadata: ^0.2.0 + rxjs: ^7.8.1 + checksum: 0c97d76715f6e098bd7f96bdbc6f579a9892327520bfe0b90ae9dc5205f7dffd2f6948c2c12fec4afab0be2be6a625f300e95c588cc3cdbfce8ce44e8f4d74e3 + languageName: node + linkType: hard + "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -5619,7 +5695,7 @@ __metadata: languageName: node linkType: hard -"reflect-metadata@npm:^0.2.2": +"reflect-metadata@npm:^0.2.0, reflect-metadata@npm:^0.2.2": version: 0.2.2 resolution: "reflect-metadata@npm:0.2.2" checksum: a66c7b583e4efdd8f3c3124fbff33da2d0c86d8280617516308b32b2159af7a3698c961db3246387f56f6316b1d33a608f39bb2b49d813316dfc58f6d3bf3210 @@ -5779,9 +5855,11 @@ __metadata: resolution: "root@workspace:." dependencies: "@nestjs/config": ^3.2.2 + "@nestjs/microservices": ^10.4.1 "@types/cookie-parser": ^1.4.7 cookie-parser: ^1.4.6 jsdom: ^24.1.0 + nest-memory-transport: ^1.0.3 winston: ^3.13.0 languageName: unknown linkType: soft @@ -6513,6 +6591,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:2.6.3": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 74fce0e100f1ebd95b8995fbbd0e6c91bdd8f4c35c00d4da62e285a3363aaa534de40a80db30ecfd388ed7c313c42d930ee0eaf108e8114214b180eec3dbe6f5 + languageName: node + linkType: hard + "tslib@npm:^2.0.3": version: 2.5.0 resolution: "tslib@npm:2.5.0" From 66d92734c26b8aa702eec22d8bf618f8c2c5c8d0 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 13:36:33 +0300 Subject: [PATCH 17/24] kafka working in-memory --- packages/server/src/app.module.overrides.ts | 4 ++-- packages/server/src/app.module.register.ts | 4 ++-- packages/server/src/cart/cart.module.ts | 4 ++-- packages/server/src/cart/cartController.ts | 4 ++-- .../cart/{cartManager.ts => kafkaCartManager.ts} | 13 +++++++------ packages/server/src/cart/main.ts | 2 +- packages/server/src/server.testkit.ts | 8 +++++--- 7 files changed, 21 insertions(+), 18 deletions(-) rename packages/server/src/cart/{cartManager.ts => kafkaCartManager.ts} (66%) diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts index b2778bd..d52ed70 100644 --- a/packages/server/src/app.module.overrides.ts +++ b/packages/server/src/app.module.overrides.ts @@ -1,13 +1,13 @@ import { Module} from "@nestjs/common"; import {CartController} from "./cart/cartController"; import {MongoDBModule} from "./adapters/mongodb.module"; -import {CartManager} from "./cart/cartManager"; +import {KafkaCartManager} from "./cart/kafkaCartManager"; import {ProductController} from "./catalog/productController"; import {OrderController} from "./orders/orderController"; @Module({ imports: [MongoDBModule.default()], - providers: [CartManager], + providers: [KafkaCartManager], controllers: [CartController, ProductController, OrderController] }) export class AppModuleOverrides { diff --git a/packages/server/src/app.module.register.ts b/packages/server/src/app.module.register.ts index aa54206..86ad147 100644 --- a/packages/server/src/app.module.register.ts +++ b/packages/server/src/app.module.register.ts @@ -1,6 +1,6 @@ import {DynamicModule, Module} from "@nestjs/common"; import {CartController} from "./cart/cartController"; -import {CartManager} from "./cart/cartManager"; +import {KafkaCartManager} from "./cart/kafkaCartManager"; import {ProductController} from "./catalog/productController"; import {OrderController} from "./orders/orderController"; @@ -11,7 +11,7 @@ export class AppModuleWithRegister { static register(adapters: DynamicModule): DynamicModule { return { imports: [adapters], - providers: [CartManager], + providers: [KafkaCartManager], controllers: [CartController, ProductController, OrderController], module: AppModuleWithRegister } diff --git a/packages/server/src/cart/cart.module.ts b/packages/server/src/cart/cart.module.ts index 7d43f60..8d6bbd9 100644 --- a/packages/server/src/cart/cart.module.ts +++ b/packages/server/src/cart/cart.module.ts @@ -2,7 +2,7 @@ import {OrderRepository} from "../adapters/order.repo"; import {DynamicModule} from "@nestjs/common"; import {CART_REPO, ORDER_REPO} from "../adapters"; import {MemoryCartRepository} from "../adapters/cart.repo"; -import {CartManager} from "./cartManager"; +import {KafkaCartManager} from "./kafkaCartManager"; import {CartController} from "./cartController"; export class CartModule { @@ -19,7 +19,7 @@ export class CartModule { provide: CART_REPO, useClass: MemoryCartRepository, }, - CartManager, + KafkaCartManager, ], controllers: [CartController] diff --git a/packages/server/src/cart/cartController.ts b/packages/server/src/cart/cartController.ts index 241b857..ed305a0 100644 --- a/packages/server/src/cart/cartController.ts +++ b/packages/server/src/cart/cartController.ts @@ -1,11 +1,11 @@ import {Body, Controller, Get, Inject, Param, Post} from '@nestjs/common'; import {CartRepository} from "../adapters/cart.repo"; import {CART_REPO} from "../adapters"; -import {CartManager} from "./cartManager"; +import {KafkaCartManager} from "./kafkaCartManager"; @Controller("/cart") export class CartController { - constructor(@Inject(CartManager) private cartManager: CartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} + constructor(@Inject(KafkaCartManager) private cartManager: KafkaCartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} @Post("/:cartId") async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { diff --git a/packages/server/src/cart/cartManager.ts b/packages/server/src/cart/kafkaCartManager.ts similarity index 66% rename from packages/server/src/cart/cartManager.ts rename to packages/server/src/cart/kafkaCartManager.ts index 25cb3d4..9ce36c7 100644 --- a/packages/server/src/cart/cartManager.ts +++ b/packages/server/src/cart/kafkaCartManager.ts @@ -8,13 +8,13 @@ import {firstValueFrom} from "rxjs"; export const CART_CLIENT = 'cartClient'; @Injectable() -export class CartManager implements OnModuleInit{ - constructor(@Inject(CART_CLIENT) private clients: ClientKafka, +export class KafkaCartManager implements OnModuleInit{ + constructor(@Inject(CART_CLIENT) private client: ClientKafka, @Inject(CART_REPO) private cartRepo: CartRepository) { } async addToCart(cartId: string, productId: string) { - const product = await firstValueFrom(this.clients.send('productById', productId)); + const product = await firstValueFrom(this.client.send('productById', productId)); if (!product) { throw new Error(`product with id ${productId} not found`); } @@ -26,11 +26,12 @@ export class CartManager implements OnModuleInit{ if (!cart) { throw new BadRequestException(`no cart with id ${cartId} found`); } - return firstValueFrom(this.clients.send('createOrder', {items: cart.items})); + return firstValueFrom(this.client.send('createOrder', {items: cart.items})); } async onModuleInit() { - this.clients.subscribeToResponseOf('productById'); - await this.clients.connect(); + this.client.subscribeToResponseOf('productById'); + this.client.subscribeToResponseOf('createOrder'); + await this.client.connect(); } } \ No newline at end of file diff --git a/packages/server/src/cart/main.ts b/packages/server/src/cart/main.ts index 0520c51..87396bb 100644 --- a/packages/server/src/cart/main.ts +++ b/packages/server/src/cart/main.ts @@ -2,7 +2,7 @@ import {MongoClient} from "mongodb"; import {createCartApp} from "./app"; import {MongoDBOrderRepository} from "../adapters/order.repo"; import {ClientsModule, Transport} from "@nestjs/microservices"; -import {CART_CLIENT} from "./cartManager"; +import {CART_CLIENT} from "./kafkaCartManager"; export const CART_PORT = 8082; diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index c1674ad..86b0d08 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -13,7 +13,7 @@ import {createOrdersApp} from "./orders/app"; import {createCartApp} from "./cart/app"; import EventEmitter from "node:events"; import {MemoryClientsModule, MemoryTransportServer} from "nest-memory-transport"; -import {CART_CLIENT} from "./cart/cartManager"; +import {CART_CLIENT} from "./cart/kafkaCartManager"; export async function createTestingModuleWithIoC(products: ProductTemplate[] = []) { const productRepo = new InMemoryProductRepository(products); @@ -77,11 +77,13 @@ class NopModule{} export async function runMicroservices(products: ProductTemplate[] = []) { const emitter = new EventEmitter(); + const strategy = new MemoryTransportServer(emitter); + const productRepo = new InMemoryProductRepository(products); const orderRepo = new InMemoryOrderRepository(); - const catalogApp = await createCatalogApp(productRepo, {strategy: new MemoryTransportServer(emitter)}); - const ordersApp = await createOrdersApp(orderRepo, {strategy: new MemoryTransportServer(emitter)}); + const catalogApp = await createCatalogApp(productRepo, {strategy}); + const ordersApp = await createOrdersApp(orderRepo, {strategy}); const cartApp = await createCartApp(MemoryClientsModule.register({ name: CART_CLIENT, emitter, From 6c212f1d4a7ff5a89da216ff8ddf6690d17aaf53 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 14:00:00 +0300 Subject: [PATCH 18/24] client to use microservices too --- packages/client/src/adapters/backend.ts | 20 +++--- packages/client/src/adapters/context.tsx | 17 ++++- packages/client/src/adapters/harness.tsx | 67 ++++++++++++++----- packages/client/src/index.tsx | 6 +- packages/client/test/purchase.flow.spec.tsx | 5 +- packages/client/test/search.flow.spec.tsx | 5 +- packages/server/package.json | 6 +- packages/server/src/app.module.overrides.ts | 15 ----- packages/server/src/index.ts | 12 ++-- .../src/{ => monolith}/app.module.ioc.ts | 16 ++--- .../src/monolith/app.module.overrides.ts | 13 ++++ .../src/{ => monolith}/app.module.register.ts | 8 +-- packages/server/src/monolith/controllers.ts | 61 +++++++++++++++++ packages/server/src/monolith/index.ts | 58 ++++++++++++++++ .../src/monolith/monolithic-cart-manager.ts | 29 ++++++++ packages/server/src/server.testkit.ts | 6 +- 16 files changed, 268 insertions(+), 76 deletions(-) delete mode 100644 packages/server/src/app.module.overrides.ts rename packages/server/src/{ => monolith}/app.module.ioc.ts (63%) create mode 100644 packages/server/src/monolith/app.module.overrides.ts rename packages/server/src/{ => monolith}/app.module.register.ts (56%) create mode 100644 packages/server/src/monolith/controllers.ts create mode 100644 packages/server/src/monolith/index.ts create mode 100644 packages/server/src/monolith/monolithic-cart-manager.ts diff --git a/packages/client/src/adapters/backend.ts b/packages/client/src/adapters/backend.ts index 968b08d..9e755bc 100644 --- a/packages/client/src/adapters/backend.ts +++ b/packages/client/src/adapters/backend.ts @@ -1,40 +1,38 @@ import { CartSummary, Order, Product } from "@ts-react-tdd/server/src/types"; -import axios, { AxiosInstance } from "axios"; +import { AxiosInstance } from "axios"; import { CartAdapter } from "./cart"; import { OrderAdapter } from "./order"; import { ProductCatalog } from "./productCatalog"; export class HTTPShopBackend implements CartAdapter, OrderAdapter, ProductCatalog { - private axios: AxiosInstance; - constructor(url: string) { - this.axios = axios.create({ baseURL: url }) + constructor(private cart: AxiosInstance, private catalog: AxiosInstance, private orders: AxiosInstance) { } addItem = async (cartId: string, productId: string) => - (await this.axios.post(`/cart/${cartId}`, { productId })).data; + (await this.cart.post(`/cart/${cartId}`, { productId })).data; getCount = async (cartId: string) => - (await this.axios.get(`/cart/${cartId}/count`)).data; + (await this.cart.get(`/cart/${cartId}/count`)).data; getCartSummary = async (cartId: string) => { - const res = await this.axios.get(`/cart/${cartId}`); + const res = await this.cart.get(`/cart/${cartId}`); return CartSummary.parse(res.data); } - checkout = async (cartId: string) => (await this.axios.post(`/cart/${cartId}/checkout`)).data; + checkout = async (cartId: string) => (await this.cart.post(`/cart/${cartId}/checkout`)).data; getOrder = async (orderId: string) => { - const res = await this.axios.get(`/order/${orderId}`); + const res = await this.orders.get(`/order/${orderId}`); return Order.parse(res.data); }; findAllProducts = async () => { - const res = await this.axios.get(`/products`); + const res = await this.catalog.get(`/products`); return res.data.map(p => Product.parse(p)); }; async searchProducts(freeTextSearch: string): Promise { - const res = await this.axios.get(`/products/search?query=${freeTextSearch}`); + const res = await this.catalog.get(`/products/search?query=${freeTextSearch}`); return res.data.map(p => Product.parse(p)); } diff --git a/packages/client/src/adapters/context.tsx b/packages/client/src/adapters/context.tsx index d37cca1..b74417d 100644 --- a/packages/client/src/adapters/context.tsx +++ b/packages/client/src/adapters/context.tsx @@ -3,6 +3,7 @@ import { HTTPShopBackend } from './backend'; import { CartAdapter } from "./cart"; import { OrderAdapter } from "./order"; import { ProductCatalog } from "./productCatalog"; +import axios from "axios"; type Adapters = { cart: CartAdapter; @@ -12,7 +13,19 @@ type Adapters = { export const IOContext = React.createContext(undefined as unknown as Adapters); -export const IOContextProvider: React.FC> = ({backendUrl, children}) => { - const backend = useMemo(() => new HTTPShopBackend(backendUrl), [backendUrl]); +export const MonolithIOProvider: React.FC> = ({backendUrl, children}) => { + const client = axios.create({ baseURL: backendUrl }) + + const backend = useMemo(() => new HTTPShopBackend(client, client, client), [backendUrl]); + return {children}; +} + +type Props = PropsWithChildren<{catalogUrl: string, cartUrl: string, ordersUrl: string}>; +export const MicroservicesIOProvider: React.FC = ({catalogUrl, cartUrl, ordersUrl, children}) => { + const cart = axios.create({ baseURL: cartUrl }) + const catalog = axios.create({ baseURL: catalogUrl }) + const orders = axios.create({ baseURL: ordersUrl }) + + const backend = useMemo(() => new HTTPShopBackend(cart, catalog, orders), [cartUrl, catalogUrl, ordersUrl]); return {children}; } \ No newline at end of file diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index 84dee58..1e7f0a8 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -1,9 +1,9 @@ import {render, within} from "@testing-library/react"; -import {createTestingModule} from "@ts-react-tdd/server/src/server.testkit"; +import {createTestingModule, runMicroservices} from "@ts-react-tdd/server/src/server.testkit"; import {QueryClient, QueryClientProvider} from "react-query"; import {MemoryRouter} from "react-router-dom"; import {App} from "../components/App"; -import {IOContextProvider} from "./context"; +import {MicroservicesIOProvider, MonolithIOProvider} from "./context"; import userEvent from "@testing-library/user-event"; import {ProductTemplate} from "@ts-react-tdd/server/src/types"; @@ -11,18 +11,7 @@ type AppContext = { products: ProductTemplate[] }; -export async function makeApp({ - products = [], - }: AppContext) { - - const {nest, orderRepo, productRepo} = await createTestingModule(products); - - const queryClient = new QueryClient(); - - const server = await nest.listen(0, "127.0.0.1"); - - const app = render( - ); +function createDriver(app: ReturnType) { const addProductToCart = async (title: string) => { const product = await app.findByLabelText(title) @@ -42,7 +31,7 @@ export async function makeApp({ await userEvent.click(app.getByRole('button', { name: /home/i })); } - const driver = { + return { ...app, addProductToCart, viewCart, @@ -50,6 +39,22 @@ export async function makeApp({ home }; +} + +export async function makeMonolithicApp({ + products = [], + }: AppContext) { + + const {nest, orderRepo, productRepo} = await createTestingModule(products); + + const queryClient = new QueryClient(); + + const server = await nest.listen(0, "127.0.0.1"); + + const app = render( + ); + + const driver = createDriver(app); return { productRepo, @@ -59,4 +64,36 @@ export async function makeApp({ }; } +export async function makeMicroservicesApp({ + products = [], + }: AppContext) { + + const { catalogApp, ordersApp, cartApp, orderRepo, productRepo } = await runMicroservices(products) + + const queryClient = new QueryClient(); + + const catalogServer = await catalogApp.listen(0, "127.0.0.1"); + const ordersServer = await ordersApp.listen(0, "127.0.0.1"); + const cartServer = await cartApp.listen(0, "127.0.0.1"); + + const app = render( + + + + ); + + const driver = createDriver(app); + + return { + productRepo, + orderRepo, + driver, + [Symbol.dispose]: async () => { + await cartServer.close(); + await catalogServer.close(); + await ordersServer.close(); + }, + }; +} + diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 5bbdd4f..ef57f38 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -3,7 +3,7 @@ import { createRoot } from 'react-dom/client'; import { QueryClient, QueryClientProvider } from 'react-query'; import { BrowserRouter } from "react-router-dom"; -import { IOContextProvider } from './adapters/context'; +import { MonolithIOProvider } from './adapters/context'; import { App } from "./components/App"; interface ImportMetaEnv { @@ -23,8 +23,8 @@ const queryClient = new QueryClient(); const rootContainer = document.querySelector("#root"); const root = createRoot(rootContainer!); -root.render( +root.render( -); +); diff --git a/packages/client/test/purchase.flow.spec.tsx b/packages/client/test/purchase.flow.spec.tsx index 2d5b396..1030b36 100644 --- a/packages/client/test/purchase.flow.spec.tsx +++ b/packages/client/test/purchase.flow.spec.tsx @@ -1,10 +1,11 @@ import {aProduct} from "@ts-react-tdd/server/src/builders"; -import {makeApp} from "../src/adapters/harness"; +import {makeMicroservicesApp} from "../src/adapters/harness"; +import {test, expect} from 'vitest' test("a user can purchase a product, see the confirmation page and see their order summary, after which the cart is reset", async () => { const moogOne = aProduct({title: "Moog One"}); - using harness = await makeApp({ + using harness = await makeMicroservicesApp({ products: [moogOne], }); const {driver, orderRepo} = harness; diff --git a/packages/client/test/search.flow.spec.tsx b/packages/client/test/search.flow.spec.tsx index 41d667a..c44a146 100644 --- a/packages/client/test/search.flow.spec.tsx +++ b/packages/client/test/search.flow.spec.tsx @@ -1,13 +1,14 @@ import {aProduct} from "@ts-react-tdd/server/src/builders"; -import {makeApp} from "../src/adapters/harness"; +import {makeMicroservicesApp} from "../src/adapters/harness"; import userEvent from "@testing-library/user-event"; +import {test, expect} from 'vitest' test("Product search is case-insensitive", async () => { const moogOne = aProduct({title: "Moog One"}); const minimoog = aProduct({title: "Minimoog"}); const ob8x = aProduct({title: "OB 8x"}); - using harness = await makeApp({ + using harness = await makeMicroservicesApp({ products: [moogOne, minimoog, ob8x], }); const {driver} = harness; diff --git a/packages/server/package.json b/packages/server/package.json index f4b4cde..3f95894 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -2,10 +2,10 @@ "name": "@ts-react-tdd/server", "version": "1.0.0", "description": "", - "main": "src/index.ts", + "main": "src/monolith/index.ts", "scripts": { - "dev": "nodemon src/index.ts", - "serve:ci": "ts-node src/index.ts", + "dev": "nodemon src/monolith/index.ts", + "serve:ci": "ts-node src/monolith/index.ts", "test": "vitest run" }, "keywords": [], diff --git a/packages/server/src/app.module.overrides.ts b/packages/server/src/app.module.overrides.ts deleted file mode 100644 index d52ed70..0000000 --- a/packages/server/src/app.module.overrides.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Module} from "@nestjs/common"; -import {CartController} from "./cart/cartController"; -import {MongoDBModule} from "./adapters/mongodb.module"; -import {KafkaCartManager} from "./cart/kafkaCartManager"; -import {ProductController} from "./catalog/productController"; -import {OrderController} from "./orders/orderController"; - -@Module({ - imports: [MongoDBModule.default()], - providers: [KafkaCartManager], - controllers: [CartController, ProductController, OrderController] -}) -export class AppModuleOverrides { - -} \ No newline at end of file diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 71c9a5d..478b0a5 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -2,10 +2,10 @@ import {MongoClient} from "mongodb"; import {MongoDBOrderRepository} from "./adapters/order.repo"; import {MongoDBProductRepository} from "./adapters/product.repo"; import {NestFactory} from "@nestjs/core"; -import {AppModuleInversionOfControl} from "./app.module.ioc"; -import {AppModuleOverrides} from "./app.module.overrides"; -import {AppModuleWithRegister} from "./app.module.register"; -import {MongoDBModule} from "./adapters/mongodb.module"; +import {AppModuleInversionOfControl} from "./monolith/app.module.ioc"; +import {AppModuleOverrides} from "./monolith/app.module.overrides"; +import {AppModuleWithRegister} from "./monolith/app.module.register"; +import {MongoDBModule} from"./adapters/mongodb.module"; import {z} from "zod"; const EnvConfig = z.object({ @@ -53,6 +53,4 @@ async function startServerRegister() { await app.listen(8080); } -void startServerRegister(); - - +void startServerRegister(); \ No newline at end of file diff --git a/packages/server/src/app.module.ioc.ts b/packages/server/src/monolith/app.module.ioc.ts similarity index 63% rename from packages/server/src/app.module.ioc.ts rename to packages/server/src/monolith/app.module.ioc.ts index 31c1f5f..48bea04 100644 --- a/packages/server/src/app.module.ioc.ts +++ b/packages/server/src/monolith/app.module.ioc.ts @@ -1,11 +1,10 @@ import {DynamicModule, Module} from "@nestjs/common"; -import {CartController} from "./cart/cartController"; -import {OrderRepository} from "./adapters/order.repo"; -import {ProductRepository} from "./adapters/product.repo"; -import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "./adapters"; -import {MemoryCartRepository} from "./adapters/cart.repo"; -import {ProductController} from "./catalog/productController"; -import {OrderController} from "./orders/orderController"; +import {OrderRepository} from "../adapters/order.repo"; +import {ProductRepository} from "../adapters/product.repo"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {MemoryCartRepository} from "../adapters/cart.repo"; +import {MonolithicCartManager} from "./monolithic-cart-manager"; +import {CartController, OrderController, ProductController} from "./controllers"; @Module({}) export class AppModuleInversionOfControl { @@ -24,7 +23,8 @@ export class AppModuleInversionOfControl { { provide: CART_REPO, useClass: MemoryCartRepository, - } + }, + MonolithicCartManager ], controllers: [CartController, ProductController, OrderController] diff --git a/packages/server/src/monolith/app.module.overrides.ts b/packages/server/src/monolith/app.module.overrides.ts new file mode 100644 index 0000000..7c05b37 --- /dev/null +++ b/packages/server/src/monolith/app.module.overrides.ts @@ -0,0 +1,13 @@ +import { Module} from "@nestjs/common"; +import {MongoDBModule} from "../adapters/mongodb.module"; +import {MonolithicCartManager} from "./monolithic-cart-manager"; +import {CartController, OrderController, ProductController} from "./controllers"; + +@Module({ + imports: [MongoDBModule.default()], + providers: [MonolithicCartManager], + controllers: [CartController, ProductController, OrderController] +}) +export class AppModuleOverrides { + +} \ No newline at end of file diff --git a/packages/server/src/app.module.register.ts b/packages/server/src/monolith/app.module.register.ts similarity index 56% rename from packages/server/src/app.module.register.ts rename to packages/server/src/monolith/app.module.register.ts index 86ad147..e332f91 100644 --- a/packages/server/src/app.module.register.ts +++ b/packages/server/src/monolith/app.module.register.ts @@ -1,8 +1,6 @@ import {DynamicModule, Module} from "@nestjs/common"; -import {CartController} from "./cart/cartController"; -import {KafkaCartManager} from "./cart/kafkaCartManager"; -import {ProductController} from "./catalog/productController"; -import {OrderController} from "./orders/orderController"; +import {MonolithicCartManager} from "./monolithic-cart-manager"; +import {CartController, OrderController, ProductController} from "./controllers"; @Module({ @@ -11,7 +9,7 @@ export class AppModuleWithRegister { static register(adapters: DynamicModule): DynamicModule { return { imports: [adapters], - providers: [KafkaCartManager], + providers: [MonolithicCartManager], controllers: [CartController, ProductController, OrderController], module: AppModuleWithRegister } diff --git a/packages/server/src/monolith/controllers.ts b/packages/server/src/monolith/controllers.ts new file mode 100644 index 0000000..f1ad9af --- /dev/null +++ b/packages/server/src/monolith/controllers.ts @@ -0,0 +1,61 @@ +import {Body, Controller, Get, Inject, Param, Post, UsePipes} from '@nestjs/common'; +import {ProductRepository} from '../adapters/product.repo'; +import {ProductTemplate} from "../types"; +import {OrderRepository} from "../adapters/order.repo"; +import {CartRepository} from "../adapters/cart.repo"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {ZodValidationPipe} from "../zodValidationPipe"; +import {MonolithicCartManager} from "./monolithic-cart-manager"; + +@Controller("/products") +export class ProductController { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository) {} + + @Post() + @UsePipes(new ZodValidationPipe(ProductTemplate)) + async createProduct(@Body() product: ProductTemplate) { + return this.productRepo.create(product); + } + + @Get() + async getProducts() { + return this.productRepo.findAll(); + } +} + +@Controller("/order") +export class OrderController { + constructor(@Inject(ORDER_REPO) private orderRepo: OrderRepository) {} + + @Get("/:orderId") + async getOrder(@Param("orderId") orderId: string) { + return this.orderRepo.findById(orderId); + } +} + +@Controller("/cart") +export class CartController { + constructor(@Inject(MonolithicCartManager) private cartManager: MonolithicCartManager, @Inject(CART_REPO) private cartRepo: CartRepository) {} + + @Post("/:cartId") + async addToCart(@Param("cartId") cartId: string, @Body() {productId}: {productId: string}) { + await this.cartManager.addToCart(cartId, productId); + } + + @Get("/:cartId/count") + async getCartCount(@Param("cartId") cartId: string) { + const cart = await this.cartRepo.findById(cartId); + return cart?.items.length || 0; + } + + @Get("/:cartId") + async getCart(@Param("cartId") cartId: string) { + return this.cartRepo.findById(cartId); + } + + @Post("/:cartId/checkout") + async checkout(@Param("cartId") cartId: string) { + const order = await this.cartManager.checkout(cartId); + return order.id + } +} diff --git a/packages/server/src/monolith/index.ts b/packages/server/src/monolith/index.ts new file mode 100644 index 0000000..3942267 --- /dev/null +++ b/packages/server/src/monolith/index.ts @@ -0,0 +1,58 @@ +import {MongoClient} from "mongodb"; +import {MongoDBOrderRepository} from "../adapters/order.repo"; +import {MongoDBProductRepository} from "../adapters/product.repo"; +import {NestFactory} from "@nestjs/core"; +import {AppModuleInversionOfControl} from "./app.module.ioc"; +import {AppModuleOverrides} from "./app.module.overrides"; +import {AppModuleWithRegister} from "./app.module.register"; +import {MongoDBModule} from "../adapters/mongodb.module"; +import {z} from "zod"; + +const EnvConfig = z.object({ + MONGO_URI: z.string().default('mongodb://root:password@127.0.0.1'), + MONGO_DB: z.string().default('store'), + MONGO_CONNECT_TIMEOUT: z.number().default(100), + MONGO_SOCKET_TIMEOUT: z.number().default(100), + MONGO_SERVER_SELECTION_TIMEOUT: z.number().default(100), +}).transform((input) => ({ + uri: input.MONGO_URI, + dbName: input.MONGO_DB, + connectTimeoutMS: input.MONGO_CONNECT_TIMEOUT, + socketTimeoutMS: input.MONGO_SOCKET_TIMEOUT, + serverSelectionTimeoutMS: input.MONGO_SERVER_SELECTION_TIMEOUT, +})); + +// @ts-ignore +async function startServerIoC() { + const mongo = await new MongoClient( + `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` + ).connect(); + + const db = mongo.db("store"); + const productRepo = new MongoDBProductRepository(db); + const orderRepo = new MongoDBOrderRepository(db); + + const app = await NestFactory.create(AppModuleInversionOfControl.register(productRepo, orderRepo)) + app.enableCors({origin: "*"}); + await app.listen(8080); +} + +// @ts-ignore +async function startServerOverrides() { + const app = await NestFactory.create(AppModuleOverrides) + app.enableCors({origin: "*"}); + await app.listen(8080); +} + +async function startServerRegister() { + const config = EnvConfig.parse(process.env); + const app = await NestFactory.create(AppModuleWithRegister.register( + MongoDBModule.forRoot(config) + )); + app.enableCors({origin: "*"}); + await app.listen(8080); +} + +void startServerRegister(); + + diff --git a/packages/server/src/monolith/monolithic-cart-manager.ts b/packages/server/src/monolith/monolithic-cart-manager.ts new file mode 100644 index 0000000..443e3af --- /dev/null +++ b/packages/server/src/monolith/monolithic-cart-manager.ts @@ -0,0 +1,29 @@ +import {CartRepository} from "../adapters/cart.repo"; +import {BadRequestException, Inject, Injectable} from "@nestjs/common"; +import {CART_REPO, ORDER_REPO, PRODUCT_REPO} from "../adapters"; +import {ProductRepository} from "../adapters/product.repo"; +import {OrderRepository} from "../adapters/order.repo"; + +@Injectable() +export class MonolithicCartManager { + constructor(@Inject(PRODUCT_REPO) private productRepo: ProductRepository, + @Inject(ORDER_REPO) private orderRepo: OrderRepository, + @Inject(CART_REPO) private cartRepo: CartRepository) { + } + + async addToCart(cartId: string, productId: string) { + const product = await this.productRepo.findById(productId); + if (!product) { + throw new Error(`product with id ${productId} not found`); + } + await this.cartRepo.addToCart(cartId, product); + } + + async checkout(cartId: string) { + const cart = await this.cartRepo.findById(cartId); + if (!cart) { + throw new BadRequestException(`no cart with id ${cartId} found`); + } + return this.orderRepo.create({items: cart.items}); + } +} \ No newline at end of file diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index 86b0d08..964cb7a 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -1,12 +1,12 @@ import {ProductTemplate} from "./types"; import {Test} from "@nestjs/testing"; import {InMemoryOrderRepository, InMemoryProductRepository} from "./adapters/fake"; -import {AppModuleInversionOfControl} from "./app.module.ioc"; -import {AppModuleOverrides} from "./app.module.overrides"; +import {AppModuleInversionOfControl} from "./monolith/app.module.ioc"; +import {AppModuleOverrides} from "./monolith/app.module.overrides"; import {ORDER_REPO, PRODUCT_REPO} from "./adapters"; import {MongoDBModule} from "./adapters/mongodb.module"; import {Module} from "@nestjs/common"; -import {AppModuleWithRegister} from "./app.module.register"; +import {AppModuleWithRegister} from "./monolith/app.module.register"; import {MemoryModule} from "./adapters/memory.module"; import {createCatalogApp} from "./catalog/app"; import {createOrdersApp} from "./orders/app"; From 30fe8ebc2849155227fd15908e4271e6c266d013 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 14:58:57 +0300 Subject: [PATCH 19/24] e2e should use microservices --- package.json | 1 + packages/client/src/index.tsx | 19 +++++- packages/e2e/docker-compose.yml | 8 +-- packages/e2e/test/e2e.spec.ts | 4 +- packages/server/package.json | 5 +- .../server/src/adapters/mongodb.module.ts | 4 +- packages/server/src/cart/main.ts | 14 ++--- packages/server/src/catalog/main.ts | 14 ++--- packages/server/src/config.ts | 15 +++++ packages/server/src/index.ts | 61 +++---------------- packages/server/src/monolith/index.ts | 18 +----- packages/server/src/orders/main.ts | 17 ++---- packages/server/src/ports.ts | 3 + yarn.lock | 8 +++ 14 files changed, 81 insertions(+), 110 deletions(-) create mode 100644 packages/server/src/config.ts create mode 100644 packages/server/src/ports.ts diff --git a/package.json b/package.json index 519423a..f2cc51a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "dependencies": { "@nestjs/config": "^3.2.2", "@nestjs/microservices": "^10.4.1", + "kafkajs": "^2.2.4", "winston": "^3.13.0" } } diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index ef57f38..a902134 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -3,9 +3,11 @@ import { createRoot } from 'react-dom/client'; import { QueryClient, QueryClientProvider } from 'react-query'; import { BrowserRouter } from "react-router-dom"; -import { MonolithIOProvider } from './adapters/context'; +import {MicroservicesIOProvider, MonolithIOProvider} from './adapters/context'; import { App } from "./components/App"; +import {CART_PORT, CATALOG_PORT, ORDERS_PORT} from "@ts-react-tdd/server/src/ports"; + interface ImportMetaEnv { readonly VITE_API_URL: string } @@ -23,8 +25,19 @@ const queryClient = new QueryClient(); const rootContainer = document.querySelector("#root"); const root = createRoot(rootContainer!); -root.render( +// @ts-ignore +const monolith = -); +; + +const microservices = + + + + + +root.render(microservices); diff --git a/packages/e2e/docker-compose.yml b/packages/e2e/docker-compose.yml index 0de4f96..eef4049 100644 --- a/packages/e2e/docker-compose.yml +++ b/packages/e2e/docker-compose.yml @@ -41,12 +41,8 @@ services: # blocks until kafka is reachable kafka-topics --bootstrap-server kafka:29092 --list - echo -e 'Creating kafka topics' - kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic hello.topic --replication-factor 1 --partitions 1 - kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic ping.topic --replication-factor 1 --partitions 1 - kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic pong.topic --replication-factor 1 --partitions 1 - kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic payload.topic --replication-factor 1 --partitions 1 - kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic payload.response.topic --replication-factor 1 --partitions 1 + # echo -e 'Creating kafka topics' + # kafka-topics --bootstrap-server kafka:29092 --create --if-not-exists --topic hello.topic --replication-factor 1 --partitions 1 echo -e 'Successfully created the following topics:' kafka-topics --bootstrap-server kafka:29092 --list diff --git a/packages/e2e/test/e2e.spec.ts b/packages/e2e/test/e2e.spec.ts index 04a76cf..f771424 100644 --- a/packages/e2e/test/e2e.spec.ts +++ b/packages/e2e/test/e2e.spec.ts @@ -1,8 +1,10 @@ import { test, expect } from '@playwright/test'; import {aProduct} from "@ts-react-tdd/server/src/builders"; +import {CATALOG_PORT} from "@ts-react-tdd/server/src/ports"; + test('a customer is able to buy a product', async ({ page, request }) => { - await request.post(`http://127.0.0.1:8080/products`, { data: aProduct() }); + await request.post(`http://127.0.0.1:${CATALOG_PORT}/products`, { data: aProduct() }); await page.goto('/'); const addToCart = await page.getByLabel('Add to cart'); diff --git a/packages/server/package.json b/packages/server/package.json index 3f95894..8a9fa95 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -4,8 +4,9 @@ "description": "", "main": "src/monolith/index.ts", "scripts": { - "dev": "nodemon src/monolith/index.ts", - "serve:ci": "ts-node src/monolith/index.ts", + "dev:monolith": "nodemon src/monolith/index.ts", + "dev": "nodemon src/index.ts", + "serve:ci": "ts-node src/index.ts", "test": "vitest run" }, "keywords": [], diff --git a/packages/server/src/adapters/mongodb.module.ts b/packages/server/src/adapters/mongodb.module.ts index 5479432..a6b35cf 100644 --- a/packages/server/src/adapters/mongodb.module.ts +++ b/packages/server/src/adapters/mongodb.module.ts @@ -5,13 +5,13 @@ import {MongoDBProductRepository} from "./product.repo"; import {MongoDBOrderRepository} from "./order.repo"; import {MemoryCartRepository} from "./cart.repo"; -type Config = { +export type MongoConfig = { uri: string; dbName: string; } & Pick export class MongoDBModule { - static forRoot({uri, dbName, ...config}: Config): DynamicModule { + static forRoot({uri, dbName, ...config}: MongoConfig): DynamicModule { return { module: MongoDBModule, diff --git a/packages/server/src/cart/main.ts b/packages/server/src/cart/main.ts index 87396bb..253164e 100644 --- a/packages/server/src/cart/main.ts +++ b/packages/server/src/cart/main.ts @@ -3,15 +3,13 @@ import {createCartApp} from "./app"; import {MongoDBOrderRepository} from "../adapters/order.repo"; import {ClientsModule, Transport} from "@nestjs/microservices"; import {CART_CLIENT} from "./kafkaCartManager"; +import {MongoConfig} from "../adapters/mongodb.module"; +import {CART_PORT} from "../ports"; -export const CART_PORT = 8082; +export async function startCartServer({uri, dbName, ...config}: MongoConfig) { + const mongo = await new MongoClient(uri, config).connect(); -async function startServer() { - const mongo = await new MongoClient( - `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` - ).connect(); - - const db = mongo.db("store"); + const db = mongo.db(dbName); const orderRepo = new MongoDBOrderRepository(db); const clientsModule = ClientsModule.register([ { @@ -31,5 +29,3 @@ async function startServer() { const app = await createCartApp(clientsModule, orderRepo); await app.listen(CART_PORT); } - -void startServer(); \ No newline at end of file diff --git a/packages/server/src/catalog/main.ts b/packages/server/src/catalog/main.ts index 895eaa1..d85d3c1 100644 --- a/packages/server/src/catalog/main.ts +++ b/packages/server/src/catalog/main.ts @@ -2,15 +2,13 @@ import {MongoClient} from "mongodb"; import {MongoDBProductRepository} from "../adapters/product.repo"; import {createCatalogApp} from "./app"; import {Transport} from "@nestjs/microservices"; +import {MongoConfig} from "../adapters/mongodb.module"; +import {CATALOG_PORT} from "../ports"; -export const CATALOG_PORT = 8081; +export async function startCatalogServer({uri, dbName, ...config}: MongoConfig) { + const mongo = await new MongoClient(uri, config).connect(); -async function startServer() { - const mongo = await new MongoClient( - `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` - ).connect(); - - const db = mongo.db("store"); + const db = mongo.db(dbName); const productRepo = new MongoDBProductRepository(db); const app = await createCatalogApp(productRepo, { transport: Transport.KAFKA, @@ -26,5 +24,3 @@ async function startServer() { }); await app.listen(CATALOG_PORT); } - -void startServer(); \ No newline at end of file diff --git a/packages/server/src/config.ts b/packages/server/src/config.ts new file mode 100644 index 0000000..b18e9aa --- /dev/null +++ b/packages/server/src/config.ts @@ -0,0 +1,15 @@ +import {z} from "zod"; + +export const Config = z.object({ + MONGO_URI: z.string().default('mongodb://root:password@127.0.0.1'), + MONGO_DB: z.string().default('storeDB'), + MONGO_CONNECT_TIMEOUT: z.number().default(1000), + MONGO_SOCKET_TIMEOUT: z.number().default(1000), + MONGO_SERVER_SELECTION_TIMEOUT: z.number().default(1000), +}).transform((input) => ({ + uri: input.MONGO_URI, + dbName: input.MONGO_DB, + connectTimeoutMS: input.MONGO_CONNECT_TIMEOUT, + socketTimeoutMS: input.MONGO_SOCKET_TIMEOUT, + serverSelectionTimeoutMS: input.MONGO_SERVER_SELECTION_TIMEOUT, +})); \ No newline at end of file diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 478b0a5..e5cc2a5 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -1,56 +1,15 @@ -import {MongoClient} from "mongodb"; -import {MongoDBOrderRepository} from "./adapters/order.repo"; -import {MongoDBProductRepository} from "./adapters/product.repo"; -import {NestFactory} from "@nestjs/core"; -import {AppModuleInversionOfControl} from "./monolith/app.module.ioc"; -import {AppModuleOverrides} from "./monolith/app.module.overrides"; -import {AppModuleWithRegister} from "./monolith/app.module.register"; -import {MongoDBModule} from"./adapters/mongodb.module"; -import {z} from "zod"; - -const EnvConfig = z.object({ - MONGO_URI: z.string().default('mongodb://root:password@127.0.0.1'), - MONGO_DB: z.string().default('store'), - MONGO_CONNECT_TIMEOUT: z.number().default(100), - MONGO_SOCKET_TIMEOUT: z.number().default(100), - MONGO_SERVER_SELECTION_TIMEOUT: z.number().default(100), -}).transform((input) => ({ - uri: input.MONGO_URI, - dbName: input.MONGO_DB, - connectTimeoutMS: input.MONGO_CONNECT_TIMEOUT, - socketTimeoutMS: input.MONGO_SOCKET_TIMEOUT, - serverSelectionTimeoutMS: input.MONGO_SERVER_SELECTION_TIMEOUT, -})); +import {startCatalogServer} from "./catalog/main"; +import {startOrdersServer} from "./orders/main"; +import {startCartServer} from "./cart/main"; +import {Config} from "./config"; // @ts-ignore -async function startServerIoC() { - const mongo = await new MongoClient( - `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` - ).connect(); - - const db = mongo.db("store"); - const productRepo = new MongoDBProductRepository(db); - const orderRepo = new MongoDBOrderRepository(db); - - const app = await NestFactory.create(AppModuleInversionOfControl.register(productRepo, orderRepo)) - app.enableCors({origin: "*"}); - await app.listen(8080); -} - -// @ts-ignore -async function startServerOverrides() { - const app = await NestFactory.create(AppModuleOverrides) - app.enableCors({origin: "*"}); - await app.listen(8080); -} +async function startAllMicroservicesInProcess() { + const config = Config.parse(process.env); -async function startServerRegister() { - const config = EnvConfig.parse(process.env); - const app = await NestFactory.create(AppModuleWithRegister.register( - MongoDBModule.forRoot(config) - )); - app.enableCors({origin: "*"}); - await app.listen(8080); + await startCatalogServer(config); + await startOrdersServer(config); + await startCartServer(config); } -void startServerRegister(); \ No newline at end of file +void startAllMicroservicesInProcess(); \ No newline at end of file diff --git a/packages/server/src/monolith/index.ts b/packages/server/src/monolith/index.ts index 3942267..edf9ddb 100644 --- a/packages/server/src/monolith/index.ts +++ b/packages/server/src/monolith/index.ts @@ -6,21 +6,7 @@ import {AppModuleInversionOfControl} from "./app.module.ioc"; import {AppModuleOverrides} from "./app.module.overrides"; import {AppModuleWithRegister} from "./app.module.register"; import {MongoDBModule} from "../adapters/mongodb.module"; -import {z} from "zod"; - -const EnvConfig = z.object({ - MONGO_URI: z.string().default('mongodb://root:password@127.0.0.1'), - MONGO_DB: z.string().default('store'), - MONGO_CONNECT_TIMEOUT: z.number().default(100), - MONGO_SOCKET_TIMEOUT: z.number().default(100), - MONGO_SERVER_SELECTION_TIMEOUT: z.number().default(100), -}).transform((input) => ({ - uri: input.MONGO_URI, - dbName: input.MONGO_DB, - connectTimeoutMS: input.MONGO_CONNECT_TIMEOUT, - socketTimeoutMS: input.MONGO_SOCKET_TIMEOUT, - serverSelectionTimeoutMS: input.MONGO_SERVER_SELECTION_TIMEOUT, -})); +import {Config} from "../config"; // @ts-ignore async function startServerIoC() { @@ -45,7 +31,7 @@ async function startServerOverrides() { } async function startServerRegister() { - const config = EnvConfig.parse(process.env); + const config = Config.parse(process.env); const app = await NestFactory.create(AppModuleWithRegister.register( MongoDBModule.forRoot(config) )); diff --git a/packages/server/src/orders/main.ts b/packages/server/src/orders/main.ts index b19855d..208629b 100644 --- a/packages/server/src/orders/main.ts +++ b/packages/server/src/orders/main.ts @@ -2,15 +2,12 @@ import {MongoClient} from "mongodb"; import {createOrdersApp} from "./app"; import {MongoDBOrderRepository} from "../adapters/order.repo"; import {Transport} from "@nestjs/microservices"; +import {MongoConfig} from "../adapters/mongodb.module"; +import {ORDERS_PORT} from "../ports"; -export const ORDERS_PORT = 8082; - -async function startServer() { - const mongo = await new MongoClient( - `mongodb://root:password@127.0.0.1?retryWrites=true&writeConcern=majority` - ).connect(); - - const db = mongo.db("store"); +export async function startOrdersServer({uri, dbName, ...config}: MongoConfig) { + const mongo = await new MongoClient(uri, config).connect(); + const db = mongo.db(dbName); const orderRepo = new MongoDBOrderRepository(db); const app = await createOrdersApp(orderRepo, { transport: Transport.KAFKA, @@ -25,6 +22,4 @@ async function startServer() { }, }); await app.listen(ORDERS_PORT); -} - -void startServer(); \ No newline at end of file +} \ No newline at end of file diff --git a/packages/server/src/ports.ts b/packages/server/src/ports.ts new file mode 100644 index 0000000..ef4cfe0 --- /dev/null +++ b/packages/server/src/ports.ts @@ -0,0 +1,3 @@ +export const CART_PORT = 8083; +export const CATALOG_PORT = 8081; +export const ORDERS_PORT = 8082; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index ebed27e..b476afb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4330,6 +4330,13 @@ __metadata: languageName: node linkType: hard +"kafkajs@npm:^2.2.4": + version: 2.2.4 + resolution: "kafkajs@npm:2.2.4" + checksum: 83e9e8bc50a09b142f4ff79f6a2bd88ecc21b83bcefe6621ab1716118d624886befb7371731274f67812ce35dd50b53140ff3b49a06e5d9169fe6b164d72fea5 + languageName: node + linkType: hard + "kuler@npm:^2.0.0": version: 2.0.0 resolution: "kuler@npm:2.0.0" @@ -5859,6 +5866,7 @@ __metadata: "@types/cookie-parser": ^1.4.7 cookie-parser: ^1.4.6 jsdom: ^24.1.0 + kafkajs: ^2.2.4 nest-memory-transport: ^1.0.3 winston: ^3.13.0 languageName: unknown From 032f46a8a04f6cb8078c8975309e441a00cc07cf Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 15:09:38 +0300 Subject: [PATCH 20/24] wait on proper ports --- .github/workflows/node.js.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index ddb7710..42c9ab5 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -28,7 +28,9 @@ jobs: - run: docker compose -f packages/e2e/docker-compose.yml up -d - run: yarn dlx wait-on tcp:27017 - run: yarn dev & - - run: yarn dlx wait-on tcp:8080 + - run: yarn dlx wait-on tcp:8081 + - run: yarn dlx wait-on tcp:8082 + - run: yarn dlx wait-on tcp:8083 - run: set -o pipefail; yarn test:ci | bash ./predate.sh - uses: actions/upload-artifact@v3 with: From 0a542a5067cf102015b5d397b953c0e1954dff6b Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Wed, 4 Sep 2024 22:38:13 +0300 Subject: [PATCH 21/24] removed superfluous OrderRepo in Cart --- packages/e2e/test/e2e.spec.ts | 8 ++++---- packages/server/src/cart/app.ts | 5 ++--- packages/server/src/cart/cart.module.ts | 9 ++------- packages/server/src/cart/main.ts | 11 ++--------- packages/server/src/catalog/catalog.module.ts | 1 - packages/server/src/index.ts | 2 +- packages/server/src/server.testkit.ts | 9 +++++---- .../server/test/purchase.microservices.system.spec.ts | 1 - 8 files changed, 16 insertions(+), 30 deletions(-) diff --git a/packages/e2e/test/e2e.spec.ts b/packages/e2e/test/e2e.spec.ts index f771424..b3ed163 100644 --- a/packages/e2e/test/e2e.spec.ts +++ b/packages/e2e/test/e2e.spec.ts @@ -7,11 +7,11 @@ test('a customer is able to buy a product', async ({ page, request }) => { await request.post(`http://127.0.0.1:${CATALOG_PORT}/products`, { data: aProduct() }); await page.goto('/'); - const addToCart = await page.getByLabel('Add to cart'); + const addToCart = page.getByLabel('Add to cart'); await addToCart.first().click(); - await (await page.getByLabel('View cart')).click(); - await (await page.getByLabel('Checkout')).click(); + await page.getByLabel('View cart').click(); + await page.getByLabel('Checkout').click(); - await expect (await page.getByText('Thank you')).toBeVisible(); + await expect (page.getByText('Thank you')).toBeVisible(); }); \ No newline at end of file diff --git a/packages/server/src/cart/app.ts b/packages/server/src/cart/app.ts index 4e88d29..6f3e850 100644 --- a/packages/server/src/cart/app.ts +++ b/packages/server/src/cart/app.ts @@ -1,10 +1,9 @@ import {NestFactory} from "@nestjs/core"; -import {OrderRepository} from "../adapters/order.repo"; import {CartModule} from "./cart.module"; import {DynamicModule} from "@nestjs/common"; -export async function createCartApp(clientsModule: DynamicModule, orderRepo: OrderRepository) { - const app = await NestFactory.create(CartModule.register(clientsModule, orderRepo)); +export async function createCartApp(clientsModule: DynamicModule) { + const app = await NestFactory.create(CartModule.register(clientsModule)); app.enableCors({origin: "*"}); await app.init(); return app; diff --git a/packages/server/src/cart/cart.module.ts b/packages/server/src/cart/cart.module.ts index 8d6bbd9..325c8cb 100644 --- a/packages/server/src/cart/cart.module.ts +++ b/packages/server/src/cart/cart.module.ts @@ -1,20 +1,15 @@ -import {OrderRepository} from "../adapters/order.repo"; import {DynamicModule} from "@nestjs/common"; -import {CART_REPO, ORDER_REPO} from "../adapters"; +import {CART_REPO} from "../adapters"; import {MemoryCartRepository} from "../adapters/cart.repo"; import {KafkaCartManager} from "./kafkaCartManager"; import {CartController} from "./cartController"; export class CartModule { - static register(clientsModule: DynamicModule, orderRepo: OrderRepository): DynamicModule { + static register(clientsModule: DynamicModule): DynamicModule { return { module: CartModule, imports: [clientsModule], providers: [ - { - provide: ORDER_REPO, - useValue: orderRepo, - }, { provide: CART_REPO, useClass: MemoryCartRepository, diff --git a/packages/server/src/cart/main.ts b/packages/server/src/cart/main.ts index 253164e..fd7f3cc 100644 --- a/packages/server/src/cart/main.ts +++ b/packages/server/src/cart/main.ts @@ -1,16 +1,9 @@ -import {MongoClient} from "mongodb"; import {createCartApp} from "./app"; -import {MongoDBOrderRepository} from "../adapters/order.repo"; import {ClientsModule, Transport} from "@nestjs/microservices"; import {CART_CLIENT} from "./kafkaCartManager"; -import {MongoConfig} from "../adapters/mongodb.module"; import {CART_PORT} from "../ports"; -export async function startCartServer({uri, dbName, ...config}: MongoConfig) { - const mongo = await new MongoClient(uri, config).connect(); - - const db = mongo.db(dbName); - const orderRepo = new MongoDBOrderRepository(db); +export async function startCartServer() { const clientsModule = ClientsModule.register([ { name: CART_CLIENT, @@ -26,6 +19,6 @@ export async function startCartServer({uri, dbName, ...config}: MongoConfig) { }, }, ]); - const app = await createCartApp(clientsModule, orderRepo); + const app = await createCartApp(clientsModule); await app.listen(CART_PORT); } diff --git a/packages/server/src/catalog/catalog.module.ts b/packages/server/src/catalog/catalog.module.ts index f15edee..34c278e 100644 --- a/packages/server/src/catalog/catalog.module.ts +++ b/packages/server/src/catalog/catalog.module.ts @@ -15,7 +15,6 @@ export class CatalogModule { }, ], controllers: [ProductController] - } } } \ No newline at end of file diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index e5cc2a5..4426d17 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -9,7 +9,7 @@ async function startAllMicroservicesInProcess() { await startCatalogServer(config); await startOrdersServer(config); - await startCartServer(config); + await startCartServer(); } void startAllMicroservicesInProcess(); \ No newline at end of file diff --git a/packages/server/src/server.testkit.ts b/packages/server/src/server.testkit.ts index 964cb7a..b325107 100644 --- a/packages/server/src/server.testkit.ts +++ b/packages/server/src/server.testkit.ts @@ -78,16 +78,17 @@ export async function runMicroservices(products: ProductTemplate[] = []) { const emitter = new EventEmitter(); const strategy = new MemoryTransportServer(emitter); + const clientsModule = MemoryClientsModule.register({ + name: CART_CLIENT, + emitter, + }); const productRepo = new InMemoryProductRepository(products); const orderRepo = new InMemoryOrderRepository(); const catalogApp = await createCatalogApp(productRepo, {strategy}); const ordersApp = await createOrdersApp(orderRepo, {strategy}); - const cartApp = await createCartApp(MemoryClientsModule.register({ - name: CART_CLIENT, - emitter, - }), orderRepo); + const cartApp = await createCartApp(clientsModule); return {catalogApp, ordersApp, cartApp, orderRepo, productRepo}; } diff --git a/packages/server/test/purchase.microservices.system.spec.ts b/packages/server/test/purchase.microservices.system.spec.ts index 2c141e6..6716b9c 100644 --- a/packages/server/test/purchase.microservices.system.spec.ts +++ b/packages/server/test/purchase.microservices.system.spec.ts @@ -15,7 +15,6 @@ async function createTestHarness(products: ProductTemplate[]) { } } -// this test is not really required, it's wholly contained within purchase.flow.spec.tsx test('a user can order a product from the microservices-based system', async () => { const {ordersApp, cartApp, catalogApp } = await createTestHarness([aProduct()]); From cb636b86d9428ca2f14c6a8cc1866b91ee91ef23 Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Thu, 5 Sep 2024 10:45:28 +0300 Subject: [PATCH 22/24] removed backend abstraction layer from client --- packages/client/src/adapters/backend.ts | 39 ------------------- packages/client/src/adapters/cart.ts | 9 ----- packages/client/src/adapters/context.tsx | 26 +++++-------- packages/client/src/adapters/order.ts | 6 --- .../client/src/adapters/productCatalog.ts | 7 ---- packages/client/src/hooks/cart.ts | 19 ++++++--- packages/client/src/hooks/order.ts | 6 ++- packages/client/src/hooks/products.ts | 16 +++++++- 8 files changed, 42 insertions(+), 86 deletions(-) delete mode 100644 packages/client/src/adapters/backend.ts delete mode 100644 packages/client/src/adapters/cart.ts delete mode 100644 packages/client/src/adapters/order.ts delete mode 100644 packages/client/src/adapters/productCatalog.ts diff --git a/packages/client/src/adapters/backend.ts b/packages/client/src/adapters/backend.ts deleted file mode 100644 index 9e755bc..0000000 --- a/packages/client/src/adapters/backend.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { CartSummary, Order, Product } from "@ts-react-tdd/server/src/types"; -import { AxiosInstance } from "axios"; -import { CartAdapter } from "./cart"; -import { OrderAdapter } from "./order"; -import { ProductCatalog } from "./productCatalog"; - -export class HTTPShopBackend implements CartAdapter, OrderAdapter, ProductCatalog { - constructor(private cart: AxiosInstance, private catalog: AxiosInstance, private orders: AxiosInstance) { - } - - addItem = async (cartId: string, productId: string) => - (await this.cart.post(`/cart/${cartId}`, { productId })).data; - - getCount = async (cartId: string) => - (await this.cart.get(`/cart/${cartId}/count`)).data; - - getCartSummary = async (cartId: string) => { - const res = await this.cart.get(`/cart/${cartId}`); - return CartSummary.parse(res.data); - } - - checkout = async (cartId: string) => (await this.cart.post(`/cart/${cartId}/checkout`)).data; - - getOrder = async (orderId: string) => { - const res = await this.orders.get(`/order/${orderId}`); - return Order.parse(res.data); - }; - - findAllProducts = async () => { - const res = await this.catalog.get(`/products`); - return res.data.map(p => Product.parse(p)); - }; - - async searchProducts(freeTextSearch: string): Promise { - const res = await this.catalog.get(`/products/search?query=${freeTextSearch}`); - return res.data.map(p => Product.parse(p)); - } - -} diff --git a/packages/client/src/adapters/cart.ts b/packages/client/src/adapters/cart.ts deleted file mode 100644 index 7784a51..0000000 --- a/packages/client/src/adapters/cart.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {CartSummary, Product} from "@ts-react-tdd/server/src/types"; - -export interface CartAdapter { - getCount: (cartId: string) => Promise; - addItem: (cartId: string, productId: Product["id"]) => Promise; - checkout: (cartId: string) => Promise; - getCartSummary: (cartId: string) => Promise; -} - diff --git a/packages/client/src/adapters/context.tsx b/packages/client/src/adapters/context.tsx index b74417d..c2621aa 100644 --- a/packages/client/src/adapters/context.tsx +++ b/packages/client/src/adapters/context.tsx @@ -1,31 +1,25 @@ import React, { PropsWithChildren, useMemo } from "react"; -import { HTTPShopBackend } from './backend'; -import { CartAdapter } from "./cart"; -import { OrderAdapter } from "./order"; -import { ProductCatalog } from "./productCatalog"; -import axios from "axios"; +import axios, {AxiosInstance} from "axios"; type Adapters = { - cart: CartAdapter; - productCatalog: ProductCatalog; - orders: OrderAdapter; + cart: AxiosInstance; + productCatalog: AxiosInstance; + orders: AxiosInstance; } export const IOContext = React.createContext(undefined as unknown as Adapters); export const MonolithIOProvider: React.FC> = ({backendUrl, children}) => { - const client = axios.create({ baseURL: backendUrl }) + const client = useMemo(() => axios.create({ baseURL: backendUrl }), [backendUrl]) - const backend = useMemo(() => new HTTPShopBackend(client, client, client), [backendUrl]); - return {children}; + return {children}; } type Props = PropsWithChildren<{catalogUrl: string, cartUrl: string, ordersUrl: string}>; export const MicroservicesIOProvider: React.FC = ({catalogUrl, cartUrl, ordersUrl, children}) => { - const cart = axios.create({ baseURL: cartUrl }) - const catalog = axios.create({ baseURL: catalogUrl }) - const orders = axios.create({ baseURL: ordersUrl }) + const cart = useMemo(() => axios.create({ baseURL: cartUrl }), [cartUrl]) + const productCatalog = useMemo(() => axios.create({ baseURL: catalogUrl }), [catalogUrl]) + const orders = useMemo(() => axios.create({ baseURL: ordersUrl }), [ordersUrl]) - const backend = useMemo(() => new HTTPShopBackend(cart, catalog, orders), [cartUrl, catalogUrl, ordersUrl]); - return {children}; + return {children}; } \ No newline at end of file diff --git a/packages/client/src/adapters/order.ts b/packages/client/src/adapters/order.ts deleted file mode 100644 index 3e6f394..0000000 --- a/packages/client/src/adapters/order.ts +++ /dev/null @@ -1,6 +0,0 @@ -import {Order} from "@ts-react-tdd/server/src/types"; - -export interface OrderAdapter { - getOrder: (orderId: string) => Promise -} - diff --git a/packages/client/src/adapters/productCatalog.ts b/packages/client/src/adapters/productCatalog.ts deleted file mode 100644 index 2005a1f..0000000 --- a/packages/client/src/adapters/productCatalog.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Product} from "@ts-react-tdd/server/src/types"; - -export interface ProductCatalog { - findAllProducts(): Promise; - searchProducts(freeTextSearch: string): Promise; -} - diff --git a/packages/client/src/hooks/cart.ts b/packages/client/src/hooks/cart.ts index c826fc1..1f72a73 100644 --- a/packages/client/src/hooks/cart.ts +++ b/packages/client/src/hooks/cart.ts @@ -2,7 +2,7 @@ import {useContext, useEffect, useState} from "react"; import persistantStorage from "../services/persistantStorage"; import {IOContext} from "../adapters/context"; import {useMutation, useQuery} from "react-query"; -import {Product} from "@ts-react-tdd/server/src/types"; +import {CartSummary, Product} from "@ts-react-tdd/server/src/types"; import {useNavigate} from "react-router-dom"; const KEY = "cartId"; @@ -36,12 +36,16 @@ export const useCartId = () => { export const useCartSummary = (id: string) => { const {cart} = useContext(IOContext); const {data: summary, isLoading, error} = useQuery({ - queryKey: 'cartSummary', - queryFn: () => cart.getCartSummary(id) + queryKey: ['cartSummary', id], + queryFn: async () => { + const res = await cart.get(`/cart/${id}`); + return CartSummary.parse(res.data); + } }) const checkout = async () => { - return cart.checkout(id); + const res = await cart.post(`/cart/${id}/checkout`); + return res.data; } return {isLoading, error, summary, checkout}; @@ -51,13 +55,16 @@ export const useCartWidget = (cartId: string) => { const itemCount = useQuery({ queryKey: "itemCount", - queryFn: () => cart.getCount(cartId), + queryFn: async () => { + const res = await cart.get(`/cart/${cartId}/count`); + return res.data; + }, onError: (error) => console.error(error) }); const addItem = useMutation({ onError: (error) => console.error(error), mutationFn: async (productId: Product["id"]) => { - await cart.addItem(cartId, productId); + await cart.post(`/cart/${cartId}`, { productId }); await itemCount.refetch(); } }); diff --git a/packages/client/src/hooks/order.ts b/packages/client/src/hooks/order.ts index 78ad262..a3838c1 100644 --- a/packages/client/src/hooks/order.ts +++ b/packages/client/src/hooks/order.ts @@ -1,10 +1,14 @@ import {useContext} from "react"; import {IOContext} from "../adapters/context"; import {useQuery} from "react-query"; +import {Order} from "@ts-react-tdd/server/src/types"; export const useOrder = (orderId: string) => { const {orders} = useContext(IOContext); - const {data, isLoading, error} = useQuery("order", () => orders.getOrder(orderId), {enabled: !!orderId}); + const {data, isLoading, error} = useQuery("order", async () => { + const res = await orders.get(`/order/${orderId}`); + return Order.parse(res.data); + }, {enabled: !!orderId}); return { order: data, diff --git a/packages/client/src/hooks/products.ts b/packages/client/src/hooks/products.ts index 4174f13..f87e765 100644 --- a/packages/client/src/hooks/products.ts +++ b/packages/client/src/hooks/products.ts @@ -1,15 +1,27 @@ import {useContext} from "react"; import {IOContext} from "../adapters/context"; import {useQuery} from "react-query"; +import {Product} from "@ts-react-tdd/server/src/types"; type ProductQuery = { freeTextSearch: string; } export const useProducts = ({freeTextSearch}: ProductQuery) => { const {productCatalog} = useContext(IOContext); + + const searchProducts = async () => { + const res = await productCatalog.get(`/products/search?query=${freeTextSearch}`); + return res.data.map(p => Product.parse(p)); + }; + + const findAllProducts = async () => { + const res = await productCatalog.get(`/products`); + return res.data.map(p => Product.parse(p)); + } + const {data, isLoading, error} = useQuery(["products", freeTextSearch], () => freeTextSearch?.length > 0 ? - productCatalog.searchProducts(freeTextSearch) : - productCatalog.findAllProducts()); + searchProducts() : + findAllProducts()); return { products: data, From 25805e85546e723f04693ee8106a094f68e5ecbb Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Thu, 5 Sep 2024 10:47:20 +0300 Subject: [PATCH 23/24] simplify --- packages/client/src/hooks/products.ts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/client/src/hooks/products.ts b/packages/client/src/hooks/products.ts index f87e765..d50f589 100644 --- a/packages/client/src/hooks/products.ts +++ b/packages/client/src/hooks/products.ts @@ -9,19 +9,11 @@ type ProductQuery = { export const useProducts = ({freeTextSearch}: ProductQuery) => { const {productCatalog} = useContext(IOContext); - const searchProducts = async () => { - const res = await productCatalog.get(`/products/search?query=${freeTextSearch}`); + const {data, isLoading, error} = useQuery(["products", freeTextSearch], async () => { + const url = freeTextSearch?.length > 0 ? `/products/search?query=${freeTextSearch}` : `/products`; + const res = await productCatalog.get(url); return res.data.map(p => Product.parse(p)); - }; - - const findAllProducts = async () => { - const res = await productCatalog.get(`/products`); - return res.data.map(p => Product.parse(p)); - } - - const {data, isLoading, error} = useQuery(["products", freeTextSearch], () => freeTextSearch?.length > 0 ? - searchProducts() : - findAllProducts()); + }); return { products: data, From 38ed25f070cd7698ef5525decf4eaa2d41a3cc0d Mon Sep 17 00:00:00 2001 From: Shai Yallin Date: Fri, 6 Sep 2024 09:03:48 +0300 Subject: [PATCH 24/24] simplify --- packages/client/src/adapters/harness.tsx | 7 +++-- packages/client/src/components/Shop.tsx | 18 +++++++++---- packages/client/src/hooks/cart.ts | 1 + packages/client/src/hooks/products.ts | 15 +++-------- packages/client/test/purchase.flow.spec.tsx | 30 ++++++++++----------- packages/client/test/search.flow.spec.tsx | 16 +++++------ 6 files changed, 43 insertions(+), 44 deletions(-) diff --git a/packages/client/src/adapters/harness.tsx b/packages/client/src/adapters/harness.tsx index 1e7f0a8..ffcb670 100644 --- a/packages/client/src/adapters/harness.tsx +++ b/packages/client/src/adapters/harness.tsx @@ -64,11 +64,11 @@ export async function makeMonolithicApp({ }; } -export async function makeMicroservicesApp({ +export async function runBackendAndRender({ products = [], }: AppContext) { - const { catalogApp, ordersApp, cartApp, orderRepo, productRepo } = await runMicroservices(products) + const { catalogApp, ordersApp, cartApp, orderRepo } = await runMicroservices(products) const queryClient = new QueryClient(); @@ -85,9 +85,8 @@ export async function makeMicroservicesApp({ const driver = createDriver(app); return { - productRepo, orderRepo, - driver, + app: driver, [Symbol.dispose]: async () => { await cartServer.close(); await catalogServer.close(); diff --git a/packages/client/src/components/Shop.tsx b/packages/client/src/components/Shop.tsx index 1a2ccf7..4a532af 100644 --- a/packages/client/src/components/Shop.tsx +++ b/packages/client/src/components/Shop.tsx @@ -3,14 +3,14 @@ import React, {useState} from "react"; import {useProducts} from "../hooks/products"; import {useCartWidget} from "../hooks/cart"; -interface ShopProps { +type ShopProps = { cartId: string; } export const Shop: React.FC = ({ cartId }) => { const [ freeTextSearch, setFreeTextSearch ] = useState(''); - const { products, productsLoading, productsError } = useProducts({freeTextSearch}); + const products = useProducts(freeTextSearch); const { viewCart, addItem, itemCount, fetched } = useCartWidget(cartId); return
@@ -20,11 +20,19 @@ export const Shop: React.FC = ({ cartId }) => { setFreeTextSearch(e.target.value)}/>
- + }; -const Products: React.FC<{ products: Product[] | undefined, isLoading: boolean, error: unknown | null, addItem: (id: string) => void }> = ({ products, isLoading, error, addItem }) => { +type ProductsProps = { + products: { + data: Product[] | undefined; + isLoading: boolean; + error: unknown | null; + } + addItem: (id: string) => void; +} +const Products: React.FC = ( {products: {data, isLoading, error}, addItem}) => { if (isLoading) { return
Loading...
@@ -34,7 +42,7 @@ const Products: React.FC<{ products: Product[] | undefined, isLoading: boolean, return
<>Error: {error}
} - return <>{products!.map(({ title, id }) => + return <>{data!.map(({ title, id }) =>

{title}