diff --git a/.changeset/afraid-maps-smell.md b/.changeset/afraid-maps-smell.md new file mode 100644 index 00000000..4935f0fd --- /dev/null +++ b/.changeset/afraid-maps-smell.md @@ -0,0 +1,7 @@ +--- +"@pantheon-systems/pcc-cli": patch +--- + +Added --publish flag to Drupal import. Fixed drupal import bugs. Added link to +folder after import completes. Fixed createSmartComponent function call using +incorrect endpoint. diff --git a/.changeset/chatty-singers-scream.md b/.changeset/chatty-singers-scream.md new file mode 100644 index 00000000..16d820e4 --- /dev/null +++ b/.changeset/chatty-singers-scream.md @@ -0,0 +1,5 @@ +--- +"@pantheon-systems/pcc-cli": minor +--- + +Internal refactoring of 3rd-party file imports. diff --git a/packages/cli/package.json b/packages/cli/package.json index 1bea7742..9cd161b8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -49,6 +49,7 @@ "google-auth-library": "^9.6.3", "googleapis": "^129.0.0", "inquirer": "^8.2.6", + "node-html-parser": "^6.1.12", "nunjucks": "^3.2.4", "octokit": "^3.1.2", "open": "^9.1.0", diff --git a/packages/cli/src/cli/commands/import/common.ts b/packages/cli/src/cli/commands/import/common.ts new file mode 100644 index 00000000..a3b2f1d2 --- /dev/null +++ b/packages/cli/src/cli/commands/import/common.ts @@ -0,0 +1,62 @@ +import { exit } from "process"; +import chalk from "chalk"; +import type { GaxiosResponse } from "gaxios"; +import { OAuth2Client } from "google-auth-library"; +import { drive_v3, google } from "googleapis"; +import ora from "ora"; +import AddOnApiHelper from "../../../lib/addonApiHelper"; +import { getLocalAuthDetails } from "../../../lib/localStorage"; +import { Logger } from "../../../lib/logger"; + +export async function createFileOnDrive({ + requestBody, + body, + drive, +}: { + requestBody: Partial; + body: string; + drive?: drive_v3.Drive; +}) { + const logger = new Logger(); + + if (!drive) { + // Check user has required permission to create drive file + await AddOnApiHelper.getIdToken([ + "https://www.googleapis.com/auth/drive.file", + ]); + const authDetails = await getLocalAuthDetails(); + if (!authDetails) { + logger.error(chalk.red(`ERROR: Failed to retrieve login details.`)); + exit(1); + } + + const oauth2Client = new OAuth2Client(); + oauth2Client.setCredentials(authDetails); + drive = google.drive({ + version: "v3", + auth: oauth2Client, + }); + } + + // Create Google Doc + const spinner = ora("Creating document on the Google Drive...").start(); + const res = (await drive.files.create({ + requestBody: { + ...requestBody, + mimeType: "application/vnd.google-apps.document", + }, + media: { + mimeType: "text/html", + body, + }, + })) as GaxiosResponse; + const fileId = res.data.id; + const fileUrl = `https://docs.google.com/document/d/${fileId}`; + + if (!fileId) { + spinner.fail("Failed to create document on the Google Drive."); + exit(1); + } + + return { fileId, fileUrl, drive, spinner }; +} diff --git a/packages/cli/src/cli/commands/import.ts b/packages/cli/src/cli/commands/import/drupal.ts similarity index 58% rename from packages/cli/src/cli/commands/import.ts rename to packages/cli/src/cli/commands/import/drupal.ts index b5c54d3b..3c259879 100644 --- a/packages/cli/src/cli/commands/import.ts +++ b/packages/cli/src/cli/commands/import/drupal.ts @@ -1,27 +1,24 @@ import { randomUUID } from "crypto"; -import * as fs from "fs"; import { exit } from "process"; import axios, { AxiosError } from "axios"; import Promise from "bluebird"; import chalk from "chalk"; -import { parseFromString } from "dom-parser"; import type { GaxiosResponse } from "gaxios"; import { OAuth2Client } from "google-auth-library"; import { drive_v3, google } from "googleapis"; -import ora from "ora"; +import { HTMLElement, parse } from "node-html-parser"; import queryString from "query-string"; -import showdown from "showdown"; -import AddOnApiHelper from "../../lib/addonApiHelper"; -import { getLocalAuthDetails } from "../../lib/localStorage"; -import { Logger } from "../../lib/logger"; -import { errorHandler } from "../exceptions"; - -const HEADING_TAGS = ["h1", "h2", "h3", "title"]; +import AddOnApiHelper from "../../../lib/addonApiHelper"; +import { getLocalAuthDetails } from "../../../lib/localStorage"; +import { Logger } from "../../../lib/logger"; +import { errorHandler } from "../../exceptions"; +import { createFileOnDrive } from "./common"; type DrupalImportParams = { baseUrl: string; siteId: string; verbose: boolean; + automaticallyPublish: boolean; }; interface DrupalPost { @@ -80,7 +77,12 @@ async function getDrupalPosts(url: string) { } export const importFromDrupal = errorHandler( - async ({ baseUrl, siteId, verbose }: DrupalImportParams) => { + async ({ + baseUrl, + siteId, + verbose, + automaticallyPublish, + }: DrupalImportParams) => { const logger = new Logger(); if (baseUrl) { @@ -104,7 +106,7 @@ export const importFromDrupal = errorHandler( } } - await AddOnApiHelper.getIdToken([ + const idToken = await AddOnApiHelper.getIdToken([ "https://www.googleapis.com/auth/drive.file", ]); @@ -122,11 +124,12 @@ export const importFromDrupal = errorHandler( auth: oauth2Client, }); + const folderName = `PCC Import from Drupal on ${new Date().toLocaleDateString()} unique id: ${randomUUID()}`; const folderRes = (await drive.files .create({ fields: "id,name", requestBody: { - name: `PCC Import from Drupal on ${new Date().toLocaleDateString()} unique id: ${randomUUID()}`, + name: folderName, mimeType: "application/vnd.google-apps.folder", }, }) @@ -190,26 +193,36 @@ export const importFromDrupal = errorHandler( (x) => x.id === post.relationships.field_author.data.id, )?.attributes?.title; - const res = (await drive.files.create({ + // Initially create a blank document, just to get an article id + // that we can work with for further steps, such as adding smart components. + const { fileId, spinner } = await createFileOnDrive({ requestBody: { - // Name from the article. name: post.attributes.title, - mimeType: "application/vnd.google-apps.document", + parents: [folderId], }, + body: "", + drive, + }); + spinner.succeed(); + + // Add it to the PCC site. + await AddOnApiHelper.getDocument(fileId, true, undefined, idToken); + + // Set the document's content. + (await drive.files.update({ + fileId, + requestBody: { + mimeType: "application/vnd.google-apps.document", + }, media: { mimeType: "text/html", - body: post.attributes.body.processed, + body: await processHTMLForSmartComponents( + post.attributes.body.processed, + fileId, + ), }, })) as GaxiosResponse; - const fileId = res.data.id; - - if (!fileId) { - throw new Error(`Failed to create file for ${post.attributes.title}`); - } - - // Add it to the PCC site. - await AddOnApiHelper.getDocument(fileId, true); try { await AddOnApiHelper.updateDocument( @@ -230,7 +243,9 @@ export const importFromDrupal = errorHandler( verbose, ); - await AddOnApiHelper.publishDocument(fileId); + if (automaticallyPublish) { + await AddOnApiHelper.publishDocument(fileId); + } } catch (e) { console.error(e instanceof AxiosError ? e.response?.data : e); throw e; @@ -243,109 +258,44 @@ export const importFromDrupal = errorHandler( logger.log( chalk.green( - `Successfully imported ${allPosts.length} documents into ${folderRes.data.name}`, + `Successfully imported ${allPosts.length} documents into ${folderName} (https://drive.google.com/drive/u/0/folders/${folderRes.data.id})`, ), ); }, ); -type MarkdownImportParams = { - filePath: string; - siteId: string; - verbose: boolean; - publish: boolean; -}; - -export const importFromMarkdown = errorHandler( - async ({ filePath, siteId, verbose, publish }: MarkdownImportParams) => { - const logger = new Logger(); +async function processHTMLForSmartComponents(html: string, articleId: string) { + const root = parse(html); + const iframeNodes: HTMLElement[] = + (root.querySelector("iframe")?.childNodes as HTMLElement[]) ?? []; - if (!fs.existsSync(filePath)) { - logger.error( - chalk.red( - `ERROR: Could not find markdown file at given path (${filePath})`, - ), - ); - exit(1); - } + await Promise.all( + iframeNodes.map(async (node) => { + let src = node.getAttribute("src"); - // Prepare article content and title - const content = fs.readFileSync(filePath).toString(); + if (src == null) return; - // Check user has required permission to create drive file - await AddOnApiHelper.getIdToken([ - "https://www.googleapis.com/auth/drive.file", - ]); - const authDetails = await getLocalAuthDetails(); - if (!authDetails) { - logger.error(chalk.red(`ERROR: Failed to retrieve login details.`)); - exit(1); - } - - // Create Google Doc - const spinner = ora("Creating document on the Google Drive...").start(); - const oauth2Client = new OAuth2Client(); - oauth2Client.setCredentials(authDetails); - const drive = google.drive({ - version: "v3", - auth: oauth2Client, - }); - const converter = new showdown.Converter(); - const html = converter.makeHtml(content); - const dom = parseFromString(html); - - // Derive document's title - let title: string | undefined = undefined; - for (const item of HEADING_TAGS) { - const element = dom.getElementsByTagName(item)[0]; - if (element) { - title = element.textContent; - break; + if (src.includes("oembed?url=")) { + src = decodeURIComponent(src.split("oembed?url=")[1]); } - } - title = title || "Untitled Document"; - const res = (await drive.files.create({ - requestBody: { - name: title, - mimeType: "application/vnd.google-apps.document", - }, - media: { - mimeType: "text/html", - body: html, - }, - })) as GaxiosResponse; - const fileId = res.data.id; - const fileUrl = `https://docs.google.com/document/d/${fileId}`; - - if (!fileId) { - spinner.fail("Failed to create document on the Google Drive."); - exit(1); - } + const componentType = "MEDIA_PREVIEW"; + const componentId = await AddOnApiHelper.createSmartComponent( + articleId, + { + url: src, + canUsePlainIframe: true, + }, + componentType, + ); - // Create PCC document - await AddOnApiHelper.getDocument(fileId, true, title); - // Cannot set metadataFields(title,slug) in the same request since we reset metadataFields - // when changing the siteId. - await AddOnApiHelper.updateDocument( - fileId, - siteId, - title, - [], - null, - verbose, - ); - await AddOnApiHelper.getDocument(fileId, false, title); + node.replaceWith( + parse( + `MEDIA_PREVIEW: ${src}`, + ), + ); + }), + ); - // Publish PCC document - if (publish) { - await AddOnApiHelper.publishDocument(fileId); - } - spinner.succeed( - `Successfully created document at below path${ - publish ? " and published it on the PCC." : ":" - }`, - ); - logger.log(chalk.green(fileUrl, "\n")); - }, -); + return root.toString(); +} diff --git a/packages/cli/src/cli/commands/import/index.ts b/packages/cli/src/cli/commands/import/index.ts new file mode 100644 index 00000000..48ecd02d --- /dev/null +++ b/packages/cli/src/cli/commands/import/index.ts @@ -0,0 +1,4 @@ +import { importFromDrupal } from "./drupal"; +import { importFromMarkdown } from "./markdown"; + +export { importFromDrupal, importFromMarkdown }; diff --git a/packages/cli/src/cli/commands/import/markdown.ts b/packages/cli/src/cli/commands/import/markdown.ts new file mode 100644 index 00000000..1c8c498c --- /dev/null +++ b/packages/cli/src/cli/commands/import/markdown.ts @@ -0,0 +1,86 @@ +import * as fs from "fs"; +import { exit } from "process"; +import chalk from "chalk"; +import { parseFromString } from "dom-parser"; +import type { GaxiosResponse } from "gaxios"; +import { OAuth2Client } from "google-auth-library"; +import { drive_v3, google } from "googleapis"; +import ora from "ora"; +import showdown from "showdown"; +import AddOnApiHelper from "../../../lib/addonApiHelper"; +import { getLocalAuthDetails } from "../../../lib/localStorage"; +import { Logger } from "../../../lib/logger"; +import { errorHandler } from "../../exceptions"; +import { createFileOnDrive } from "./common"; + +const HEADING_TAGS = ["h1", "h2", "h3", "title"]; + +type MarkdownImportParams = { + filePath: string; + siteId: string; + verbose: boolean; + publish: boolean; +}; + +export const importFromMarkdown = errorHandler( + async ({ filePath, siteId, verbose, publish }: MarkdownImportParams) => { + const logger = new Logger(); + + if (!fs.existsSync(filePath)) { + logger.error( + chalk.red( + `ERROR: Could not find markdown file at given path (${filePath})`, + ), + ); + exit(1); + } + + // Prepare article content and title + const content = fs.readFileSync(filePath).toString(); + + const converter = new showdown.Converter(); + const html = converter.makeHtml(content); + const dom = parseFromString(html); + + // Derive document's title + let title: string | undefined = undefined; + for (const item of HEADING_TAGS) { + const element = dom.getElementsByTagName(item)[0]; + if (element) { + title = element.textContent; + break; + } + } + title = title || "Untitled Document"; + + const { fileId, fileUrl, spinner } = await createFileOnDrive( + { name: title }, + html, + ); + + // Create PCC document + await AddOnApiHelper.getDocument(fileId, true, title); + // Cannot set metadataFields(title,slug) in the same request since we reset metadataFields + // when changing the siteId. + await AddOnApiHelper.updateDocument( + fileId, + siteId, + title, + [], + null, + verbose, + ); + await AddOnApiHelper.getDocument(fileId, false, title); + + // Publish PCC document + if (publish) { + await AddOnApiHelper.publishDocument(fileId); + } + spinner.succeed( + `Successfully created document at below path${ + publish ? " and published it on the PCC." : ":" + }`, + ); + logger.log(chalk.green(fileUrl, "\n")); + }, +); diff --git a/packages/cli/src/cli/index.ts b/packages/cli/src/cli/index.ts index f506a672..553e2b77 100755 --- a/packages/cli/src/cli/index.ts +++ b/packages/cli/src/cli/index.ts @@ -666,6 +666,12 @@ yargs(hideBin(process.argv)) default: false, demandOption: false, }) + .option("publish", { + describe: "Automatically publish each imported article.", + type: "boolean", + default: false, + demandOption: false, + }) .demandOption(["baseUrl", "siteId"]); }, async (args) => @@ -673,6 +679,7 @@ yargs(hideBin(process.argv)) baseUrl: args.baseUrl as string, siteId: args.siteId as string, verbose: args.verbose as boolean, + automaticallyPublish: args.publish as boolean, }), ) .command( diff --git a/packages/cli/src/lib/addonApiHelper.ts b/packages/cli/src/lib/addonApiHelper.ts index 968f2217..7bfa3c35 100644 --- a/packages/cli/src/lib/addonApiHelper.ts +++ b/packages/cli/src/lib/addonApiHelper.ts @@ -9,6 +9,11 @@ import { getApiConfig } from "./apiConfig"; import { getLocalAuthDetails } from "./localStorage"; import { toKebabCase } from "./utils"; +export interface AuthToken { + idToken: string | null | undefined; + oauthToken: string | null | undefined; +} + class AddOnApiHelper { static async getToken(code: string): Promise { const resp = await axios.post( @@ -41,11 +46,7 @@ class AddOnApiHelper { } } - static async getIdToken( - requiredScopes?: string[], - withAuthToken?: true, - ): Promise<{ idToken: string; oauthToken: string }>; - static async getIdToken(requiredScopes?: string[], withAuthToken?: boolean) { + static async getIdToken(requiredScopes?: string[]): Promise { let authDetails = await getLocalAuthDetails(requiredScopes); // If auth details not found, try user logging in @@ -57,17 +58,21 @@ class AddOnApiHelper { if (!authDetails) throw new UserNotLoggedIn(); } - return withAuthToken - ? { idToken: authDetails.id_token, oauthToken: authDetails.access_token } - : authDetails.id_token; + return { + idToken: authDetails.id_token, + oauthToken: authDetails.access_token, + }; } static async getDocument( documentId: string, insertIfMissing = false, title?: string, + authToken?: AuthToken, ): Promise
{ - const idToken = await this.getIdToken(); + const { idToken, oauthToken } = + authToken || + (await await this.getIdToken(["https://www.googleapis.com/auth/drive"])); const resp = await axios.get( `${(await getApiConfig()).DOCUMENT_ENDPOINT}/${documentId}`, @@ -80,6 +85,8 @@ class AddOnApiHelper { }, headers: { Authorization: `Bearer ${idToken}`, + "Content-Type": "application/json", + "oauth-token": oauthToken, }, }, ); @@ -92,7 +99,9 @@ class AddOnApiHelper { fieldTitle: string, fieldType: string, ): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await await this.getIdToken([ + "https://www.googleapis.com/auth/drive", + ]); await axios.post( `${(await getApiConfig()).SITE_ENDPOINT}/${siteId}/metadata`, @@ -123,7 +132,7 @@ class AddOnApiHelper { verbose?: boolean, ): Promise
{ - const idToken = await this.getIdToken(); + const { idToken, oauthToken } = await this.getIdToken(); if (verbose) { console.log("update document", { @@ -149,6 +158,7 @@ class AddOnApiHelper { headers: { Authorization: `Bearer ${idToken}`, "Content-Type": "application/json", + "oauth-token": oauthToken, }, }, ); @@ -157,10 +167,9 @@ class AddOnApiHelper { } static async publishDocument(documentId: string) { - const { idToken, oauthToken } = await this.getIdToken( - ["https://www.googleapis.com/auth/drive"], - true, - ); + const { idToken, oauthToken } = await this.getIdToken([ + "https://www.googleapis.com/auth/drive", + ]); if (!idToken || !oauthToken) { throw new UserNotLoggedIn(); @@ -168,7 +177,7 @@ class AddOnApiHelper { const resp = await axios.post<{ url: string }>( `${(await getApiConfig()).DOCUMENT_ENDPOINT}/${documentId}/publish`, - null, + {}, { headers: { Authorization: `Bearer ${idToken}`, @@ -199,10 +208,9 @@ class AddOnApiHelper { baseUrl?: string; }, ): Promise { - const { idToken, oauthToken } = await this.getIdToken( - ["https://www.googleapis.com/auth/drive"], - true, - ); + const { idToken, oauthToken } = await this.getIdToken([ + "https://www.googleapis.com/auth/drive", + ]); if (!idToken || !oauthToken) { throw new UserNotLoggedIn(); @@ -230,7 +238,7 @@ class AddOnApiHelper { static async createApiKey({ siteId, }: { siteId?: string } = {}): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.post( (await getApiConfig()).API_KEY_ENDPOINT, @@ -247,7 +255,7 @@ class AddOnApiHelper { } static async listApiKeys(): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.get((await getApiConfig()).API_KEY_ENDPOINT, { headers: { @@ -259,7 +267,7 @@ class AddOnApiHelper { } static async revokeApiKey(id: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); try { await axios.delete(`${(await getApiConfig()).API_KEY_ENDPOINT}/${id}`, { @@ -276,8 +284,42 @@ class AddOnApiHelper { } } + static async createSmartComponent( + articleId: string, + attributes: { [key: string]: string | number | boolean | null | undefined }, + componentType: string, + ): Promise { + const { idToken } = await this.getIdToken(); + + try { + return ( + await axios.post( + `${(await getApiConfig()).API_KEY_ENDPOINT}/components`, + { + articleId, + attributes, + componentType, + }, + { + headers: { + Authorization: `Bearer ${idToken}`, + }, + }, + ) + ).data.id; + } catch (err) { + if ( + (err as { response: { status: number } }).response.status === + HttpStatusCode.NotFound + ) + throw new HTTPNotFound(); + + throw err; + } + } + static async createSite(url: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.post( (await getApiConfig()).SITE_ENDPOINT, @@ -296,7 +338,7 @@ class AddOnApiHelper { transferToSiteId: string | null | undefined, force: boolean, ): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.delete( queryString.stringifyUrl({ @@ -320,7 +362,7 @@ class AddOnApiHelper { }: { withConnectionStatus?: boolean; }): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.get((await getApiConfig()).SITE_ENDPOINT, { headers: { @@ -335,7 +377,7 @@ class AddOnApiHelper { } static async getSite(siteId: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.get( `${(await getApiConfig()).SITE_ENDPOINT}/${siteId}`, @@ -350,7 +392,7 @@ class AddOnApiHelper { } static async updateSite(id: string, url: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.patch( `${(await getApiConfig()).SITE_ENDPOINT}/${id}`, @@ -364,7 +406,7 @@ class AddOnApiHelper { } static async getServersideComponentSchema(id: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.get( `${(await getApiConfig()).SITE_ENDPOINT}/${id}/components`, @@ -380,7 +422,7 @@ class AddOnApiHelper { id: string, componentSchema: typeof SmartComponentMapZod, ): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.post( `${(await getApiConfig()).SITE_ENDPOINT}/${id}/components`, @@ -396,7 +438,7 @@ class AddOnApiHelper { } static async removeComponentSchema(id: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.delete( `${(await getApiConfig()).SITE_ENDPOINT}/${id}/components`, @@ -409,7 +451,7 @@ class AddOnApiHelper { } static async listAdmins(id: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); return ( await axios.get(`${(await getApiConfig()).SITE_ENDPOINT}/${id}/admins`, { @@ -421,7 +463,7 @@ class AddOnApiHelper { } static async addAdmin(id: string, email: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.patch( `${(await getApiConfig()).SITE_ENDPOINT}/${id}/admins`, @@ -437,7 +479,7 @@ class AddOnApiHelper { } static async removeAdmin(id: string, email: string): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); await axios.delete(`${(await getApiConfig()).SITE_ENDPOINT}/${id}/admins`, { headers: { @@ -463,7 +505,7 @@ class AddOnApiHelper { preferredEvents?: string[]; }, ): Promise { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const configuredWebhook = webhookUrl || webhookSecret || preferredEvents; @@ -497,7 +539,7 @@ class AddOnApiHelper { offset?: number; }, ) { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.get( `${(await getApiConfig()).SITE_ENDPOINT}/${siteId}/webhookLogs`, @@ -516,7 +558,7 @@ class AddOnApiHelper { } static async fetchAvailableWebhookEvents(siteId: string) { - const idToken = await this.getIdToken(); + const { idToken } = await this.getIdToken(); const resp = await axios.get( `${(await getApiConfig()).SITE_ENDPOINT}/${siteId}/availableWebhookEvents`, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1fd017b..01654f01 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,7 +83,7 @@ importers: version: link:../../packages/react-sample-library next: specifier: ^14.2.3 - version: 14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) + version: 14.2.3(@babel/core@7.21.8)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) react: specifier: 18.3.1 version: 18.3.1 @@ -176,6 +176,9 @@ importers: inquirer: specifier: ^8.2.6 version: 8.2.6 + node-html-parser: + specifier: ^6.1.12 + version: 6.1.13 nunjucks: specifier: ^3.2.4 version: 3.2.4(chokidar@3.6.0) @@ -340,7 +343,7 @@ importers: version: 8.1.4(@types/react-dom@18.2.18)(@types/react@18.2.47)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/nextjs': specifier: ^8.1.4 - version: 8.1.4(@jest/globals@29.7.0)(@swc/core@1.4.2)(@types/jest@29.5.1)(encoding@0.1.13)(esbuild@0.18.20)(jest@29.5.0(@types/node@20.11.21))(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1)(type-fest@3.13.1)(typescript@5.3.3)(vitest@1.3.1(@types/node@20.11.21)(sass@1.71.1))(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + version: 8.1.4(@jest/globals@29.7.0)(@swc/core@1.4.2)(@types/jest@29.5.1)(encoding@0.1.13)(esbuild@0.20.1)(jest@29.5.0(@types/node@20.11.21))(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1)(type-fest@3.13.1)(typescript@5.3.3)(vitest@1.3.1(@types/node@20.11.21)(sass@1.71.1))(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) '@storybook/react': specifier: ^8.1.4 version: 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3) @@ -643,16 +646,16 @@ importers: version: 10.4.17(postcss@8.4.35) gatsby: specifier: ^5.13.5 - version: 5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + version: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) gatsby-plugin-mdx: specifier: ^5.13.1 - version: 5.13.1(@mdx-js/react@2.3.0(react@18.3.1))(gatsby-source-filesystem@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)))(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.13.1(@mdx-js/react@2.3.0(react@18.3.1))(gatsby-source-filesystem@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)))(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) gatsby-plugin-postcss: specifier: ^6.13.1 - version: 6.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3) + version: 6.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3) gatsby-source-filesystem: specifier: ^5.13.1 - version: 5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) + version: 5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) postcss: specifier: ^8.4.35 version: 8.4.35 @@ -768,7 +771,7 @@ importers: version: 2.7.0(@types/react@18.2.60)(react@18.3.1) next: specifier: ^14.2.3 - version: 14.2.3(@babel/core@7.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) + version: 14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) query-string: specifier: ^8.2.0 version: 8.2.0 @@ -847,10 +850,10 @@ importers: version: 2.7.0(@types/react@18.2.60)(react@18.3.1) next: specifier: 14.2.3 - version: 14.2.3(@babel/core@7.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) + version: 14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) next-seo: specifier: ^5.15.0 - version: 5.15.0(next@14.2.3(@babel/core@7.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.15.0(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) query-string: specifier: ^8.2.0 version: 8.2.0 @@ -10839,6 +10842,9 @@ packages: node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} + node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -18738,7 +18744,7 @@ snapshots: '@pkgr/core@0.1.1': {} - '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1))': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -18750,7 +18756,7 @@ snapshots: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) optionalDependencies: type-fest: 3.13.1 webpack-hot-middleware: 2.26.1 @@ -19550,7 +19556,7 @@ snapshots: - prettier - supports-color - '@storybook/builder-webpack5@8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.18.20)(prettier@3.2.5)(typescript@5.3.3)': + '@storybook/builder-webpack5@8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.20.1)(prettier@3.2.5)(typescript@5.3.3)': dependencies: '@storybook/channels': 8.1.4 '@storybook/client-logger': 8.1.4 @@ -19566,24 +19572,24 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.2.3 constants-browserify: 1.0.0 - css-loader: 6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + css-loader: 6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) es-module-lexer: 1.5.3 express: 4.18.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + html-webpack-plugin: 5.6.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) magic-string: 0.30.7 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.0 - style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) - terser-webpack-plugin: 5.3.10(@swc/core@1.4.2)(esbuild@0.18.20)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.2)(esbuild@0.20.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) ts-dedent: 2.2.0 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) - webpack-dev-middleware: 7.2.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) + webpack-dev-middleware: 7.2.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 optionalDependencies: @@ -19974,7 +19980,7 @@ snapshots: '@storybook/manager@8.1.4': {} - '@storybook/nextjs@8.1.4(@jest/globals@29.7.0)(@swc/core@1.4.2)(@types/jest@29.5.1)(encoding@0.1.13)(esbuild@0.18.20)(jest@29.5.0(@types/node@20.11.21))(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1)(type-fest@3.13.1)(typescript@5.3.3)(vitest@1.3.1(@types/node@20.11.21)(sass@1.71.1))(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20))': + '@storybook/nextjs@8.1.4(@jest/globals@29.7.0)(@swc/core@1.4.2)(@types/jest@29.5.1)(encoding@0.1.13)(esbuild@0.20.1)(jest@29.5.0(@types/node@20.11.21))(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1)(type-fest@3.13.1)(typescript@5.3.3)(vitest@1.3.1(@types/node@20.11.21)(sass@1.71.1))(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1))': dependencies: '@babel/core': 7.24.6 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.6) @@ -19989,36 +19995,36 @@ snapshots: '@babel/preset-react': 7.24.6(@babel/core@7.24.6) '@babel/preset-typescript': 7.24.6(@babel/core@7.24.6) '@babel/runtime': 7.24.6 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) - '@storybook/builder-webpack5': 8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.18.20)(prettier@3.2.5)(typescript@5.3.3) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) + '@storybook/builder-webpack5': 8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.20.1)(prettier@3.2.5)(typescript@5.3.3) '@storybook/core-common': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@storybook/core-events': 8.1.4 '@storybook/node-logger': 8.1.4 - '@storybook/preset-react-webpack': 8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.18.20)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3) + '@storybook/preset-react-webpack': 8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.20.1)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3) '@storybook/preview-api': 8.1.4 '@storybook/react': 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3) '@storybook/test': 8.1.4(@jest/globals@29.7.0)(@types/jest@29.5.1)(jest@29.5.0(@types/node@20.11.21))(vitest@1.3.1(@types/node@20.11.21)(sass@1.71.1)) '@storybook/types': 8.1.4 '@types/node': 18.16.9 '@types/semver': 7.5.8 - babel-loader: 9.1.3(@babel/core@7.24.6)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) - css-loader: 6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + babel-loader: 9.1.3(@babel/core@7.24.6)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) + css-loader: 6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) find-up: 5.0.0 fs-extra: 11.2.0 image-size: 1.1.1 loader-utils: 3.2.1 next: 14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) pnp-webpack-plugin: 1.7.0(typescript@5.3.3) postcss: 8.4.38 - postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-refresh: 0.14.0 resolve-url-loader: 5.0.0 - sass-loader: 12.6.0(sass@1.71.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + sass-loader: 12.6.0(sass@1.71.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) semver: 7.6.0 - style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) styled-jsx: 5.1.1(@babel/core@7.24.6)(react@18.3.1) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 @@ -20026,7 +20032,7 @@ snapshots: optionalDependencies: sharp: 0.33.4 typescript: 5.3.3 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) transitivePeerDependencies: - '@jest/globals' - '@rspack/core' @@ -20057,13 +20063,13 @@ snapshots: '@storybook/node-logger@8.1.4': {} - '@storybook/preset-react-webpack@8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.18.20)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3)': + '@storybook/preset-react-webpack@8.1.4(@swc/core@1.4.2)(encoding@0.1.13)(esbuild@0.20.1)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3)': dependencies: '@storybook/core-webpack': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@storybook/docs-tools': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@storybook/node-logger': 8.1.4 '@storybook/react': 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.3.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) '@types/node': 18.16.9 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -20075,7 +20081,7 @@ snapshots: resolve: 1.22.8 semver: 7.6.0 tsconfig-paths: 4.2.0 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) optionalDependencies: typescript: 5.3.3 transitivePeerDependencies: @@ -20106,7 +20112,7 @@ snapshots: '@storybook/preview@8.1.4': {} - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1))': dependencies: debug: 4.3.4 endent: 2.1.0 @@ -20116,7 +20122,7 @@ snapshots: react-docgen-typescript: 2.2.2(typescript@5.3.3) tslib: 2.6.2 typescript: 5.3.3 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) transitivePeerDependencies: - supports-color @@ -22139,6 +22145,18 @@ snapshots: transitivePeerDependencies: - supports-color + babel-eslint@10.1.0(eslint@8.57.0): + dependencies: + '@babel/code-frame': 7.24.6 + '@babel/parser': 7.24.6 + '@babel/traverse': 7.24.6 + '@babel/types': 7.24.6 + eslint: 8.57.0 + eslint-visitor-keys: 1.3.0 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + babel-jest@29.7.0(@babel/core@7.21.8): dependencies: '@babel/core': 7.21.8 @@ -22170,12 +22188,12 @@ snapshots: schema-utils: 4.2.0 webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.17.19) - babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + babel-loader@9.1.3(@babel/core@7.24.6)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: '@babel/core': 7.24.6 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) babel-plugin-add-module-exports@1.0.4: {} @@ -22286,6 +22304,14 @@ snapshots: gatsby: 5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) gatsby-core-utils: 4.13.1 + babel-plugin-remove-graphql-queries@5.13.1(@babel/core@7.21.8)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)): + dependencies: + '@babel/core': 7.21.8 + '@babel/runtime': 7.24.6 + '@babel/types': 7.24.6 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + gatsby-core-utils: 4.13.1 + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} babel-plugin-transform-react-remove-prop-types@0.4.24: {} @@ -23324,7 +23350,7 @@ snapshots: semver: 7.6.0 webpack: 5.90.3 - css-loader@6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + css-loader@6.10.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -23335,7 +23361,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.0 optionalDependencies: - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) css-minimizer-webpack-plugin@2.0.0(webpack@5.90.3): dependencies: @@ -24263,8 +24289,8 @@ snapshots: '@typescript-eslint/parser': 6.21.0(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.21.0(eslint@8.57.0)(typescript@5.3.3))(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@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(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) @@ -24281,8 +24307,8 @@ snapshots: '@typescript-eslint/parser': 5.59.5(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(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@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(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) @@ -24311,6 +24337,21 @@ snapshots: optionalDependencies: typescript: 5.4.5 + eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0)(typescript@5.4.5))(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(babel-eslint@10.1.0(eslint@8.57.0))(eslint-plugin-flowtype@5.10.0(eslint@7.32.0))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0))(eslint-plugin-jsx-a11y@6.8.0(eslint@7.32.0))(eslint-plugin-react-hooks@4.6.0(eslint@7.32.0))(eslint-plugin-react@7.33.2(eslint@7.32.0))(eslint@7.32.0)(typescript@5.4.5): + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0)(typescript@5.4.5) + '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.4.5) + babel-eslint: 10.1.0(eslint@8.57.0) + confusing-browser-globals: 1.0.11 + eslint: 7.32.0 + eslint-plugin-flowtype: 5.10.0(eslint@7.32.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@7.32.0) + eslint-plugin-react: 7.33.2(eslint@7.32.0) + eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) + optionalDependencies: + typescript: 5.4.5 + eslint-config-turbo@1.12.4(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -24324,13 +24365,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.15.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -24341,13 +24382,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.15.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -24358,14 +24399,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.59.5(eslint@8.57.0)(typescript@5.4.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -24379,14 +24420,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.21.0(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.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -24396,7 +24437,7 @@ snapshots: lodash: 4.17.21 string-natural-compare: 3.0.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.4 @@ -24406,7 +24447,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.59.5(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -24450,6 +24491,33 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + dependencies: + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.4 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + hasown: 2.0.1 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.2 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-jsx-a11y@6.8.0(eslint@7.32.0): dependencies: '@babel/runtime': 7.24.0 @@ -25148,7 +25216,7 @@ snapshots: optionalDependencies: eslint: 7.32.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: '@babel/code-frame': 7.24.6 chalk: 4.1.2 @@ -25163,7 +25231,7 @@ snapshots: semver: 7.6.0 tapable: 2.2.1 typescript: 5.3.3 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) form-data-encoder@2.1.4: {} @@ -25395,6 +25463,36 @@ snapshots: - graphql - supports-color + gatsby-plugin-mdx@5.13.1(@mdx-js/react@2.3.0(react@18.3.1))(gatsby-source-filesystem@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)))(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@mdx-js/mdx': 2.3.0 + '@mdx-js/react': 2.3.0(react@18.3.1) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + astring: 1.8.6 + deepmerge: 4.3.1 + estree-util-build-jsx: 2.2.2 + fs-extra: 11.2.0 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + gatsby-core-utils: 4.13.1 + gatsby-plugin-utils: 4.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1) + gatsby-source-filesystem: 5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) + gray-matter: 4.0.3 + mdast-util-mdx: 2.0.1 + mdast-util-to-hast: 10.2.0 + mdast-util-to-markdown: 1.5.0 + mdast-util-toc: 6.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-infer-description-meta: 1.1.0 + remark-unwrap-images: 3.0.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - graphql + - supports-color + gatsby-plugin-page-creator@5.13.1(encoding@0.1.13)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1): dependencies: '@babel/runtime': 7.24.6 @@ -25415,6 +25513,26 @@ snapshots: - graphql - supports-color + gatsby-plugin-page-creator@5.13.1(encoding@0.1.13)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1): + dependencies: + '@babel/runtime': 7.24.6 + '@babel/traverse': 7.24.6 + '@sindresorhus/slugify': 1.1.2 + chokidar: 3.6.0 + fs-exists-cached: 1.0.0 + fs-extra: 11.2.0 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + gatsby-core-utils: 4.13.1 + gatsby-page-utils: 3.13.1 + gatsby-plugin-utils: 4.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1) + gatsby-telemetry: 4.13.1(encoding@0.1.13) + globby: 11.1.0 + lodash: 4.17.21 + transitivePeerDependencies: + - encoding + - graphql + - supports-color + gatsby-plugin-postcss@6.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3): dependencies: '@babel/runtime': 7.24.0 @@ -25425,6 +25543,16 @@ snapshots: - typescript - webpack + gatsby-plugin-postcss@6.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3): + dependencies: + '@babel/runtime': 7.24.0 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + postcss: 8.4.35 + postcss-loader: 7.3.4(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3) + transitivePeerDependencies: + - typescript + - webpack + gatsby-plugin-typescript@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)): dependencies: '@babel/core': 7.21.8 @@ -25438,6 +25566,19 @@ snapshots: transitivePeerDependencies: - supports-color + gatsby-plugin-typescript@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)): + dependencies: + '@babel/core': 7.21.8 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) + '@babel/runtime': 7.24.6 + babel-plugin-remove-graphql-queries: 5.13.1(@babel/core@7.21.8)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + transitivePeerDependencies: + - supports-color + gatsby-plugin-utils@4.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@7.32.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1): dependencies: '@babel/runtime': 7.24.0 @@ -25452,6 +25593,20 @@ snapshots: joi: 17.12.2 mime: 3.0.0 + gatsby-plugin-utils@4.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1): + dependencies: + '@babel/runtime': 7.24.0 + fastq: 1.17.1 + fs-extra: 11.2.0 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + gatsby-core-utils: 4.13.1 + gatsby-sharp: 1.13.0 + graphql: 16.8.1 + graphql-compose: 9.0.10(graphql@16.8.1) + import-from: 4.0.0 + joi: 17.12.2 + mime: 3.0.0 + gatsby-react-router-scroll@6.13.1(@gatsbyjs/reach-router@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.24.6 @@ -25483,6 +25638,19 @@ snapshots: valid-url: 1.0.9 xstate: 4.38.3 + gatsby-source-filesystem@5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)): + dependencies: + '@babel/runtime': 7.24.0 + chokidar: 3.6.0 + file-type: 16.5.4 + fs-extra: 11.2.0 + gatsby: 5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1) + gatsby-core-utils: 4.13.1 + mime: 3.0.0 + pretty-bytes: 5.6.0 + valid-url: 1.0.9 + xstate: 4.38.3 + gatsby-telemetry@4.13.1(encoding@0.1.13): dependencies: '@babel/code-frame': 7.24.6 @@ -25707,6 +25875,204 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve + gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1): + dependencies: + '@babel/code-frame': 7.24.6 + '@babel/core': 7.21.8 + '@babel/eslint-parser': 7.23.10(@babel/core@7.21.8)(eslint@7.32.0) + '@babel/helper-plugin-utils': 7.24.6 + '@babel/parser': 7.24.6 + '@babel/runtime': 7.24.6 + '@babel/traverse': 7.24.6 + '@babel/types': 7.24.6 + '@builder.io/partytown': 0.7.6 + '@gatsbyjs/reach-router': 2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@gatsbyjs/webpack-hot-middleware': 2.25.3 + '@graphql-codegen/add': 3.2.3(graphql@16.8.1) + '@graphql-codegen/core': 2.6.8(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.1) + '@graphql-codegen/typescript': 2.8.8(encoding@0.1.13)(graphql@16.8.1) + '@graphql-codegen/typescript-operations': 2.5.13(encoding@0.1.13)(graphql@16.8.1) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.21.8)(graphql@16.8.1) + '@graphql-tools/load': 7.8.14(graphql@16.8.1) + '@jridgewell/trace-mapping': 0.3.25 + '@nodelib/fs.walk': 1.2.8 + '@parcel/cache': 2.8.3(@parcel/core@2.8.3) + '@parcel/core': 2.8.3 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(type-fest@3.13.1)(webpack-hot-middleware@2.26.1)(webpack@5.90.3) + '@sigmacomputing/babel-plugin-lodash': 3.3.5 + '@types/http-proxy': 1.17.14 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0)(typescript@5.4.5) + '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.4.5) + '@vercel/webpack-asset-relocator-loader': 1.7.3 + acorn-loose: 8.4.0 + acorn-walk: 8.3.2 + address: 1.2.2 + anser: 2.1.1 + autoprefixer: 10.4.17(postcss@8.4.38) + axios: 0.21.4(debug@4.3.4) + babel-jsx-utils: 1.1.0 + babel-loader: 8.3.0(@babel/core@7.21.8)(webpack@5.90.3) + babel-plugin-add-module-exports: 1.0.4 + babel-plugin-dynamic-import-node: 2.3.3 + babel-plugin-remove-graphql-queries: 5.13.1(@babel/core@7.21.8)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) + babel-preset-gatsby: 3.13.2(@babel/core@7.21.8)(core-js@3.36.0) + better-opn: 2.1.1 + bluebird: 3.7.2 + body-parser: 1.20.1 + browserslist: 4.23.0 + cache-manager: 2.11.1 + chalk: 4.1.2 + chokidar: 3.6.0 + common-tags: 1.8.2 + compression: 1.7.4 + cookie: 0.5.0 + core-js: 3.36.0 + cors: 2.8.5 + css-loader: 5.2.7(webpack@5.90.3) + css-minimizer-webpack-plugin: 2.0.0(webpack@5.90.3) + css.escape: 1.5.1 + date-fns: 2.30.0 + debug: 4.3.4 + deepmerge: 4.3.1 + detect-port: 1.5.1 + devcert: 1.2.2 + dotenv: 8.6.0 + enhanced-resolve: 5.15.1 + error-stack-parser: 2.1.4 + eslint: 7.32.0 + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0)(typescript@5.4.5))(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(babel-eslint@10.1.0(eslint@8.57.0))(eslint-plugin-flowtype@5.10.0(eslint@7.32.0))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0))(eslint-plugin-jsx-a11y@6.8.0(eslint@7.32.0))(eslint-plugin-react-hooks@4.6.0(eslint@7.32.0))(eslint-plugin-react@7.33.2(eslint@7.32.0))(eslint@7.32.0)(typescript@5.4.5) + eslint-plugin-flowtype: 5.10.0(eslint@7.32.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.4.5))(eslint@7.32.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@7.32.0) + eslint-plugin-react: 7.33.2(eslint@7.32.0) + eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) + eslint-webpack-plugin: 2.7.0(eslint@7.32.0)(webpack@5.90.3) + event-source-polyfill: 1.0.31 + execa: 5.1.1 + express: 4.18.2 + express-http-proxy: 1.6.3 + fastest-levenshtein: 1.0.16 + fastq: 1.17.1 + file-loader: 6.2.0(webpack@5.90.3) + find-cache-dir: 3.3.2 + fs-exists-cached: 1.0.0 + fs-extra: 11.2.0 + gatsby-cli: 5.13.3(encoding@0.1.13) + gatsby-core-utils: 4.13.1 + gatsby-graphiql-explorer: 3.13.1 + gatsby-legacy-polyfills: 3.13.1 + gatsby-link: 5.13.1(@gatsbyjs/reach-router@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + gatsby-page-utils: 3.13.1 + gatsby-parcel-config: 1.13.1(@parcel/core@2.8.3) + gatsby-plugin-page-creator: 5.13.1(encoding@0.1.13)(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1) + gatsby-plugin-typescript: 5.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1)) + gatsby-plugin-utils: 4.13.1(gatsby@5.13.5(babel-eslint@10.1.0(eslint@8.57.0))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(type-fest@3.13.1)(typescript@5.4.5)(webpack-hot-middleware@2.26.1))(graphql@16.8.1) + gatsby-react-router-scroll: 6.13.1(@gatsbyjs/reach-router@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + gatsby-script: 2.13.0(@gatsbyjs/reach-router@2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + gatsby-telemetry: 4.13.1(encoding@0.1.13) + gatsby-worker: 2.13.1 + glob: 7.2.3 + globby: 11.1.0 + got: 11.8.6 + graphql: 16.8.1 + graphql-compose: 9.0.10(graphql@16.8.1) + graphql-http: 1.22.0(graphql@16.8.1) + graphql-tag: 2.12.6(graphql@16.8.1) + hasha: 5.2.2 + invariant: 2.2.4 + is-relative: 1.0.0 + is-relative-url: 3.0.0 + joi: 17.12.2 + json-loader: 0.5.7 + latest-version: 7.0.0 + linkfs: 2.1.0 + lmdb: 2.5.3 + lodash: 4.17.21 + meant: 1.0.3 + memoizee: 0.4.15 + micromatch: 4.0.5 + mime: 3.0.0 + mini-css-extract-plugin: 1.6.2(webpack@5.90.3) + mitt: 1.2.0 + moment: 2.30.1 + multer: 1.4.5-lts.1 + node-fetch: 2.7.0(encoding@0.1.13) + node-html-parser: 5.4.2 + normalize-path: 3.0.0 + null-loader: 4.0.1(webpack@5.90.3) + opentracing: 0.14.7 + p-defer: 3.0.0 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + physical-cpu-count: 2.0.0 + platform: 1.3.6 + postcss: 8.4.38 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.38) + postcss-loader: 5.3.0(postcss@8.4.38)(webpack@5.90.3) + prompts: 2.4.2 + prop-types: 15.8.1 + query-string: 6.14.1 + raw-loader: 4.0.2(webpack@5.90.3) + react: 18.3.1 + react-dev-utils: 12.0.1(eslint@7.32.0)(typescript@5.4.5)(webpack@5.90.3) + react-dom: 18.3.1(react@18.3.1) + react-refresh: 0.14.0 + react-server-dom-webpack: 0.0.0-experimental-c8b778b7f-20220825(react@18.3.1)(webpack@5.90.3) + redux: 4.2.1 + redux-thunk: 2.4.2(redux@4.2.1) + resolve-from: 5.0.0 + semver: 7.6.0 + shallow-compare: 1.2.2 + signal-exit: 3.0.7 + slugify: 1.6.6 + socket.io: 4.7.1 + socket.io-client: 4.7.1 + stack-trace: 0.0.10 + string-similarity: 1.2.2 + strip-ansi: 6.0.1 + style-loader: 2.0.0(webpack@5.90.3) + style-to-object: 0.4.4 + terser-webpack-plugin: 5.3.10(webpack@5.90.3) + tmp: 0.2.2 + true-case-path: 2.2.1 + type-of: 2.0.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.90.3))(webpack@5.90.3) + uuid: 8.3.2 + webpack: 5.90.3 + webpack-dev-middleware: 7.2.1(webpack@5.90.3) + webpack-merge: 5.10.0 + webpack-stats-plugin: 1.1.3 + webpack-virtual-modules: 0.5.0 + xstate: 4.38.3 + yaml-loader: 0.8.1 + optionalDependencies: + gatsby-sharp: 1.13.0 + transitivePeerDependencies: + - '@swc/core' + - '@types/webpack' + - babel-eslint + - bufferutil + - clean-css + - csso + - encoding + - esbuild + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - eslint-plugin-jest + - eslint-plugin-testing-library + - sockjs-client + - supports-color + - type-fest + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + gauge@3.0.2: dependencies: aproba: 2.0.0 @@ -26297,7 +26663,7 @@ snapshots: html-void-elements@2.0.1: {} - html-webpack-plugin@5.6.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + html-webpack-plugin@5.6.0(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -26305,7 +26671,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) htmlparser2@6.1.0: dependencies: @@ -28623,6 +28989,12 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + next-seo@5.15.0(next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + next: 14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + next-tick@1.1.0: {} next@14.2.3(@babel/core@7.21.8)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1): @@ -28630,7 +29002,7 @@ snapshots: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001624 + caniuse-lite: 1.0.30001591 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -28656,7 +29028,7 @@ snapshots: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001624 + caniuse-lite: 1.0.30001591 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -28678,32 +29050,6 @@ snapshots: - babel-plugin-macros next@14.2.3(@babel/core@7.24.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1): - dependencies: - '@next/env': 14.2.3 - '@swc/helpers': 0.5.5 - busboy: 1.6.0 - caniuse-lite: 1.0.30001624 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.24.6)(react@18.3.1) - optionalDependencies: - '@next/swc-darwin-arm64': 14.2.3 - '@next/swc-darwin-x64': 14.2.3 - '@next/swc-linux-arm64-gnu': 14.2.3 - '@next/swc-linux-arm64-musl': 14.2.3 - '@next/swc-linux-x64-gnu': 14.2.3 - '@next/swc-linux-x64-musl': 14.2.3 - '@next/swc-win32-arm64-msvc': 14.2.3 - '@next/swc-win32-ia32-msvc': 14.2.3 - '@next/swc-win32-x64-msvc': 14.2.3 - sass: 1.71.1 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.71.1): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -28713,7 +29059,7 @@ snapshots: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.21.8)(babel-plugin-macros@3.1.0)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.24.6)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.3 '@next/swc-darwin-x64': 14.2.3 @@ -28878,11 +29224,16 @@ snapshots: css-select: 4.3.0 he: 1.2.0 + node-html-parser@6.1.13: + dependencies: + css-select: 5.1.0 + he: 1.2.0 + node-int64@0.4.0: {} node-object-hash@2.3.10: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + node-polyfill-webpack-plugin@2.0.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -28909,7 +29260,7 @@ snapshots: url: 0.11.3 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) node-releases@2.0.14: {} @@ -29762,14 +30113,14 @@ snapshots: transitivePeerDependencies: - typescript - postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.3.3)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: cosmiconfig: 9.0.0(typescript@5.3.3) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 optionalDependencies: - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) transitivePeerDependencies: - typescript @@ -31007,11 +31358,11 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.6.0(sass@1.71.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + sass-loader@12.6.0(sass@1.71.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) optionalDependencies: sass: 1.71.1 @@ -31625,9 +31976,9 @@ snapshots: schema-utils: 3.3.0 webpack: 5.90.3 - style-loader@3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + style-loader@3.3.4(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) style-to-object@0.4.4: dependencies: @@ -31847,17 +32198,17 @@ snapshots: '@swc/core': 1.4.2 esbuild: 0.17.19 - terser-webpack-plugin@5.3.10(@swc/core@1.4.2)(esbuild@0.18.20)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + terser-webpack-plugin@5.3.10(@swc/core@1.4.2)(esbuild@0.20.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.28.1 - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) optionalDependencies: '@swc/core': 1.4.2 - esbuild: 0.18.20 + esbuild: 0.20.1 terser-webpack-plugin@5.3.10(webpack@5.90.3): dependencies: @@ -33098,7 +33449,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.2.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)): + webpack-dev-middleware@7.2.1(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)): dependencies: colorette: 2.0.20 memfs: 4.9.2 @@ -33107,7 +33458,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.18.20) + webpack: 5.90.3(@swc/core@1.4.2)(esbuild@0.20.1) webpack-dev-middleware@7.2.1(webpack@5.90.3): dependencies: @@ -33207,7 +33558,7 @@ snapshots: - esbuild - uglify-js - webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20): + webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -33230,7 +33581,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.2)(esbuild@0.18.20)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.18.20)) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.2)(esbuild@0.20.1)(webpack@5.90.3(@swc/core@1.4.2)(esbuild@0.20.1)) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: