diff --git a/examples/anthropic.ts b/examples/anthropic/chat.ts similarity index 94% rename from examples/anthropic.ts rename to examples/anthropic/chat.ts index 8b1afc107ef52c2fd90b1097c35a8ec102e6a898..48117f89192ade69ed13e8120575868d7d4a08c1 100644 --- a/examples/anthropic.ts +++ b/examples/anthropic/chat.ts @@ -3,6 +3,7 @@ import { Anthropic } from "llamaindex"; (async () => { const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, + model: "claude-3-opus", }); const result = await anthropic.chat({ messages: [ diff --git a/examples/anthropic/stream.ts b/examples/anthropic/stream.ts new file mode 100644 index 0000000000000000000000000000000000000000..e58d7f0e1502d0b15110aad9cb4de66cb3257a9b --- /dev/null +++ b/examples/anthropic/stream.ts @@ -0,0 +1,23 @@ +import { Anthropic } from "llamaindex"; + +(async () => { + const anthropic = new Anthropic({ + apiKey: process.env.ANTHROPIC_API_KEY, + model: "claude-instant-1.2", + }); + const stream = await anthropic.chat({ + messages: [ + { content: "You want to talk in rhymes.", role: "system" }, + { + content: + "How much wood would a woodchuck chuck if a woodchuck could chuck wood?", + role: "user", + }, + ], + stream: true, + }); + + for await (const chunk of stream) { + process.stdout.write(chunk.delta); + } +})(); diff --git a/packages/core/package.json b/packages/core/package.json index d83b8bcb951487a49e7fe684dc6b6e2c9fc853b3..876d376963dfb776b6ea2b3135d90391c7b8abc3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,19 +4,19 @@ "license": "MIT", "type": "module", "dependencies": { - "@anthropic-ai/sdk": "^0.13.0", + "@anthropic-ai/sdk": "^0.15.0", "@aws-crypto/sha256-js": "^5.2.0", "@datastax/astra-db-ts": "^0.1.4", - "@types/lodash": "^4.14.202", - "@types/node": "^18.19.14", - "@types/papaparse": "^5.3.14", - "@types/pg": "^8.11.0", "@llamaindex/cloud": "0.0.4", "@llamaindex/env": "workspace:*", "@mistralai/mistralai": "^0.0.10", "@notionhq/client": "^2.2.14", "@pinecone-database/pinecone": "^2.0.1", "@qdrant/js-client-rest": "^1.7.0", + "@types/lodash": "^4.14.202", + "@types/node": "^18.19.14", + "@types/papaparse": "^5.3.14", + "@types/pg": "^8.11.0", "@xenova/transformers": "^2.15.0", "assemblyai": "^4.2.2", "chromadb": "~1.7.3", diff --git a/packages/core/src/llm/LLM.ts b/packages/core/src/llm/LLM.ts index 4db929e79904e3a50b80ecf4d1a405ee21b80761..691b5ee89f4bce8233d78147a39aa0cfb2eb48c6 100644 --- a/packages/core/src/llm/LLM.ts +++ b/packages/core/src/llm/LLM.ts @@ -1,7 +1,6 @@ import type OpenAILLM from "openai"; import type { ClientOptions as OpenAIClientOptions } from "openai"; import type { - AnthropicStreamToken, CallbackManager, Event, EventType, @@ -13,11 +12,7 @@ import type { ChatCompletionMessageParam } from "openai/resources/index.js"; import type { LLMOptions } from "portkey-ai"; import { Tokenizers, globalsHelper } from "../GlobalsHelper.js"; import type { AnthropicSession } from "./anthropic.js"; -import { - ANTHROPIC_AI_PROMPT, - ANTHROPIC_HUMAN_PROMPT, - getAnthropicSession, -} from "./anthropic.js"; +import { getAnthropicSession } from "./anthropic.js"; import type { AzureOpenAIConfig } from "./azure.js"; import { getAzureBaseUrl, @@ -613,12 +608,30 @@ If a question does not make any sense, or is not factually coherent, explain why } } +export const ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS = { + "claude-2.1": { + contextWindow: 200000, + }, + "claude-instant-1.2": { + contextWindow: 100000, + }, +}; + +export const ALL_AVAILABLE_V3_MODELS = { + "claude-3-opus": { contextWindow: 200000 }, + "claude-3-sonnet": { contextWindow: 200000 }, +}; + export const ALL_AVAILABLE_ANTHROPIC_MODELS = { - // both models have 100k context window, see https://docs.anthropic.com/claude/reference/selecting-a-model - "claude-2": { contextWindow: 200000 }, - "claude-instant-1": { contextWindow: 100000 }, + ...ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS, + ...ALL_AVAILABLE_V3_MODELS, }; +const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = { + "claude-3-opus": "claude-3-opus-20240229", + "claude-3-sonnet": "claude-3-sonnet-20240229", +} as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string }; + /** * Anthropic LLM implementation */ @@ -640,7 +653,7 @@ export class Anthropic extends BaseLLM { constructor(init?: Partial<Anthropic>) { super(); - this.model = init?.model ?? "claude-2"; + this.model = init?.model ?? "claude-3-opus"; this.temperature = init?.temperature ?? 0.1; this.topP = init?.topP ?? 0.999; // Per Ben Mann this.maxTokens = init?.maxTokens ?? undefined; @@ -674,21 +687,24 @@ export class Anthropic extends BaseLLM { }; } - mapMessagesToPrompt(messages: ChatMessage[]) { - return ( - messages.reduce((acc, message) => { - return ( - acc + - `${ - message.role === "system" - ? "" - : message.role === "assistant" - ? ANTHROPIC_AI_PROMPT + " " - : ANTHROPIC_HUMAN_PROMPT + " " - }${message.content.trim()}` - ); - }, "") + ANTHROPIC_AI_PROMPT - ); + getModelName = (model: string): string => { + if (Object.keys(AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE).includes(model)) { + return AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE[model]; + } + return model; + }; + + formatMessages(messages: ChatMessage[]) { + return messages.map((message) => { + if (message.role !== "user" && message.role !== "assistant") { + throw new Error("Unsupported Anthropic role"); + } + + return { + content: message.content, + role: message.role, + }; + }); } chat( @@ -698,49 +714,67 @@ export class Anthropic extends BaseLLM { async chat( params: LLMChatParamsNonStreaming | LLMChatParamsStreaming, ): Promise<ChatResponse | AsyncIterable<ChatResponseChunk>> { - const { messages, parentEvent, stream } = params; + let { messages } = params; + + const { parentEvent, stream } = params; + + let systemPrompt: string | null = null; + + const systemMessages = messages.filter( + (message) => message.role === "system", + ); + + if (systemMessages.length > 0) { + systemPrompt = systemMessages + .map((message) => message.content) + .join("\n"); + messages = messages.filter((message) => message.role !== "system"); + } + //Streaming if (stream) { - return this.streamChat(messages, parentEvent); + return this.streamChat(messages, parentEvent, systemPrompt); } //Non-streaming - const response = await this.session.anthropic.completions.create({ - model: this.model, - prompt: this.mapMessagesToPrompt(messages), - max_tokens_to_sample: this.maxTokens ?? 100000, + const response = await this.session.anthropic.messages.create({ + model: this.getModelName(this.model), + messages: this.formatMessages(messages), + max_tokens: this.maxTokens ?? 4096, temperature: this.temperature, top_p: this.topP, + ...(systemPrompt && { system: systemPrompt }), }); return { - message: { content: response.completion.trimStart(), role: "assistant" }, - //^ We're trimming the start because Anthropic often starts with a space in the response - // That space will be re-added when we generate the next prompt. + message: { content: response.content[0].text, role: "assistant" }, }; } protected async *streamChat( messages: ChatMessage[], parentEvent?: Event | undefined, + systemPrompt?: string | null, ): AsyncIterable<ChatResponseChunk> { - // AsyncIterable<AnthropicStreamToken> - const stream: AsyncIterable<AnthropicStreamToken> = - await this.session.anthropic.completions.create({ - model: this.model, - prompt: this.mapMessagesToPrompt(messages), - max_tokens_to_sample: this.maxTokens ?? 100000, - temperature: this.temperature, - top_p: this.topP, - stream: true, - }); + const stream = await this.session.anthropic.messages.create({ + model: this.getModelName(this.model), + messages: this.formatMessages(messages), + max_tokens: this.maxTokens ?? 4096, + temperature: this.temperature, + top_p: this.topP, + stream: true, + ...(systemPrompt && { system: systemPrompt }), + }); let idx_counter: number = 0; for await (const part of stream) { - //TODO: LLM Stream Callback, pending re-work. + const content = + part.type === "content_block_delta" ? part.delta.text : null; + + if (typeof content !== "string") continue; idx_counter++; - yield { delta: part.completion }; + yield { delta: content }; } return; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57bc3bee27d85481ea5cd14c88274c9a98df278e..f8780ce008b8a941fbb8c1b823f6cb364145d1b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,7 +53,7 @@ importers: version: link:../../packages/env '@mdx-js/react': specifier: ^3.0.0 - version: 3.0.0(@types/react@18.2.55)(react@18.2.0) + version: 3.0.0(@types/react@18.2.61)(react@18.2.0) clsx: specifier: ^2.1.0 version: 2.1.0 @@ -65,7 +65,7 @@ importers: version: 2.3.1(react@18.2.0) raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.90.1) + version: 4.0.2(webpack@5.90.3) react: specifier: ^18.2.0 version: 18.2.0 @@ -78,10 +78,10 @@ importers: version: 3.1.0(react-dom@18.2.0)(react@18.2.0) '@docusaurus/preset-classic': specifier: ^3.1.1 - version: 3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + version: 3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/theme-classic': specifier: ^3.1.1 - version: 3.1.1(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.1.1(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/types': specifier: ^3.1.1 version: 3.1.1(react-dom@18.2.0)(react@18.2.0) @@ -160,8 +160,8 @@ importers: packages/core: dependencies: '@anthropic-ai/sdk': - specifier: ^0.13.0 - version: 0.13.0 + specifier: ^0.15.0 + version: 0.15.0 '@aws-crypto/sha256-js': specifier: ^5.2.0 version: 5.2.0 @@ -406,16 +406,16 @@ importers: dependencies: eslint-config-next: specifier: ^13.5.6 - version: 13.5.6(eslint@8.56.0)(typescript@5.3.3) + version: 13.5.6(eslint@8.57.0)(typescript@5.3.3) eslint-config-prettier: specifier: ^8.10.0 - version: 8.10.0(eslint@8.56.0) + version: 8.10.0(eslint@8.57.0) eslint-config-turbo: specifier: ^1.11.3 - version: 1.11.3(eslint@8.56.0) + version: 1.11.3(eslint@8.57.0) eslint-plugin-react: specifier: 7.28.0 - version: 7.28.0(eslint@8.56.0) + version: 7.28.0(eslint@8.57.0) devDependencies: next: specifier: ^13.5.6 @@ -574,8 +574,8 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 - /@anthropic-ai/sdk@0.13.0: - resolution: {integrity: sha512-wn315W4tCfCO+Z6FMa/67HgdgaWbjs4ie0Zbx5A6lq8RPEA3sEDknYzw0gCIrSlnSgRHxvUP/bT9KncFmOrmTg==} + /@anthropic-ai/sdk@0.15.0: + resolution: {integrity: sha512-QMNEFcwGGB64oEIL+U9b+mxSbat5TCdNxvQVV0qCNGQvg/nlnbOmq2/x/0mKhuKD0n5bioL75oCkTbQaAgyYtw==} dependencies: '@types/node': 18.19.14 '@types/node-fetch': 2.6.9 @@ -2055,7 +2055,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: true - /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -2075,7 +2075,7 @@ packages: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) '@docsearch/css': 3.5.2 - '@types/react': 18.2.55 + '@types/react': 18.2.61 algoliasearch: 4.22.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2581,7 +2581,7 @@ packages: - webpack-cli dev: true - /@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-jG4ys/hWYf69iaN/xOmF+3kjs4Nnz1Ay3CjFLDtYa8KdxbmUhArA9HmP26ru5N0wbVWhY+6kmpYhTJpez5wTyg==} engines: {node: '>=18.0'} peerDependencies: @@ -2597,9 +2597,9 @@ packages: '@docusaurus/plugin-google-gtag': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-google-tag-manager': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-sitemap': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-classic': 3.1.1(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-classic': 3.1.1(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + '@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2630,7 +2630,7 @@ packages: peerDependencies: react: '*' dependencies: - '@types/react': 18.2.55 + '@types/react': 18.2.48 prop-types: 15.8.1 react: 18.2.0 @@ -2647,7 +2647,7 @@ packages: - supports-color dev: false - /@docusaurus/theme-classic@3.1.1(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/theme-classic@3.1.1(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-GiPE/jbWM8Qv1A14lk6s9fhc0LhPEQ00eIczRO4QL2nAQJZXkjPG6zaVx+1cZxPFWbAsqSjKe2lqkwF3fGkQ7Q==} engines: {node: '>=18.0'} peerDependencies: @@ -2666,7 +2666,7 @@ packages: '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) - '@mdx-js/react': 3.0.0(@types/react@18.2.55)(react@18.2.0) + '@mdx-js/react': 3.0.0(@types/react@18.2.61)(react@18.2.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 @@ -2745,14 +2745,14 @@ packages: - webpack-cli dev: true - /@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.55)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.61)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-tBH9VY5EpRctVdaAhT+b1BY8y5dyHVZGFXyCHgTrvcXQy5CV4q7serEX7U3SveNT9zksmchPyct6i1sFDC4Z5g==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.1.1 '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) @@ -3129,6 +3129,16 @@ packages: eslint: 8.56.0 eslint-visitor-keys: 3.4.3 + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: false + /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -3153,6 +3163,11 @@ packages: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + /@fastify/busboy@2.1.0: resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -3213,7 +3228,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.17 + '@types/node': 20.11.20 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -3321,14 +3336,14 @@ packages: transitivePeerDependencies: - supports-color - /@mdx-js/react@3.0.0(@types/react@18.2.55)(react@18.2.0): + /@mdx-js/react@3.0.0(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==} peerDependencies: '@types/react': '>=16' react: '>=16' dependencies: '@types/mdx': 2.0.10 - '@types/react': 18.2.55 + '@types/react': 18.2.61 react: 18.2.0 /@mistralai/mistralai@0.0.10: @@ -4153,7 +4168,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.20 /@types/cross-spawn@6.0.0: resolution: {integrity: sha512-evp2ZGsFw9YKprDbg8ySgC9NA15g3YgiI8ANkGmKKvvi0P2aDGYLPxQIC5qfeKNUOe3TjABVGuah6omPRpIYhg==} @@ -4338,7 +4353,6 @@ packages: resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} dependencies: undici-types: 5.26.5 - dev: false /@types/node@20.11.7: resolution: {integrity: sha512-GPmeN1C3XAyV5uybAf4cMLWT9fDWcmQhZVtMFu7OR32WjrqGG+Wnk2V1d0bmtUyE/Zy1QJ9BxyiTih9z8Oks8A==} @@ -4390,7 +4404,7 @@ packages: resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.55 + '@types/react': 18.2.61 '@types/react-router': 5.1.20 dev: true @@ -4414,7 +4428,7 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.55 + '@types/react': 18.2.48 dev: true /@types/react@18.2.48: @@ -4424,8 +4438,8 @@ packages: '@types/scheduler': 0.16.4 csstype: 3.1.2 - /@types/react@18.2.55: - resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} + /@types/react@18.2.61: + resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -4464,7 +4478,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.17 + '@types/node': 20.11.20 /@types/serve-index@1.9.4: resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} @@ -4527,7 +4541,7 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@typescript-eslint/parser@6.19.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.19.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4542,7 +4556,7 @@ packages: '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -5462,6 +5476,17 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.3) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001593 + electron-to-chromium: 1.4.690 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + /bson@6.2.0: resolution: {integrity: sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==} engines: {node: '>=16.20.1'} @@ -5606,6 +5631,10 @@ packages: /caniuse-lite@1.0.30001580: resolution: {integrity: sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==} + /caniuse-lite@1.0.30001593: + resolution: {integrity: sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==} + dev: false + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -6932,6 +6961,10 @@ packages: /electron-to-chromium@1.4.648: resolution: {integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==} + /electron-to-chromium@1.4.690: + resolution: {integrity: sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==} + dev: false + /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true @@ -6978,6 +7011,14 @@ packages: graceful-fs: 4.2.11 tapable: 2.2.1 + /enhanced-resolve@5.15.1: + resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -7216,7 +7257,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next@13.5.6(eslint@8.56.0)(typescript@5.3.3): + /eslint-config-next@13.5.6(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -7227,36 +7268,36 @@ packages: dependencies: '@next/eslint-plugin-next': 13.5.6 '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) - eslint-plugin-react: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-react: 7.33.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: false - /eslint-config-prettier@8.10.0(eslint@8.56.0): + /eslint-config-prettier@8.10.0(eslint@8.57.0): resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-config-turbo@1.11.3(eslint@8.56.0): + /eslint-config-turbo@1.11.3(eslint@8.57.0): resolution: {integrity: sha512-v7CHpAHodBKlj+r+R3B2DJlZbCjpZLnK7gO/vCRk/Lc+tlD/f04wM6rmHlerevOlchtmwARilRLBnmzNLffTyQ==} peerDependencies: eslint: '>6.6.0' dependencies: - eslint: 8.56.0 - eslint-plugin-turbo: 1.11.3(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-turbo: 1.11.3(eslint@8.57.0) dev: false /eslint-import-resolver-node@0.3.9: @@ -7269,7 +7310,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -7278,9 +7319,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint: 8.57.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -7292,7 +7333,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7313,16 +7354,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -7332,16 +7373,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -7357,7 +7398,7 @@ packages: - supports-color dev: false - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: @@ -7373,7 +7414,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.15 - eslint: 8.56.0 + eslint: 8.57.0 hasown: 2.0.0 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -7382,16 +7423,16 @@ packages: object.fromentries: 2.0.7 dev: false - /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-react@7.28.0(eslint@8.56.0): + /eslint-plugin-react@7.28.0(eslint@8.57.0): resolution: {integrity: sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==} engines: {node: '>=4'} peerDependencies: @@ -7400,7 +7441,7 @@ packages: array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -7414,7 +7455,7 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-react@7.33.2(eslint@8.56.0): + /eslint-plugin-react@7.33.2(eslint@8.57.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -7425,7 +7466,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.56.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -7439,13 +7480,13 @@ packages: string.prototype.matchall: 4.0.10 dev: false - /eslint-plugin-turbo@1.11.3(eslint@8.56.0): + /eslint-plugin-turbo@1.11.3(eslint@8.57.0): resolution: {integrity: sha512-R5ftTTWQzEYaKzF5g6m/MInCU8pIN+2TLL+S50AYBr1enwUovdZmnZ1HDwFMaxIjJ8x5ah+jvAzql5IJE9VWaA==} peerDependencies: eslint: '>6.6.0' dependencies: dotenv: 16.0.3 - eslint: 8.56.0 + eslint: 8.57.0 dev: false /eslint-scope@5.1.1: @@ -7517,6 +7558,53 @@ packages: transitivePeerDependencies: - supports-color + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: false + /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -12324,7 +12412,7 @@ packages: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 20.11.17 + '@types/node': 20.11.20 long: 4.0.0 dev: false @@ -12460,7 +12548,7 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 - /raw-loader@4.0.2(webpack@5.90.1): + /raw-loader@4.0.2(webpack@5.90.3): resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -12468,7 +12556,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.1 + webpack: 5.90.3 dev: false /rc@1.2.8: @@ -14110,7 +14198,7 @@ packages: terser: 5.27.0 webpack: 5.90.0 - /terser-webpack-plugin@5.3.10(webpack@5.90.1): + /terser-webpack-plugin@5.3.10(webpack@5.90.3): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -14131,7 +14219,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.90.1 + webpack: 5.90.3 dev: false /terser@5.27.0: @@ -14738,6 +14826,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + /update-check@1.5.4: resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} dependencies: @@ -15162,8 +15261,8 @@ packages: - esbuild - uglify-js - /webpack@5.90.1: - resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==} + /webpack@5.90.3: + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -15179,9 +15278,9 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.3 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.15.1 es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -15193,7 +15292,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.1) + terser-webpack-plugin: 5.3.10(webpack@5.90.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: