diff --git a/libs/shared/src/entities/messages/action.enum.ts b/libs/shared/src/entities/messages/action.enum.ts index 0f8033f836b..3b47f2e5039 100644 --- a/libs/shared/src/entities/messages/action.enum.ts +++ b/libs/shared/src/entities/messages/action.enum.ts @@ -1,5 +1,4 @@ export enum ButtonTypeEnum { PRIMARY = 'primary', SECONDARY = 'secondary', - CLICKED = 'clicked', } diff --git a/packages/client/src/api/api.service.ts b/packages/client/src/api/api.service.ts index 6cf3cd74f08..1ace0890580 100644 --- a/packages/client/src/api/api.service.ts +++ b/packages/client/src/api/api.service.ts @@ -5,6 +5,7 @@ import { IPaginatedResponse, ISessionDto, INotificationDto, + MarkMessagesAsEnum, } from '@novu/shared'; import { HttpClient } from '../http-client'; import { @@ -43,6 +44,12 @@ export class ApiService { } } + private removeNullUndefined(obj) { + return Object.fromEntries( + Object.entries(obj).filter(([_, value]) => value != null) + ); + } + setAuthorizationToken(token: string) { this.httpClient.setAuthorizationToken(token); @@ -57,10 +64,10 @@ export class ApiService { async updateAction( messageId: string, - executedType: ButtonTypeEnum, - status: MessageActionStatusEnum, + executedType: `${ButtonTypeEnum}`, + status: `${MessageActionStatusEnum}`, payload?: Record<string, unknown> - ): Promise<any> { + ): Promise<INotificationDto> { return await this.httpClient.post( `/widgets/messages/${messageId}/actions/${executedType}`, { @@ -71,6 +78,9 @@ export class ApiService { ); } + /** + * @deprecated use markMessagesAs instead + */ async markMessageAs( messageId: string | string[], mark: { seen?: boolean; read?: boolean } @@ -86,6 +96,19 @@ export class ApiService { }); } + async markMessagesAs({ + messageId, + markAs, + }: { + messageId: string | string[]; + markAs: `${MarkMessagesAsEnum}`; + }): Promise<INotificationDto[]> { + return await this.httpClient.post(`/widgets/messages/mark-as`, { + messageId, + markAs, + }); + } + async removeMessage(messageId: string): Promise<any> { return await this.httpClient.delete(`/widgets/messages/${messageId}`, {}); } @@ -104,13 +127,13 @@ export class ApiService { return await this.httpClient.delete(url); } - async markAllMessagesAsRead(feedId?: string | string[]): Promise<any> { + async markAllMessagesAsRead(feedId?: string | string[]): Promise<number> { return await this.httpClient.post(`/widgets/messages/read`, { feedId, }); } - async markAllMessagesAsSeen(feedId?: string | string[]): Promise<any> { + async markAllMessagesAsSeen(feedId?: string | string[]): Promise<number> { return await this.httpClient.post(`/widgets/messages/seen`, { feedId, }); @@ -154,17 +177,21 @@ export class ApiService { }); } - async getUnseenCount(query: IUnseenCountQuery = {}) { + async getUnseenCount( + query: IUnseenCountQuery = {} + ): Promise<{ count: number }> { return await this.httpClient.get( '/widgets/notifications/unseen', - query as unknown as CustomDataType + this.removeNullUndefined(query) as unknown as CustomDataType ); } - async getUnreadCount(query: IUnreadCountQuery = {}) { + async getUnreadCount( + query: IUnreadCountQuery = {} + ): Promise<{ count: number }> { return await this.httpClient.get( '/widgets/notifications/unread', - query as unknown as CustomDataType + this.removeNullUndefined(query) as unknown as CustomDataType ); } diff --git a/packages/js/package.json b/packages/js/package.json index 24d6c808bc7..96d264cbbda 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -5,25 +5,27 @@ "description": "Novu's JavaScript SDK for building custom inbox notification experiences", "author": "", "license": "ISC", - "main": "dist/index.cjs", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.js", + "types": "dist/esm/index.d.ts", "type": "module", "exports": { ".": { "import": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" }, "require": { - "types": "./dist/index.d.cts", - "default": "./dist/index.cjs" + "types": "./dist/cjs/index.d.cts", + "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" }, "files": [ - "dist/*" + "dist/*", + "dist/esm/*", + "dist/cjs/*" ], "sideEffects": false, "private": true, @@ -35,22 +37,19 @@ "test": "jest" }, "devDependencies": { - "@size-limit/esbuild": "^11.1.4", - "@size-limit/file": "^11.1.4", "@types/jest": "^29.2.3", "@types/node": "^18.11.12", "bytes-iec": "^3.1.1", "chalk": "^5.3.0", "esbuild-plugin-compress": "^1.0.1", "jest": "^29.3.1", - "size-limit": "^11.1.4", + "tiny-glob": "^0.2.9", "ts-jest": "^29.0.3", "tsup": "^8.0.2", "typescript": "4.9.5" }, "dependencies": { "@novu/client": "workspace:*", - "@novu/shared": "workspace:*", "mitt": "^3.0.1" } } diff --git a/packages/js/scripts/size-limit.js b/packages/js/scripts/size-limit.js index 35fac525141..5889f518c55 100644 --- a/packages/js/scripts/size-limit.js +++ b/packages/js/scripts/size-limit.js @@ -1,75 +1,68 @@ +import fs from 'fs/promises'; import path from 'path'; -import sizeLimit from 'size-limit'; -import filePlugin from '@size-limit/file'; -import esbuildPlugin from '@size-limit/esbuild'; -import bytes from "bytes-iec" -import chalk from "chalk" +import bytes from 'bytes-iec'; +import chalk from 'chalk'; -const LIMIT = '10 kb'; -const LIMIT_IN_BYTES = 10_000; const baseDir = process.cwd(); -const esmPath = path.resolve(baseDir, './dist/index.js'); -const cjsPath = path.resolve(baseDir, './dist/index.cjs'); const umdPath = path.resolve(baseDir, './dist/novu.min.js'); +const umdGzipPath = path.resolve(baseDir, './dist/novu.min.js.gz'); const formatBytes = (size) => { - return bytes.format(size, { unitSeparator: " " }) -} + return bytes.format(size, { unitSeparator: ' ' }); +}; -const checks = [ - { - name: 'ESM', - path: esmPath, - limit: LIMIT, - files: [esmPath], - sizeLimit: LIMIT_IN_BYTES, - }, +const modules = [ { - name: 'CJS', - path: cjsPath, - limit: LIMIT, - files: [cjsPath], - sizeLimit: LIMIT_IN_BYTES, + name: 'UMD minified', + filePath: umdPath, + limit: '10 kb', + limitInBytes: 20_000, }, { - name: 'UMD', - path: umdPath, - limit: LIMIT, - files: [umdPath], - sizeLimit: LIMIT_IN_BYTES, + name: 'UMD gzip', + filePath: umdGzipPath, + limit: '10 kb', + limitInBytes: 10_000, }, ]; -const config = { - cwd: process.cwd(), - checks, +const checkFiles = async () => { + const result = []; + for (const module of modules) { + const { name, filePath, limitInBytes } = module; + const stats = await fs.stat(filePath); + const passed = stats.size <= limitInBytes; + result.push({ name, passed, size: formatBytes(stats.size), limit: formatBytes(limitInBytes) }); + } + + return result; }; const calculateSizes = async () => { - console.log(chalk.gray("Checking the build dist files...")); - - const results = await sizeLimit([filePlugin, esbuildPlugin], config); - if (config.failed) { - console.log(chalk.bold.red("\nThe build has reached the dist files size limits! 🚨\n")); + console.log(chalk.gray('🚧 Checking the build dist files...\n')); - results.filter((_, index) => { - const check = checks[index] - const { passed } = check + const checks = await checkFiles(); + const anyFailed = checks.some((check) => !check.passed); - return !passed; - }).forEach((result, index) => { - const check = checks[index] - const { size } = result - const { name } = check + checks.forEach((check) => { + const { name, passed, size, limit } = check; + if (!passed) { console.log(chalk.yellow(`The ${name} file has failed the size limit.`)); - console.log(chalk.yellow(`Current size is "${formatBytes(size)}" and the limit is "${check.limit}".\n`)); - }) + console.log(chalk.yellow(`Current size is "${size}" and the limit is "${limit}".\n`)); + } else { + console.log(chalk.green(`The ${name} file has passed the size limit.`)); + console.log(chalk.green(`Current size is "${size}" and the limit is "${limit}".\n`)); + } + }); + + if (anyFailed) { + console.log(chalk.bold.red('\nThe build has reached the dist files size limits! 🚨\n')); process.exit(1); } else { - console.log(chalk.green("All good! 🙌")); + console.log(chalk.green('All good! 🙌')); } -} +}; calculateSizes(); diff --git a/packages/js/src/utils/base-module.ts b/packages/js/src/base-module.ts similarity index 79% rename from packages/js/src/utils/base-module.ts rename to packages/js/src/base-module.ts index fe170266a46..5096c121bf5 100644 --- a/packages/js/src/utils/base-module.ts +++ b/packages/js/src/base-module.ts @@ -1,5 +1,7 @@ -import { ApiService } from 'client/dist/cjs'; -import { NovuEventEmitter } from '../event-emitter'; +import { ApiService } from '@novu/client'; + +import { NovuEventEmitter } from './event-emitter'; +import { ApiServiceSingleton } from './utils/api-service-singleton'; interface CallQueueItem { fn: () => Promise<unknown>; @@ -14,9 +16,9 @@ export class BaseModule { #callsQueue: CallQueueItem[] = []; #sessionError: unknown; - constructor(emitter: NovuEventEmitter, apiService: ApiService) { - this._emitter = emitter; - this._apiService = apiService; + constructor() { + this._emitter = NovuEventEmitter.getInstance(); + this._apiService = ApiServiceSingleton.getInstance(); this._emitter.on('session.initialize.success', () => { this.#callsQueue.forEach(async ({ fn, resolve }) => { resolve(await fn()); diff --git a/packages/js/src/event-emitter/novu-event-emitter.ts b/packages/js/src/event-emitter/novu-event-emitter.ts index 2ddf0b3cec7..c3d82fc6f4b 100644 --- a/packages/js/src/event-emitter/novu-event-emitter.ts +++ b/packages/js/src/event-emitter/novu-event-emitter.ts @@ -1,23 +1,34 @@ import mitt, { Emitter } from 'mitt'; -import { Events, EventHandler, EventNames } from './types'; +import { EventHandler, Events, EventNames } from './types'; + +type SingletonOptions = { recreate: true }; export class NovuEventEmitter { - private emitter: Emitter<Events>; + static #instance: NovuEventEmitter; + #mittEmitter: Emitter<Events>; + + static getInstance(options?: SingletonOptions): NovuEventEmitter { + if (options?.recreate) { + NovuEventEmitter.#instance = new NovuEventEmitter(); + } + + return NovuEventEmitter.#instance; + } - constructor() { - this.emitter = mitt(); + private constructor() { + this.#mittEmitter = mitt(); } on<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void { - this.emitter.on(eventName, listener); + this.#mittEmitter.on(eventName, listener); } off<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void { - this.emitter.on(eventName, listener); + this.#mittEmitter.on(eventName, listener); } emit<Key extends EventNames>(type: Key, event?: Events[Key]): void { - this.emitter.emit(type, event); + this.#mittEmitter.emit(type, event as Events[Key]); } } diff --git a/packages/js/src/event-emitter/types.ts b/packages/js/src/event-emitter/types.ts index 92da9efdcce..4ab5c85c07c 100644 --- a/packages/js/src/event-emitter/types.ts +++ b/packages/js/src/event-emitter/types.ts @@ -1,19 +1,120 @@ -import { ISessionDto } from '@novu/shared'; -import { Notification } from '../feeds/notification'; +import type { + FetchCountArgs, + FetchFeedArgs, + MarkNotificationAsArgs, + MarkAllNotificationsAsArgs, + MarkNotificationsAsArgs, + MarkNotificationActionAsArgs, + Notification, + RemoveNotificationArgs, + RemoveAllNotificationsArgs, + RemoveNotificationsArgs, +} from '../feeds'; +import type { InitializeSessionArgs } from '../session'; +import type { PaginatedResponse, Session } from '../types'; -import { PaginatedResponse } from '../types'; +type NovuPendingEvent<A, O = undefined> = { + args: A; + optimistic?: O; +}; +type NovuSuccessEvent<A, R> = Pick<NovuPendingEvent<A>, 'args'> & { + result: R; +}; +type NovuErrorEvent<A, F = undefined> = Pick<NovuPendingEvent<A>, 'args'> & { + error: unknown; + fallback?: F; +}; +// three possible status of the event: pending, success, error +type EventName<T extends string> = `${T}.pending` | `${T}.success` | `${T}.error`; +// infer the "status" of the event based on the string `module.action.status` +type EventStatus<T extends string> = `${T extends `${infer _}.${infer __}.${infer V}` ? V : never}`; +// based on the key it returns the event pending, success or error object +type EventObject< + K extends string, + ARGS, + RESULT, + OPTIMISTIC = undefined, + FALLBACK = undefined, + EVENT_STATUS = EventStatus<K> +> = EVENT_STATUS extends 'pending' + ? NovuPendingEvent<ARGS, OPTIMISTIC> + : EVENT_STATUS extends 'success' + ? NovuSuccessEvent<ARGS, RESULT> + : NovuErrorEvent<ARGS, FALLBACK>; -export type Events = { - 'session.initialize.*': undefined; - 'session.initialize.pending': undefined; - 'session.initialize.success': ISessionDto; - 'session.initialize.error': { error: unknown }; - 'feeds.fetch.*': undefined; - 'feeds.fetch.pending': undefined; - 'feeds.fetch.success': { response: PaginatedResponse<Notification> }; - 'feeds.fetch.error': { error: unknown }; +type BaseEvents<T extends string, ARGS, RESULT, OPTIMISTIC = undefined, FALLBACK = undefined> = { + [key in `${EventName<T>}`]: EventObject<key, ARGS, RESULT, OPTIMISTIC, FALLBACK>; }; +type SessionInitializeEvents = BaseEvents<'session.initialize', InitializeSessionArgs, Session>; +type FeedFetchEvents = BaseEvents<'feeds.fetch', FetchFeedArgs, PaginatedResponse<Notification>>; +type FeedFetchCountEvents = BaseEvents<'feeds.fetch_count', FetchCountArgs, number>; +type FeedMarkNotificationsAsEvents = BaseEvents< + 'feeds.mark_notifications_as', + MarkNotificationsAsArgs, + Notification[], + Notification[], + Notification[] +>; +type FeedMarkAllNotificationsAsEvents = BaseEvents< + 'feeds.mark_all_notifications_as', + MarkAllNotificationsAsArgs, + number +>; +type FeedRemoveNotificationsEvents = BaseEvents< + 'feeds.remove_notifications', + RemoveNotificationsArgs, + Notification[] | undefined, + Notification[], + Notification[] +>; +type FeedRemoveAllNotificationsEvents = BaseEvents<'feeds.remove_all_notifications', RemoveAllNotificationsArgs, void>; +type NotificationMarkAsEvents = BaseEvents< + 'notification.mark_as', + MarkNotificationAsArgs, + Notification, + Notification, + Notification +>; +type NotificationMarkActionAsEvents = BaseEvents< + 'notification.mark_action_as', + MarkNotificationActionAsArgs, + Notification, + Notification, + Notification +>; +type NotificationRemoveEvents = BaseEvents< + 'notification.remove', + RemoveNotificationArgs, + Notification | undefined, + Notification, + Notification +>; + +/** + * Events that are emitted by Novu Event Emitter. + * + * The event name consists of second pattern: module.action.status + * - module: the name of the module + * - action: the action that is being performed + * - status: the status of the action, could be pending, success or error + * + * Each event has a corresponding payload that is associated with the event: + * - pending: the args that are passed to the action and the optional optimistic value + * - success: the args that are passed to the action and the result of the action + * - error: the args that are passed to the action, the error that is thrown, and the optional fallback value + */ +export type Events = SessionInitializeEvents & + FeedFetchEvents & + FeedFetchCountEvents & + FeedMarkNotificationsAsEvents & + FeedMarkAllNotificationsAsEvents & + FeedRemoveNotificationsEvents & + FeedRemoveAllNotificationsEvents & + NotificationMarkAsEvents & + NotificationMarkActionAsEvents & + NotificationRemoveEvents; + export type EventNames = keyof Events; export type EventHandler<T = unknown> = (event: T) => void; diff --git a/packages/js/src/feeds/feeds.ts b/packages/js/src/feeds/feeds.ts index 3d84815a2e6..4cbbaef9d33 100644 --- a/packages/js/src/feeds/feeds.ts +++ b/packages/js/src/feeds/feeds.ts @@ -1,33 +1,187 @@ -import type { PaginatedResponse } from '../types'; -import { BaseModule } from '../utils/base-module'; +import { BaseModule } from '../base-module'; import { Notification } from './notification'; - -interface FetchFeedOptions { - page?: number; - feedIdentifier?: string | string[]; - seen?: boolean; - read?: boolean; - limit?: number; - payload?: Record<string, unknown>; -} +import { PaginatedResponse, NotificationStatus, TODO } from '../types'; +import type { + FetchFeedArgs, + FetchCountArgs, + MarkNotificationAsArgs, + MarkAllNotificationsAsArgs, + RemoveNotificationArgs, + RemoveAllNotificationsArgs, + MarkNotificationActionAsArgs, + MarkNotificationsAsArgs, + RemoveNotificationsArgs, + MarkNotificationAsByIdArgs, + MarkNotificationAsByInstanceArgs, + MarkNotificationsAsByIdsArgs, + MarkNotificationsAsByInstancesArgs, + RemoveNotificationByIdArgs, + RemoveNotificationByInstanceArgs, + RemoveNotificationsByIdsArgs, + RemoveNotificationsByInstancesArgs, + MarkNotificationActionAsByIdArgs, + MarkNotificationActionAsByInstanceArgs, +} from './types'; +import { READ_OR_UNREAD, SEEN_OR_UNSEEN } from '../utils/notification-utils'; +import { markActionAs, markNotificationAs, markNotificationsAs, remove, removeNotifications } from './helpers'; export class Feeds extends BaseModule { - async fetch({ page = 1, ...restOptions }: FetchFeedOptions): Promise<PaginatedResponse<Notification>> { + async fetch({ page = 0, status, ...restOptions }: FetchFeedArgs = {}): Promise<PaginatedResponse<Notification>> { return this.callWithSession(async () => { + const args = { page, status, ...restOptions }; try { - this._emitter.emit('feeds.fetch.pending'); + this._emitter.emit('feeds.fetch.pending', { args }); - const response = await this._apiService.getNotificationsList(page, restOptions); + const response = await this._apiService.getNotificationsList(page, { + ...restOptions, + ...(status && SEEN_OR_UNSEEN.includes(status) && { seen: status === NotificationStatus.SEEN }), + ...(status && READ_OR_UNREAD.includes(status) && { seen: status === NotificationStatus.READ }), + }); const modifiedResponse: PaginatedResponse<Notification> = { ...response, - data: response.data.map((el) => new Notification(el)), + data: response.data.map((el) => new Notification(el as TODO)), }; - this._emitter.emit('feeds.fetch.success', { response: modifiedResponse }); + this._emitter.emit('feeds.fetch.success', { args, result: modifiedResponse }); + + return modifiedResponse; + } catch (error) { + this._emitter.emit('feeds.fetch.error', { args, error }); + throw error; + } + }); + } + + async fetchCount({ feedIdentifier, status = NotificationStatus.UNSEEN }: FetchCountArgs = {}): Promise<number> { + return this.callWithSession(async () => { + const args = { feedIdentifier, status }; + try { + this._emitter.emit('feeds.fetch_count.pending', { args }); + + let response: { count: number }; + if (SEEN_OR_UNSEEN.includes(status)) { + response = await this._apiService.getUnseenCount({ + feedIdentifier, + seen: status === NotificationStatus.SEEN, + }); + } else { + response = await this._apiService.getUnreadCount({ + feedIdentifier, + read: status === NotificationStatus.READ, + }); + } + + this._emitter.emit('feeds.fetch_count.success', { args, result: response.count }); + + return response.count; + } catch (error) { + this._emitter.emit('feeds.fetch_count.error', { args, error }); + throw error; + } + }); + } + + async markNotificationAs(args: MarkNotificationAsByIdArgs): Promise<Notification>; + async markNotificationAs(args: MarkNotificationAsByInstanceArgs): Promise<Notification>; + async markNotificationAs(args: MarkNotificationAsArgs): Promise<Notification> { + return this.callWithSession(async () => + markNotificationAs({ + emitter: this._emitter, + apiService: this._apiService, + args, + }) + ); + } + + async markNotificationsAs(args: MarkNotificationsAsByIdsArgs): Promise<Notification[]>; + async markNotificationsAs(args: MarkNotificationsAsByInstancesArgs): Promise<Notification[]>; + async markNotificationsAs(args: MarkNotificationsAsArgs): Promise<Notification[]> { + return this.callWithSession(async () => + markNotificationsAs({ + apiService: this._apiService, + emitter: this._emitter, + args, + }) + ); + } + + async markAllNotificationsAs({ + feedIdentifier, + status = NotificationStatus.SEEN, + }: MarkAllNotificationsAsArgs): Promise<number> { + return this.callWithSession(async () => { + const args = { feedIdentifier, status }; + try { + this._emitter.emit('feeds.mark_all_notifications_as.pending', { args }); + + let response = 0; + if (status === NotificationStatus.SEEN) { + response = await this._apiService.markAllMessagesAsSeen(feedIdentifier); + } else { + response = await this._apiService.markAllMessagesAsRead(feedIdentifier); + } + + this._emitter.emit('feeds.mark_all_notifications_as.success', { + args, + result: response, + }); return response; } catch (error) { - this._emitter.emit('feeds.fetch.error', { error }); + this._emitter.emit('feeds.mark_all_notifications_as.error', { args, error }); + throw error; + } + }); + } + + async markNotificationActionAs(args: MarkNotificationActionAsByIdArgs): Promise<Notification>; + async markNotificationActionAs(args: MarkNotificationActionAsByInstanceArgs): Promise<Notification>; + async markNotificationActionAs(args: MarkNotificationActionAsArgs): Promise<Notification> { + return this.callWithSession(async () => + markActionAs({ + apiService: this._apiService, + emitter: this._emitter, + args, + }) + ); + } + + async removeNotification(args: RemoveNotificationByIdArgs): Promise<void>; + async removeNotification(args: RemoveNotificationByInstanceArgs): Promise<Notification>; + async removeNotification(args: RemoveNotificationArgs): Promise<Notification | void> { + return this.callWithSession(async () => + remove({ + apiService: this._apiService, + emitter: this._emitter, + args, + }) + ); + } + + async removeNotifications(args: RemoveNotificationsByIdsArgs): Promise<void>; + async removeNotifications(args: RemoveNotificationsByInstancesArgs): Promise<Notification[]>; + async removeNotifications(args: RemoveNotificationsArgs): Promise<Notification[] | void> { + return this.callWithSession(async () => + removeNotifications({ + apiService: this._apiService, + emitter: this._emitter, + args, + }) + ); + } + + async removeAllNotifications(args: RemoveAllNotificationsArgs): Promise<void> { + return this.callWithSession(async () => { + try { + const { feedIdentifier } = args; + this._emitter.emit('feeds.remove_all_notifications.pending', { args }); + + await this._apiService.removeAllMessages(feedIdentifier); + + this._emitter.emit('feeds.remove_all_notifications.success', { args, result: undefined }); + } catch (error) { + this._emitter.emit('feeds.remove_all_notifications.error', { args, error }); + throw error; } }); } diff --git a/packages/js/src/feeds/helpers.ts b/packages/js/src/feeds/helpers.ts new file mode 100644 index 00000000000..2cf0872b5ba --- /dev/null +++ b/packages/js/src/feeds/helpers.ts @@ -0,0 +1,263 @@ +import { ApiService } from '@novu/client'; + +import type { NovuEventEmitter } from '../event-emitter'; +import { NotificationActionStatus, NotificationButton, NotificationStatus, TODO } from '../types'; +import { Notification } from './notification'; +import { + MarkNotificationActionAsArgs, + MarkNotificationAsArgs, + MarkNotificationsAsArgs, + RemoveNotificationArgs, + RemoveNotificationsArgs, +} from './types'; + +const getOptimisticMarkAs = (status: NotificationStatus): Partial<Notification> => { + switch (status) { + case NotificationStatus.READ: + return { read: true, seen: true }; + case NotificationStatus.UNREAD: + return { read: false, seen: true }; + case NotificationStatus.SEEN: + return { seen: true }; + case NotificationStatus.UNSEEN: + return { seen: false }; + default: + return {}; + } +}; + +const getFallbackMarkAs = (status: NotificationStatus, notification: Notification): Partial<Notification> => { + switch (status) { + case NotificationStatus.READ: + case NotificationStatus.UNREAD: + return { read: notification.read, seen: notification.seen }; + case NotificationStatus.SEEN: + case NotificationStatus.UNSEEN: + return { seen: notification.seen }; + default: + return {}; + } +}; + +export const markNotificationAs = async ({ + emitter, + apiService, + args: { id, notification, status = NotificationStatus.SEEN }, +}: { + emitter: NovuEventEmitter; + apiService: ApiService; + args: MarkNotificationAsArgs; +}): Promise<Notification> => { + const isNotification = typeof notification !== 'undefined'; + const notificationId = isNotification ? notification._id : id ?? ''; + const args = { id, notification, status }; + try { + emitter.emit('notification.mark_as.pending', { + args, + optimistic: isNotification ? new Notification({ ...notification, ...getOptimisticMarkAs(status) }) : undefined, + }); + + const response = await apiService.markMessagesAs({ + messageId: [notificationId], + markAs: status, + }); + const updatedNotification = new Notification(response[0] as TODO); + + emitter.emit('notification.mark_as.success', { args, result: updatedNotification }); + + return updatedNotification; + } catch (error) { + emitter.emit('notification.mark_as.error', { + args, + error, + fallback: isNotification + ? new Notification({ ...notification, ...getFallbackMarkAs(status, notification) }) + : undefined, + }); + throw error; + } +}; + +const getOptimisticMarkActionAs = (notification: Notification, button: NotificationButton): Partial<Notification> => ({ + cta: { + action: { + ...notification.cta.action, + status: NotificationActionStatus.DONE, + result: { + ...notification.cta.action?.result, + type: button, + }, + }, + ...notification.cta, + }, +}); + +const getFallbackMarkActionAs = (notification: Notification): Partial<Notification> => { + const oldStatus = notification.cta.action?.status; + const oldResultType = notification.cta.action?.result?.type; + + return { + cta: { + action: { + ...notification.cta.action, + status: oldStatus, + result: { + ...notification.cta.action?.result, + type: oldResultType, + }, + }, + ...notification.cta, + }, + }; +}; + +export const markActionAs = async ({ + emitter, + apiService, + args: { id, notification, button = NotificationButton.PRIMARY, status = NotificationActionStatus.DONE }, +}: { + emitter: NovuEventEmitter; + apiService: ApiService; + args: MarkNotificationActionAsArgs; +}): Promise<Notification> => { + const isNotification = typeof notification !== 'undefined'; + const notificationId = isNotification ? notification._id : id ?? ''; + const args = { id, notification, button, status }; + try { + emitter.emit('notification.mark_action_as.pending', { + args, + optimistic: isNotification + ? new Notification({ ...notification, ...getOptimisticMarkActionAs(notification, button) }) + : undefined, + }); + + const response = await apiService.updateAction(notificationId, button, status); + const updatedNotification = new Notification(response as TODO); + + emitter.emit('notification.mark_action_as.success', { + args, + result: updatedNotification, + }); + + return updatedNotification; + } catch (error) { + emitter.emit('notification.mark_action_as.error', { + args, + error, + fallback: isNotification + ? new Notification({ ...notification, ...getFallbackMarkActionAs(notification) }) + : undefined, + }); + throw error; + } +}; + +export const remove = async ({ + emitter, + apiService, + args: { id, notification }, +}: { + emitter: NovuEventEmitter; + apiService: ApiService; + args: RemoveNotificationArgs; +}): Promise<Notification | void> => { + const isNotification = typeof notification !== 'undefined'; + const notificationId = isNotification ? notification._id : id ?? ''; + const args = { id, notification }; + try { + const deletedNotification = isNotification + ? new Notification({ ...notification, ...{ deleted: true } }) + : undefined; + emitter.emit('notification.remove.pending', { + args, + optimistic: deletedNotification, + }); + + await apiService.removeMessage(notificationId); + + emitter.emit('notification.remove.success', { args, result: deletedNotification }); + + return deletedNotification; + } catch (error) { + emitter.emit('notification.remove.error', { + args, + error, + fallback: isNotification ? new Notification({ ...notification, ...{ deleted: false } }) : undefined, + }); + throw error; + } +}; + +export const removeNotifications = async ({ + emitter, + apiService, + args: { ids, notifications }, +}: { + emitter: NovuEventEmitter; + apiService: ApiService; + args: RemoveNotificationsArgs; +}): Promise<Notification[] | void> => { + const args = { ids, notifications }; + const isNotificationArray = notifications && notifications.length > 0; + try { + const optimisticNotifications = isNotificationArray + ? notifications.map((el) => new Notification({ ...el, deleted: true })) + : undefined; + emitter.emit('feeds.remove_notifications.pending', { args, optimistic: optimisticNotifications }); + + const notificationIds = isNotificationArray ? notifications.map((el) => el._id) : ids ?? []; + await apiService.removeMessages(notificationIds); + + emitter.emit('feeds.remove_notifications.success', { args, result: optimisticNotifications }); + + return optimisticNotifications; + } catch (error) { + const fallbackNotifications = isNotificationArray + ? notifications.map((el) => new Notification({ ...el, deleted: false })) + : undefined; + + emitter.emit('feeds.remove_notifications.error', { args, error, fallback: fallbackNotifications }); + throw error; + } +}; + +export const markNotificationsAs = async ({ + emitter, + apiService, + args: { ids, notifications, status = NotificationStatus.SEEN }, +}: { + emitter: NovuEventEmitter; + apiService: ApiService; + args: MarkNotificationsAsArgs; +}): Promise<Notification[]> => { + const args = { ids, notifications, status }; + const isNotificationArray = notifications && notifications.length > 0; + try { + const optimisticNotifications = isNotificationArray + ? notifications.map((el) => new Notification({ ...el, ...getOptimisticMarkAs(status) })) + : undefined; + emitter.emit('feeds.mark_notifications_as.pending', { args, optimistic: optimisticNotifications }); + + const notificationIds = isNotificationArray + ? notifications.map((el) => (typeof el === 'string' ? el : el._id)) + : ids ?? []; + const response = await apiService.markMessagesAs({ + messageId: notificationIds, + markAs: status, + }); + + const updatedNotifications = response.map((el) => new Notification(el as TODO)); + emitter.emit('feeds.mark_notifications_as.success', { + args, + result: updatedNotifications, + }); + + return updatedNotifications; + } catch (error) { + const fallbackNotifications = isNotificationArray + ? notifications.map((el) => new Notification({ ...el, ...getFallbackMarkAs(status, el) })) + : undefined; + emitter.emit('feeds.mark_notifications_as.error', { args, error, fallback: fallbackNotifications }); + throw error; + } +}; diff --git a/packages/js/src/feeds/index.ts b/packages/js/src/feeds/index.ts index 60a46ddfe72..e4fd6b1abc0 100644 --- a/packages/js/src/feeds/index.ts +++ b/packages/js/src/feeds/index.ts @@ -1 +1,3 @@ export * from './feeds'; +export * from './types'; +export * from './notification'; diff --git a/packages/js/src/feeds/notification.ts b/packages/js/src/feeds/notification.ts index 869df4e67a5..66d437a0b12 100644 --- a/packages/js/src/feeds/notification.ts +++ b/packages/js/src/feeds/notification.ts @@ -1,37 +1,158 @@ -import type { ChannelTypeEnum, IActor, IMessageCTA, INotificationDto, ISubscriberResponseDto } from '@novu/shared'; +import { ApiService } from '@novu/client'; + +import { EventHandler, EventNames, Events, NovuEventEmitter } from '../event-emitter'; +import { + Actor, + NotificationActionStatus, + NotificationButton, + Cta, + NotificationStatus, + Subscriber, + TODO, +} from '../types'; +import { ApiServiceSingleton } from '../utils/api-service-singleton'; +import { markActionAs, markNotificationAs, remove } from './helpers'; + +type NotificationLike = Pick< + Notification, + | '_id' + | '_feedId' + | 'createdAt' + | 'updatedAt' + | 'actor' + | 'subscriber' + | 'transactionId' + | 'content' + | 'read' + | 'seen' + | 'deleted' + | 'cta' + | 'payload' + | 'overrides' +>; + +export class Notification implements Pick<NovuEventEmitter, 'on' | 'off'> { + #emitter: NovuEventEmitter; + #apiService: ApiService; -export class Notification { _id: string; - _subscriberId: string; _feedId?: string | null; createdAt: string; updatedAt: string; - actor?: IActor; - subscriber?: ISubscriberResponseDto; + actor?: Actor; + subscriber?: Subscriber; transactionId: string; - templateIdentifier: string; content: string; read: boolean; seen: boolean; - cta: IMessageCTA; + deleted: boolean; + cta: Cta; payload: Record<string, unknown>; overrides: Record<string, unknown>; - constructor(notification: INotificationDto) { + constructor(notification: NotificationLike) { + this.#emitter = NovuEventEmitter.getInstance(); + this.#apiService = ApiServiceSingleton.getInstance(); + this._id = notification._id; - this._subscriberId = notification._subscriberId; this._feedId = notification._feedId; this.createdAt = notification.createdAt; this.updatedAt = notification.updatedAt; this.actor = notification.actor; this.subscriber = notification.subscriber; this.transactionId = notification.transactionId; - this.templateIdentifier = notification.templateIdentifier; this.content = notification.content; this.read = notification.read; this.seen = notification.seen; + this.deleted = notification.deleted; this.cta = notification.cta; this.payload = notification.payload; this.overrides = notification.overrides; } + + markAsRead(): Promise<Notification> { + return markNotificationAs({ + emitter: this.#emitter, + apiService: this.#apiService, + args: { + notification: this, + status: NotificationStatus.READ, + }, + }); + } + + markAsUnread(): Promise<Notification> { + return markNotificationAs({ + emitter: this.#emitter, + apiService: this.#apiService, + args: { + notification: this, + status: NotificationStatus.UNREAD, + }, + }); + } + + markAsSeen(): Promise<Notification> { + return markNotificationAs({ + emitter: this.#emitter, + apiService: this.#apiService, + args: { + notification: this, + status: NotificationStatus.SEEN, + }, + }); + } + + markAsUnseen(): Promise<Notification> { + return markNotificationAs({ + emitter: this.#emitter, + apiService: this.#apiService, + args: { + notification: this, + status: NotificationStatus.UNSEEN, + }, + }); + } + + markActionAsDone(button: NotificationButton = NotificationButton.PRIMARY): Promise<Notification> { + return markActionAs({ + apiService: this.#apiService, + emitter: this.#emitter, + args: { + notification: this, + button, + status: NotificationActionStatus.DONE, + }, + }); + } + + markActionAsPending(button: NotificationButton = NotificationButton.PRIMARY): Promise<Notification> { + return markActionAs({ + apiService: this.#apiService, + emitter: this.#emitter, + args: { + notification: this, + button, + status: NotificationActionStatus.PENDING, + }, + }); + } + + remove(): Promise<Notification> { + return remove({ + apiService: this.#apiService, + emitter: this.#emitter, + args: { + notification: this, + }, + }) as TODO; + } + + on<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void { + this.#emitter.on(eventName, listener); + } + + off<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void { + this.#emitter.on(eventName, listener); + } } diff --git a/packages/js/src/feeds/types.ts b/packages/js/src/feeds/types.ts new file mode 100644 index 00000000000..54ae7d24d26 --- /dev/null +++ b/packages/js/src/feeds/types.ts @@ -0,0 +1,86 @@ +import type { NotificationActionStatus, NotificationButton, NotificationStatus } from '../types'; +import { Notification } from './notification'; + +export type FetchFeedArgs = { + page?: number; + feedIdentifier?: string | string[]; + status?: NotificationStatus; + limit?: number; + payload?: Record<string, unknown>; +}; + +export type FetchCountArgs = { + feedIdentifier?: string | string[]; + status?: NotificationStatus; +}; + +export type MarkNotificationAsBaseArgs = { + status?: NotificationStatus; +}; + +export type MarkNotificationAsByIdArgs = MarkNotificationAsBaseArgs & { + id: string; +}; + +export type MarkNotificationAsByInstanceArgs = MarkNotificationAsBaseArgs & { + notification: Notification; +}; + +export type MarkNotificationsAsByIdsArgs = MarkNotificationAsBaseArgs & { + ids: string[]; +}; + +export type MarkNotificationsAsByInstancesArgs = MarkNotificationAsBaseArgs & { + notifications: Notification[]; +}; + +export type MarkNotificationAsArgs = Partial<MarkNotificationAsByIdArgs> & Partial<MarkNotificationAsByInstanceArgs>; + +export type MarkNotificationsAsArgs = Partial<MarkNotificationsAsByIdsArgs> & + Partial<MarkNotificationsAsByInstancesArgs>; + +export type MarkAllNotificationsAsArgs = { + feedIdentifier?: string | string[]; + status?: NotificationStatus.READ | NotificationStatus.SEEN; +}; + +export type RemoveNotificationByIdArgs = { + id: string; +}; + +export type RemoveNotificationByInstanceArgs = { + notification: Notification; +}; + +export type RemoveNotificationArgs = Partial<RemoveNotificationByIdArgs> & Partial<RemoveNotificationByInstanceArgs>; + +export type RemoveNotificationsByIdsArgs = { + ids: Array<string>; +}; + +export type RemoveNotificationsByInstancesArgs = { + notifications: Array<Notification>; +}; + +export type RemoveNotificationsArgs = Partial<RemoveNotificationsByIdsArgs> & + Partial<RemoveNotificationsByInstancesArgs>; + +export type RemoveAllNotificationsArgs = { + feedIdentifier?: string; +}; + +export type MarkNotificationActionAsBaseArgs = { + button?: NotificationButton; + status?: NotificationActionStatus; +}; + +export type MarkNotificationActionAsByIdArgs = MarkNotificationActionAsBaseArgs & { + id: string; +}; + +export type MarkNotificationActionAsByInstanceArgs = MarkNotificationActionAsBaseArgs & { + notification: Notification; +}; + +export type MarkNotificationActionAsArgs = Partial<MarkNotificationActionAsByIdArgs> & + Partial<MarkNotificationActionAsByInstanceArgs>; diff --git a/packages/js/src/novu.ts b/packages/js/src/novu.ts index a974c308e99..22e3abff9f4 100644 --- a/packages/js/src/novu.ts +++ b/packages/js/src/novu.ts @@ -1,39 +1,35 @@ -import { ApiService } from '@novu/client'; - import { NovuEventEmitter } from './event-emitter'; import type { EventHandler, EventNames, Events } from './event-emitter'; import { Feeds } from './feeds'; import { Session } from './session'; import { Preferences } from './preferences'; +import { ApiServiceSingleton } from './utils/api-service-singleton'; -const PRODUCTION_BACKEND_URL = 'https://api.novu.co'; - -interface NovuOptions { +type NovuOptions = { applicationIdentifier: string; subscriberId: string; subscriberHash?: string; backendUrl?: string; -} +}; export class Novu implements Pick<NovuEventEmitter, 'on' | 'off'> { #emitter: NovuEventEmitter; #session: Session; - #apiService: ApiService; public readonly feeds: Feeds; public readonly preferences: Preferences; constructor(options: NovuOptions) { - this.#apiService = new ApiService(options.backendUrl ?? PRODUCTION_BACKEND_URL); - this.#emitter = new NovuEventEmitter(); - this.#session = new Session(this.#emitter, this.#apiService, { + ApiServiceSingleton.getInstance({ backendUrl: options.backendUrl }); + this.#emitter = NovuEventEmitter.getInstance({ recreate: true }); + this.#session = new Session({ applicationIdentifier: options.applicationIdentifier, subscriberId: options.subscriberId, subscriberHash: options.subscriberHash, }); this.#session.initialize(); - this.feeds = new Feeds(this.#emitter, this.#apiService); - this.preferences = new Preferences(this.#emitter, this.#apiService); + this.feeds = new Feeds(); + this.preferences = new Preferences(); } on<Key extends EventNames>(eventName: Key, listener: EventHandler<Events[Key]>): void { diff --git a/packages/js/src/preferences/preferences.ts b/packages/js/src/preferences/preferences.ts index 26591e98a9e..8ca3d6274b1 100644 --- a/packages/js/src/preferences/preferences.ts +++ b/packages/js/src/preferences/preferences.ts @@ -1,13 +1,3 @@ -import { ApiService } from '@novu/client'; +import { BaseModule } from '../base-module'; -import { NovuEventEmitter } from '../event-emitter'; - -export class Preferences { - #emitter: NovuEventEmitter; - #apiService: ApiService; - - constructor(emitter: NovuEventEmitter, apiService: ApiService) { - this.#emitter = emitter; - this.#apiService = apiService; - } -} +export class Preferences extends BaseModule {} diff --git a/packages/js/src/session/index.ts b/packages/js/src/session/index.ts index 1ae27f417bf..a924738790b 100644 --- a/packages/js/src/session/index.ts +++ b/packages/js/src/session/index.ts @@ -1 +1,2 @@ export * from './session'; +export * from './types'; diff --git a/packages/js/src/session/session.ts b/packages/js/src/session/session.ts index cfaeca07d81..3f008d731c1 100644 --- a/packages/js/src/session/session.ts +++ b/packages/js/src/session/session.ts @@ -1,38 +1,31 @@ import { ApiService } from '@novu/client'; import { NovuEventEmitter } from '../event-emitter'; - -export interface SessionOptions { - applicationIdentifier: string; - subscriberId: string; - subscriberHash?: string; -} +import { ApiServiceSingleton } from '../utils/api-service-singleton'; +import { InitializeSessionArgs } from './types'; export class Session { #emitter: NovuEventEmitter; #apiService: ApiService; - #options: SessionOptions; + #options: InitializeSessionArgs; - constructor(emitter: NovuEventEmitter, apiService: ApiService, options: SessionOptions) { - this.#emitter = emitter; - this.#apiService = apiService; + constructor(options: InitializeSessionArgs) { + this.#emitter = NovuEventEmitter.getInstance(); + this.#apiService = ApiServiceSingleton.getInstance(); this.#options = options; } public async initialize(): Promise<void> { try { - this.#emitter.emit('session.initialize.pending'); + const { applicationIdentifier, subscriberId, subscriberHash } = this.#options; + this.#emitter.emit('session.initialize.pending', { args: this.#options }); - const { token, profile } = await this.#apiService.initializeSession( - this.#options.applicationIdentifier, - this.#options.subscriberId, - this.#options.subscriberHash - ); - this.#apiService.setAuthorizationToken(token); + const response = await this.#apiService.initializeSession(applicationIdentifier, subscriberId, subscriberHash); + this.#apiService.setAuthorizationToken(response.token); - this.#emitter.emit('session.initialize.success', { token, profile }); + this.#emitter.emit('session.initialize.success', { args: this.#options, result: response }); } catch (error) { - this.#emitter.emit('session.initialize.error', { error }); + this.#emitter.emit('session.initialize.error', { args: this.#options, error }); } } } diff --git a/packages/js/src/session/types.ts b/packages/js/src/session/types.ts new file mode 100644 index 00000000000..5ea06292b5d --- /dev/null +++ b/packages/js/src/session/types.ts @@ -0,0 +1,5 @@ +export type InitializeSessionArgs = { + applicationIdentifier: string; + subscriberId: string; + subscriberHash?: string; +}; diff --git a/packages/js/src/types.ts b/packages/js/src/types.ts index 99e2168be95..49d1d708f3f 100644 --- a/packages/js/src/types.ts +++ b/packages/js/src/types.ts @@ -1,7 +1,111 @@ -export interface PaginatedResponse<T = unknown> { +export enum NotificationStatus { + READ = 'read', + SEEN = 'seen', + UNREAD = 'unread', + UNSEEN = 'unseen', +} + +export enum NotificationButton { + PRIMARY = 'primary', + SECONDARY = 'secondary', +} + +export enum NotificationActionStatus { + PENDING = 'pending', + DONE = 'done', +} + +export enum ActorType { + NONE = 'none', + USER = 'user', + SYSTEM_ICON = 'system_icon', + SYSTEM_CUSTOM = 'system_custom', +} + +export enum CtaType { + REDIRECT = 'redirect', +} + +export type Session = { + token: string; + profile: { + _id: string; + firstName: string; + lastName: string; + email: string; + subscriberId: string; + organizationId: string; + environmentId: string; + aud: 'widget_user'; + }; +}; + +export type Actor = { + type: ActorType; + data: string | null; +}; + +export type ChannelCredentials = { + webhookUrl?: string; + deviceTokens?: string[]; +}; + +export type SubscriberChannel = { + providerId: string; + integrationIdentifier?: string; + credentials: ChannelCredentials; +}; + +export type Subscriber = { + _id?: string; + firstName?: string; + lastName?: string; + email?: string; + phone?: string; + avatar?: string; + locale?: string; + subscriberId: string; + channels?: SubscriberChannel[]; + isOnline?: boolean; + lastOnlineAt?: string; + _organizationId: string; + _environmentId: string; + deleted: boolean; + createdAt: string; + updatedAt: string; + __v?: number; +}; + +export type MessageButton = { + type: NotificationButton; + content: string; + resultContent?: string; +}; + +export type MessageAction = { + status?: NotificationActionStatus; + buttons?: MessageButton[]; + result: { + payload?: Record<string, unknown>; + type?: NotificationButton; + }; +}; + +export type Cta = { + type: CtaType; + data: { + url?: string; + }; + action?: MessageAction; +}; + +export type PaginatedResponse<T = unknown> = { data: T[]; hasMore: boolean; totalCount: number; pageSize: number; page: number; -} +}; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type TODO = any; diff --git a/packages/js/src/umd.ts b/packages/js/src/umd.ts index 64e55653a6d..71d5a7f64c6 100644 --- a/packages/js/src/umd.ts +++ b/packages/js/src/umd.ts @@ -1,3 +1,5 @@ import { Novu } from './novu'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore window.Novu = Novu; diff --git a/packages/js/src/utils/api-service-singleton.ts b/packages/js/src/utils/api-service-singleton.ts new file mode 100644 index 00000000000..c4696ef2d0c --- /dev/null +++ b/packages/js/src/utils/api-service-singleton.ts @@ -0,0 +1,20 @@ +import { ApiService } from '@novu/client'; + +const PRODUCTION_BACKEND_URL = 'https://api.novu.co'; + +type ApiServiceOptions = { + backendUrl?: string; +}; + +export class ApiServiceSingleton { + static #instance: ApiService; + + static getInstance(options?: ApiServiceOptions): ApiService { + const isNeedsToRecreate = !!options; + if (isNeedsToRecreate) { + ApiServiceSingleton.#instance = new ApiService(options.backendUrl ?? PRODUCTION_BACKEND_URL); + } + + return ApiServiceSingleton.#instance; + } +} diff --git a/packages/js/src/utils/notification-utils.ts b/packages/js/src/utils/notification-utils.ts new file mode 100644 index 00000000000..20ba224096c --- /dev/null +++ b/packages/js/src/utils/notification-utils.ts @@ -0,0 +1,4 @@ +import { NotificationStatus } from '../types'; + +export const SEEN_OR_UNSEEN = [NotificationStatus.SEEN, NotificationStatus.UNSEEN]; +export const READ_OR_UNREAD = [NotificationStatus.READ, NotificationStatus.UNREAD]; diff --git a/packages/js/test-sdk.ts b/packages/js/test-sdk.ts new file mode 100644 index 00000000000..6421a19064e --- /dev/null +++ b/packages/js/test-sdk.ts @@ -0,0 +1,43 @@ +import { Novu } from './src'; +import { NotificationStatus } from './src/types'; + +const novu = new Novu({ + applicationIdentifier: '3RB-pKkUG2uu', + subscriberId: '63497a94e2a2de81df1e8dac', +}); + +novu.on('feeds.mark_notifications_as.pending', ({ args, optimistic }) => {}); +novu.on('feeds.mark_notifications_as.success', ({ args, result }) => {}); +novu.on('feeds.mark_notifications_as.error', ({ args, error, fallback }) => {}); + +novu.on('notification.remove.pending', ({ args, optimistic }) => { + console.log('notification.remove.pending', args); +}); +novu.on('notification.remove.success', (args) => { + console.log('notification.remove.suceess', args); +}); +novu.on('notification.remove.error', (args) => { + console.log('notification.remove.error', args); +}); + +const feed = await novu.feeds.fetch(); +console.log(feed); + +const notification1 = await novu.feeds.markNotificationAs({ + id: '123', + status: NotificationStatus.SEEN, +}); +const notification2 = await novu.feeds.markNotificationAs({ + notification: feed.data[0], + status: NotificationStatus.SEEN, +}); +const notifications = await novu.feeds.markNotificationsAs({ + ids: [''], + status: NotificationStatus.SEEN, +}); +const notifications2 = await novu.feeds.markNotificationsAs({ + notifications: [], + status: NotificationStatus.SEEN, +}); + +console.log(feed); diff --git a/packages/js/tsconfig.json b/packages/js/tsconfig.json index 9ea82ef5b89..a6733a8412e 100644 --- a/packages/js/tsconfig.json +++ b/packages/js/tsconfig.json @@ -5,6 +5,8 @@ "target": "ESNext", "module": "ESNext", "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, "skipLibCheck": true, "typeRoots": ["./node_modules/@types"], "sourceMap": true, diff --git a/packages/js/tsup.config.ts b/packages/js/tsup.config.ts index 8cc238c6a70..9f8515ab32f 100644 --- a/packages/js/tsup.config.ts +++ b/packages/js/tsup.config.ts @@ -1,6 +1,8 @@ import { defineConfig, Options } from 'tsup'; -import { name, version } from './package.json'; import { compress } from 'esbuild-plugin-compress'; +import glob from 'tiny-glob'; + +import { name, version } from './package.json'; const isProd = process.env?.NODE_ENV === 'production'; @@ -12,16 +14,30 @@ const baseConfig: Options = { define: { PACKAGE_NAME: `"${name}"`, PACKAGE_VERSION: `"${version}"`, __DEV__: `${!isProd}` }, }; +const baseModuleConfig: Options = { + ...baseConfig, + splitting: true, + treeshake: true, + bundle: false, + define: { PACKAGE_NAME: `"${name}"`, PACKAGE_VERSION: `"${version}"`, __DEV__: `${!isProd}` }, + entry: await glob('./src/**/!(*.d|*.test).ts'), + outExtension: ({ format }) => { + return { + js: format === 'cjs' ? '.cjs' : '.js', + }; + }, +}; + export default defineConfig([ { - ...baseConfig, - entry: ['src/index.ts'], - format: ['esm', 'cjs'], - outExtension: ({ format }) => { - return { - js: format === 'cjs' ? '.cjs' : '.js', - }; - }, + ...baseModuleConfig, + format: 'esm', + outDir: 'dist/esm', + }, + { + ...baseModuleConfig, + format: 'cjs', + outDir: 'dist/cjs', }, { ...baseConfig, diff --git a/packages/notification-center/src/hooks/useMarkNotificationAsRead.ts b/packages/notification-center/src/hooks/useMarkNotificationAsRead.ts index c65f6ccba6a..029ff205641 100644 --- a/packages/notification-center/src/hooks/useMarkNotificationAsRead.ts +++ b/packages/notification-center/src/hooks/useMarkNotificationAsRead.ts @@ -13,12 +13,12 @@ export const useMarkNotificationsAsRead = ({ ...options }: { onSuccess?: () => void; -} & UseMutationOptions<IMessage[], Error, IMarkNotificationsAsReadVariables> = {}) => { +} & UseMutationOptions<number, Error, IMarkNotificationsAsReadVariables> = {}) => { const queryClient = useQueryClient(); const { apiService } = useNovuContext(); const fetchNotificationsQueryKey = useFetchNotificationsQueryKey(); - const { mutate, ...result } = useMutation<IMessage[], Error, IMarkNotificationsAsReadVariables>( + const { mutate, ...result } = useMutation<number, Error, IMarkNotificationsAsReadVariables>( ({ feedId }) => apiService.markAllMessagesAsRead(feedId), { ...options, diff --git a/packages/notification-center/src/hooks/useMarkNotificationAsSeen.ts b/packages/notification-center/src/hooks/useMarkNotificationAsSeen.ts index c31d4ff0126..1f847020eff 100644 --- a/packages/notification-center/src/hooks/useMarkNotificationAsSeen.ts +++ b/packages/notification-center/src/hooks/useMarkNotificationAsSeen.ts @@ -17,12 +17,12 @@ export const useMarkNotificationsAsSeen = ({ }: { onSuccess?: () => void; query?: IStoreQuery; -} & UseMutationOptions<IMessage[], Error, IMarkNotificationsAsReadVariables> = {}) => { +} & UseMutationOptions<number, Error, IMarkNotificationsAsReadVariables> = {}) => { const queryClient = useQueryClient(); const { apiService } = useNovuContext(); const fetchNotificationsQueryKey = useFetchNotificationsQueryKey(); - const { mutate, ...result } = useMutation<IMessage[], Error, IMarkNotificationsAsReadVariables>( + const { mutate, ...result } = useMutation<number, Error, IMarkNotificationsAsReadVariables>( ({ feedId }) => apiService.markAllMessagesAsSeen(feedId), { ...options, diff --git a/packages/notification-center/src/index.test.ts b/packages/notification-center/src/index.test.ts index dd8ab8dd4d3..a5133de4717 100644 --- a/packages/notification-center/src/index.test.ts +++ b/packages/notification-center/src/index.test.ts @@ -208,10 +208,8 @@ describe('@novu/notification-center - general export interface', () => { it('validate ButtonTypeEnum interface', () => { const buttonTypeEnumPrimary: ButtonTypeEnum = ButtonTypeEnum.PRIMARY; const buttonTypeEnumSecondary: ButtonTypeEnum = ButtonTypeEnum.SECONDARY; - const buttonTypeEnumClicked: ButtonTypeEnum = ButtonTypeEnum.CLICKED; expect(buttonTypeEnumPrimary).toBe('primary'); expect(buttonTypeEnumSecondary).toBe('secondary'); - expect(buttonTypeEnumClicked).toBe('clicked'); }); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d271374e196..408c13395d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -524,7 +524,7 @@ importers: version: 10.1.16(@swc/core@1.3.107) '@nestjs/schematics': specifier: ^10.0.2 - version: 10.0.2(chokidar@3.6.0)(typescript@4.9.5) + version: 10.0.2(chokidar@3.5.3)(typescript@4.9.5) '@nestjs/testing': specifier: ^10.2.2 version: 10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/core@10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/platform-express@10.2.2)(@nestjs/websockets@10.2.2)(encoding@0.1.13)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/platform-express@10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/core@10.2.2)) @@ -1030,7 +1030,7 @@ importers: version: 0.40.1(jsdom@24.0.0)(typescript@4.9.5) '@pandacss/studio': specifier: ^0.40.1 - version: 0.40.1(@types/node@12.20.55)(@types/react-dom@18.3.0)(@types/react@18.3.3)(jsdom@24.0.0)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5) + version: 0.40.1(@types/node@12.20.55)(@types/react-dom@18.3.0)(@types/react@18.3.3)(jsdom@24.0.0)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5) '@playwright/test': specifier: ^1.44.0 version: 1.44.0 @@ -1262,7 +1262,7 @@ importers: version: 11.10.6(@emotion/react@11.10.6(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mantine/core': specifier: 4.2.12 - version: 4.2.12(@babel/core@7.21.4)(@mantine/hooks@4.2.12(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.2.12(@babel/core@7.24.4)(@mantine/hooks@4.2.12(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mantine/hooks': specifier: 4.2.12 version: 4.2.12(react@18.3.1) @@ -1326,25 +1326,25 @@ importers: devDependencies: '@babel/plugin-proposal-optional-chaining': specifier: ^7.20.7 - version: 7.21.0(@babel/core@7.21.4) + version: 7.21.0(@babel/core@7.24.4) '@babel/plugin-transform-react-display-name': specifier: ^7.18.6 - version: 7.22.5(@babel/core@7.21.4) + version: 7.22.5(@babel/core@7.24.4) '@babel/plugin-transform-runtime': specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.21.4) + version: 7.23.2(@babel/core@7.24.4) '@babel/polyfill': specifier: ^7.12.1 version: 7.12.1 '@babel/preset-env': specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.21.4) + version: 7.23.2(@babel/core@7.24.4) '@babel/preset-react': specifier: ^7.13.13 - version: 7.22.15(@babel/core@7.21.4) + version: 7.22.15(@babel/core@7.24.4) '@babel/preset-typescript': specifier: ^7.13.0 - version: 7.21.4(@babel/core@7.21.4) + version: 7.21.4(@babel/core@7.24.4) '@babel/runtime': specifier: ^7.20.13 version: 7.21.0 @@ -1407,10 +1407,10 @@ importers: version: 4.1.0(less@4.1.3)(webpack@5.78.0(@swc/core@1.3.107)) react-app-rewired: specifier: ^2.2.1 - version: 2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)) + version: 2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) + version: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) typescript: specifier: 4.9.5 version: 4.9.5 @@ -1559,7 +1559,7 @@ importers: version: 10.1.16(@swc/core@1.3.107) '@nestjs/schematics': specifier: ^10.0.2 - version: 10.0.2(chokidar@3.5.3)(typescript@4.9.5) + version: 10.0.2(chokidar@3.6.0)(typescript@4.9.5) '@nestjs/testing': specifier: ^10.2.2 version: 10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/core@10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/platform-express@10.2.2)(@nestjs/websockets@10.2.2)(encoding@0.1.13)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/platform-express@10.2.2(@nestjs/common@10.2.2(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1))(@nestjs/core@10.2.2)) @@ -3550,19 +3550,10 @@ importers: '@novu/client': specifier: workspace:* version: link:../client - '@novu/shared': - specifier: workspace:* - version: link:../../libs/shared mitt: specifier: ^3.0.1 version: 3.0.1 devDependencies: - '@size-limit/esbuild': - specifier: ^11.1.4 - version: 11.1.4(size-limit@11.1.4) - '@size-limit/file': - specifier: ^11.1.4 - version: 11.1.4(size-limit@11.1.4) '@types/jest': specifier: ^29.2.3 version: 29.5.12 @@ -3577,16 +3568,16 @@ importers: version: 5.3.0 esbuild-plugin-compress: specifier: ^1.0.1 - version: 1.0.1(esbuild@0.21.4) + version: 1.0.1(esbuild@0.20.1) jest: specifier: ^29.3.1 version: 29.7.0(@types/node@18.16.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5)) - size-limit: - specifier: ^11.1.4 - version: 11.1.4 + tiny-glob: + specifier: ^0.2.9 + version: 0.2.9 ts-jest: specifier: ^29.0.3 - version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.21.4)(jest@29.7.0(@types/node@18.16.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5)))(typescript@4.9.5) + version: 29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.20.1)(jest@29.7.0(@types/node@18.16.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5)))(typescript@4.9.5) tsup: specifier: ^8.0.2 version: 8.0.2(@microsoft/api-extractor@7.38.0(@types/node@18.16.9))(@swc/core@1.3.107)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5))(typescript@4.9.5) @@ -3929,7 +3920,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^16.2.5 - version: 16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(@swc/core@1.3.107)(@types/node@20.14.2)(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)))(jest-environment-jsdom@29.5.0)(jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(karma@6.4.1)(lightningcss@1.23.0)(ng-packagr@16.2.3(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(tslib@2.5.0)(typescript@4.9.5))(sugarss@4.0.1(postcss@8.4.38))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(typescript@4.9.5) + version: 16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(@swc/core@1.3.107)(@types/node@20.14.2)(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(jest-environment-jsdom@29.5.0)(jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(karma@6.4.1)(lightningcss@1.23.0)(ng-packagr@16.2.3(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(tslib@2.5.0)(typescript@4.9.5))(sugarss@4.0.1(postcss@8.4.38))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(typescript@4.9.5) '@angular/cli': specifier: ^16.2.5 version: 16.2.8(chokidar@3.5.3) @@ -7708,12 +7699,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.4': - resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/android-arm64@0.18.17': resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} engines: {node: '>=12'} @@ -7738,12 +7723,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.4': - resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm@0.18.17': resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} engines: {node: '>=12'} @@ -7768,12 +7747,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.4': - resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-x64@0.18.17': resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} engines: {node: '>=12'} @@ -7798,12 +7771,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.4': - resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/darwin-arm64@0.18.17': resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} engines: {node: '>=12'} @@ -7828,12 +7795,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.4': - resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-x64@0.18.17': resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} engines: {node: '>=12'} @@ -7858,12 +7819,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.4': - resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/freebsd-arm64@0.18.17': resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} engines: {node: '>=12'} @@ -7888,12 +7843,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.4': - resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-x64@0.18.17': resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} engines: {node: '>=12'} @@ -7918,12 +7867,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.4': - resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/linux-arm64@0.18.17': resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} engines: {node: '>=12'} @@ -7948,12 +7891,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.4': - resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm@0.18.17': resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} engines: {node: '>=12'} @@ -7978,12 +7915,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.4': - resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-ia32@0.18.17': resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} engines: {node: '>=12'} @@ -8008,12 +7939,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.4': - resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-loong64@0.18.17': resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} engines: {node: '>=12'} @@ -8038,12 +7963,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.4': - resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-mips64el@0.18.17': resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} engines: {node: '>=12'} @@ -8068,12 +7987,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.4': - resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-ppc64@0.18.17': resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} engines: {node: '>=12'} @@ -8098,12 +8011,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.4': - resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-riscv64@0.18.17': resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} engines: {node: '>=12'} @@ -8128,12 +8035,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.4': - resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-s390x@0.18.17': resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} engines: {node: '>=12'} @@ -8158,12 +8059,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.4': - resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-x64@0.18.17': resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} engines: {node: '>=12'} @@ -8188,12 +8083,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.4': - resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/netbsd-x64@0.18.17': resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} engines: {node: '>=12'} @@ -8218,12 +8107,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.4': - resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/openbsd-x64@0.18.17': resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} engines: {node: '>=12'} @@ -8248,12 +8131,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.4': - resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/sunos-x64@0.18.17': resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} engines: {node: '>=12'} @@ -8278,12 +8155,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.4': - resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/win32-arm64@0.18.17': resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} engines: {node: '>=12'} @@ -8308,12 +8179,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.4': - resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-ia32@0.18.17': resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} engines: {node: '>=12'} @@ -8338,12 +8203,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.4': - resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-x64@0.18.17': resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} engines: {node: '>=12'} @@ -8368,12 +8227,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.4': - resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -12441,18 +12294,6 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@size-limit/esbuild@11.1.4': - resolution: {integrity: sha512-Nxh+Fw4Z7sFjRLeT7GDZIy297VXyJrMvG20UDSWP31QgglriEBDkW9U77T7W6js5FaEr89bYVrGzpHfmE1CLFw==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - size-limit: 11.1.4 - - '@size-limit/file@11.1.4': - resolution: {integrity: sha512-QxnGj9cxhCEuqMAV01gqonXIKcc+caZqFHZpV51oL2ZJNGSPP9Q/yyf+7HbVe00faOFd1dZZwMwzZmX7HQ9LbA==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - size-limit: 11.1.4 - '@smithy/abort-controller@2.0.3': resolution: {integrity: sha512-LbQ4fdsVuQC3/18Z/uia5wnk9fk8ikfHl3laYCEGhboEMJ/6oVk3zhydqljMxBCftHGUv7yUrTnZ6EAQhOf+PA==} engines: {node: '>=14.0.0'} @@ -19384,11 +19225,6 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.4: - resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} - engines: {node: '>=12'} - hasBin: true - escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -24421,18 +24257,10 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} - engines: {node: ^18 || >=20} - hasBin: true - nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} - nanospinner@1.1.0: - resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} - napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} @@ -25563,9 +25391,6 @@ packages: picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -28414,11 +28239,6 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - size-limit@11.1.4: - resolution: {integrity: sha512-V2JAI/Z7h8sEuxU3V+Ig3XKA5FcYbI4CZ7sh6s7wvuy+TUwDZYqw7sAqrHhQ4cgcNfPKIAHAaH8VaqOdbcwJDA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - slash@1.0.0: resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} engines: {node: '>=0.10.0'} @@ -31432,11 +31252,11 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(@swc/core@1.3.107)(@types/node@20.14.2)(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)))(jest-environment-jsdom@29.5.0)(jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(karma@6.4.1)(lightningcss@1.23.0)(ng-packagr@16.2.3(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(tslib@2.5.0)(typescript@4.9.5))(sugarss@4.0.1(postcss@8.4.38))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(typescript@4.9.5)': + '@angular-devkit/build-angular@16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(@swc/core@1.3.107)(@types/node@20.14.2)(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(jest-environment-jsdom@29.5.0)(jest@29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(karma@6.4.1)(lightningcss@1.23.0)(ng-packagr@16.2.3(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(tslib@2.5.0)(typescript@4.9.5))(sugarss@4.0.1(postcss@8.4.38))(tailwindcss@3.3.1(postcss@8.4.38)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)))(typescript@4.9.5)': dependencies: '@ampproject/remapping': 2.2.1 '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) - '@angular-devkit/build-webpack': 0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)))(webpack@5.88.2(@swc/core@1.3.107)) + '@angular-devkit/build-webpack': 0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) '@angular-devkit/core': 16.2.8(chokidar@3.5.3) '@angular/compiler-cli': 16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5) '@babel/core': 7.22.9 @@ -31450,17 +31270,17 @@ snapshots: '@babel/runtime': 7.22.6 '@babel/template': 7.22.5 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(typescript@4.9.5)(webpack@5.88.2(@swc/core@1.3.107)) + '@ngtools/webpack': 16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(typescript@4.9.5)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) '@vitejs/plugin-basic-ssl': 1.0.1(vite@4.4.7(@types/node@20.14.2)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.19.2)) ansi-colors: 4.1.3 autoprefixer: 10.4.14(postcss@8.4.31) - babel-loader: 9.1.3(@babel/core@7.22.9)(webpack@5.88.2(@swc/core@1.3.107)) + babel-loader: 9.1.3(@babel/core@7.22.9)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) babel-plugin-istanbul: 6.1.1 browserslist: 4.21.10 chokidar: 3.5.3 - copy-webpack-plugin: 11.0.0(webpack@5.88.2(@swc/core@1.3.107)) + copy-webpack-plugin: 11.0.0(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) critters: 0.0.20 - css-loader: 6.8.1(webpack@5.88.2(@swc/core@1.3.107)) + css-loader: 6.8.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) esbuild-wasm: 0.18.17 fast-glob: 3.3.1 guess-parser: 0.4.22(typescript@4.9.5) @@ -31469,11 +31289,11 @@ snapshots: jsonc-parser: 3.2.0 karma-source-map-support: 1.4.0 less: 4.1.3 - less-loader: 11.1.0(less@4.1.3)(webpack@5.88.2(@swc/core@1.3.107)) - license-webpack-plugin: 4.0.2(webpack@5.88.2(@swc/core@1.3.107)) + less-loader: 11.1.0(less@4.1.3)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) + license-webpack-plugin: 4.0.2(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) loader-utils: 3.2.1 magic-string: 0.30.1 - mini-css-extract-plugin: 2.7.6(webpack@5.88.2(@swc/core@1.3.107)) + mini-css-extract-plugin: 2.7.6(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) mrmime: 1.0.1 open: 8.4.2 ora: 5.4.1 @@ -31481,13 +31301,13 @@ snapshots: picomatch: 2.3.1 piscina: 4.0.0 postcss: 8.4.31 - postcss-loader: 7.3.3(postcss@8.4.31)(webpack@5.88.2(@swc/core@1.3.107)) + postcss-loader: 7.3.3(postcss@8.4.31)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) resolve-url-loader: 5.0.0 rxjs: 7.8.1 sass: 1.64.1 - sass-loader: 13.3.2(sass@1.64.1)(webpack@5.88.2(@swc/core@1.3.107)) + sass-loader: 13.3.2(sass@1.64.1)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) semver: 7.5.4 - source-map-loader: 4.0.1(webpack@5.88.2(@swc/core@1.3.107)) + source-map-loader: 4.0.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) source-map-support: 0.5.21 terser: 5.19.2 text-table: 0.2.0 @@ -31496,10 +31316,10 @@ snapshots: typescript: 4.9.5 vite: 4.4.7(@types/node@20.14.2)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.19.2) webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) - webpack-dev-middleware: 6.1.1(webpack@5.88.2(@swc/core@1.3.107)) - webpack-dev-server: 4.15.1(webpack@5.88.2(@swc/core@1.3.107)) + webpack-dev-middleware: 6.1.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) + webpack-dev-server: 4.15.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) webpack-merge: 5.9.0 - webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)))(webpack@5.88.2(@swc/core@1.3.107)) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) optionalDependencies: esbuild: 0.18.17 jest: 29.7.0(@types/node@20.14.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.107)(@types/node@16.11.7)(typescript@4.9.5)) @@ -31525,12 +31345,12 @@ snapshots: - utf-8-validate - webpack-cli - '@angular-devkit/build-webpack@0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)))(webpack@5.88.2(@swc/core@1.3.107))': + '@angular-devkit/build-webpack@0.1602.8(chokidar@3.5.3)(webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17))': dependencies: '@angular-devkit/architect': 0.1602.8(chokidar@3.5.3) rxjs: 7.8.1 webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) - webpack-dev-server: 4.15.1(webpack@5.88.2(@swc/core@1.3.107)) + webpack-dev-server: 4.15.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) transitivePeerDependencies: - chokidar @@ -31805,11 +31625,11 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/react@3.0.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0))': + '@astrojs/react@3.0.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0))': dependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@vitejs/plugin-react': 4.2.1(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)) + '@vitejs/plugin-react': 4.2.1(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ultrahtml: 1.5.3 @@ -32022,7 +31842,7 @@ snapshots: '@aws-sdk/client-sso-oidc': 3.575.0(@aws-sdk/client-sts@3.575.0) '@aws-sdk/client-sts': 3.575.0 '@aws-sdk/core': 3.575.0 - '@aws-sdk/credential-provider-node': 3.575.0(@aws-sdk/client-sso-oidc@3.575.0(@aws-sdk/client-sts@3.575.0))(@aws-sdk/client-sts@3.575.0) + '@aws-sdk/credential-provider-node': 3.575.0(@aws-sdk/client-sso-oidc@3.575.0)(@aws-sdk/client-sts@3.575.0) '@aws-sdk/middleware-host-header': 3.575.0 '@aws-sdk/middleware-logger': 3.575.0 '@aws-sdk/middleware-recursion-detection': 3.575.0 @@ -34183,13 +34003,6 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.5 semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34211,17 +34024,6 @@ snapshots: regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.5(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - '@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34351,15 +34153,6 @@ snapshots: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.24.7 - '@babel/helper-module-transforms@7.23.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/helper-module-transforms@7.23.3(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34397,13 +34190,6 @@ snapshots: '@babel/helper-plugin-utils@7.24.5': {} - '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 - '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34551,11 +34337,6 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34576,13 +34357,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34652,13 +34426,6 @@ snapshots: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34687,10 +34454,6 @@ snapshots: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34759,11 +34522,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34784,11 +34542,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34804,11 +34557,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34824,11 +34572,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34844,11 +34587,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -34869,11 +34607,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35074,11 +34807,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35134,12 +34862,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35158,11 +34880,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35183,14 +34900,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.21.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) - '@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35223,13 +34932,6 @@ snapshots: '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.21.4) - '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35258,11 +34960,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35283,11 +34980,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35308,12 +35000,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35338,13 +35024,6 @@ snapshots: '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35373,19 +35052,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-transform-classes@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.21.4) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 - '@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35437,12 +35103,6 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.5 globals: 11.12.0 - '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 - '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35467,11 +35127,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/template': 7.24.0 - '@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35492,12 +35147,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35522,11 +35171,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35547,12 +35191,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35577,12 +35215,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35607,12 +35239,6 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35655,11 +35281,6 @@ snapshots: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.24.4) - '@babel/plugin-transform-for-of@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35681,13 +35302,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35716,12 +35330,6 @@ snapshots: '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35746,11 +35354,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-literals@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35771,12 +35374,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35801,11 +35398,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35826,12 +35418,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35856,13 +35442,6 @@ snapshots: '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35877,13 +35456,6 @@ snapshots: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35912,14 +35484,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - '@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35952,12 +35516,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-validator-identifier': 7.24.7 - '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -35982,12 +35540,6 @@ snapshots: '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36006,11 +35558,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36031,12 +35578,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36061,12 +35602,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36091,15 +35626,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/compat-data': 7.23.2 @@ -36135,12 +35661,6 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.4) - '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.21.4) - '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36165,12 +35685,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36195,13 +35709,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36230,11 +35737,6 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-parameters@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36255,12 +35757,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36285,14 +35781,6 @@ snapshots: '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36325,11 +35813,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36360,11 +35843,6 @@ snapshots: '@babel/core': 7.22.11 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36385,11 +35863,6 @@ snapshots: '@babel/core': 7.22.11 '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36434,15 +35907,6 @@ snapshots: '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) '@babel/types': 7.22.19 - '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) - '@babel/types': 7.24.0 - '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36476,12 +35940,6 @@ snapshots: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36500,12 +35958,6 @@ snapshots: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 - '@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36530,11 +35982,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36567,18 +36014,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-runtime@7.23.2(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.21.4) - babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.21.4) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.21.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-runtime@7.23.2(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36603,11 +36038,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36628,12 +36058,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-spread@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36658,11 +36082,6 @@ snapshots: '@babel/helper-plugin-utils': 7.24.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36683,11 +36102,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36708,11 +36122,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36765,11 +36174,6 @@ snapshots: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36790,12 +36194,6 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36820,12 +36218,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36850,12 +36242,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -36971,92 +36357,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-env@7.23.2(@babel/core@7.21.4)': - dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.21.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.21.4) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.21.4) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.21.4) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.21.4) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.21.4) - '@babel/types': 7.23.0 - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.21.4) - babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.21.4) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.21.4) - core-js-compat: 3.32.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/preset-env@7.23.2(@babel/core@7.22.11)': dependencies: '@babel/compat-data': 7.23.2 @@ -37346,13 +36646,6 @@ snapshots: '@babel/types': 7.24.5 esutils: 2.0.3 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.0 - esutils: 2.0.3 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -37377,16 +36670,6 @@ snapshots: '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.22.11) '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.22.11) - '@babel/preset-react@7.22.15(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.21.4) - '@babel/preset-react@7.22.15(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -37417,15 +36700,6 @@ snapshots: '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.4) '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.24.4) - '@babel/preset-typescript@7.21.4(@babel/core@7.21.4)': - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.21.4) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4) - '@babel/preset-typescript@7.21.4(@babel/core@7.22.11)': dependencies: '@babel/core': 7.22.11 @@ -38944,7 +38218,7 @@ snapshots: optionalDependencies: '@types/react': 17.0.62 - '@emotion/react@11.7.1(@babel/core@7.21.4)(@types/react@18.3.3)(react@18.3.1)': + '@emotion/react@11.7.1(@babel/core@7.24.4)(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.7 '@emotion/cache': 11.11.0 @@ -38955,7 +38229,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 optionalDependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.24.4 '@types/react': 18.3.3 '@emotion/serialize@1.0.2': @@ -39094,9 +38368,6 @@ snapshots: '@esbuild/aix-ppc64@0.20.1': optional: true - '@esbuild/aix-ppc64@0.21.4': - optional: true - '@esbuild/android-arm64@0.18.17': optional: true @@ -39109,9 +38380,6 @@ snapshots: '@esbuild/android-arm64@0.20.1': optional: true - '@esbuild/android-arm64@0.21.4': - optional: true - '@esbuild/android-arm@0.18.17': optional: true @@ -39124,9 +38392,6 @@ snapshots: '@esbuild/android-arm@0.20.1': optional: true - '@esbuild/android-arm@0.21.4': - optional: true - '@esbuild/android-x64@0.18.17': optional: true @@ -39139,9 +38404,6 @@ snapshots: '@esbuild/android-x64@0.20.1': optional: true - '@esbuild/android-x64@0.21.4': - optional: true - '@esbuild/darwin-arm64@0.18.17': optional: true @@ -39154,9 +38416,6 @@ snapshots: '@esbuild/darwin-arm64@0.20.1': optional: true - '@esbuild/darwin-arm64@0.21.4': - optional: true - '@esbuild/darwin-x64@0.18.17': optional: true @@ -39169,9 +38428,6 @@ snapshots: '@esbuild/darwin-x64@0.20.1': optional: true - '@esbuild/darwin-x64@0.21.4': - optional: true - '@esbuild/freebsd-arm64@0.18.17': optional: true @@ -39184,9 +38440,6 @@ snapshots: '@esbuild/freebsd-arm64@0.20.1': optional: true - '@esbuild/freebsd-arm64@0.21.4': - optional: true - '@esbuild/freebsd-x64@0.18.17': optional: true @@ -39199,9 +38452,6 @@ snapshots: '@esbuild/freebsd-x64@0.20.1': optional: true - '@esbuild/freebsd-x64@0.21.4': - optional: true - '@esbuild/linux-arm64@0.18.17': optional: true @@ -39214,9 +38464,6 @@ snapshots: '@esbuild/linux-arm64@0.20.1': optional: true - '@esbuild/linux-arm64@0.21.4': - optional: true - '@esbuild/linux-arm@0.18.17': optional: true @@ -39229,9 +38476,6 @@ snapshots: '@esbuild/linux-arm@0.20.1': optional: true - '@esbuild/linux-arm@0.21.4': - optional: true - '@esbuild/linux-ia32@0.18.17': optional: true @@ -39244,9 +38488,6 @@ snapshots: '@esbuild/linux-ia32@0.20.1': optional: true - '@esbuild/linux-ia32@0.21.4': - optional: true - '@esbuild/linux-loong64@0.18.17': optional: true @@ -39259,9 +38500,6 @@ snapshots: '@esbuild/linux-loong64@0.20.1': optional: true - '@esbuild/linux-loong64@0.21.4': - optional: true - '@esbuild/linux-mips64el@0.18.17': optional: true @@ -39274,9 +38512,6 @@ snapshots: '@esbuild/linux-mips64el@0.20.1': optional: true - '@esbuild/linux-mips64el@0.21.4': - optional: true - '@esbuild/linux-ppc64@0.18.17': optional: true @@ -39289,9 +38524,6 @@ snapshots: '@esbuild/linux-ppc64@0.20.1': optional: true - '@esbuild/linux-ppc64@0.21.4': - optional: true - '@esbuild/linux-riscv64@0.18.17': optional: true @@ -39304,9 +38536,6 @@ snapshots: '@esbuild/linux-riscv64@0.20.1': optional: true - '@esbuild/linux-riscv64@0.21.4': - optional: true - '@esbuild/linux-s390x@0.18.17': optional: true @@ -39319,9 +38548,6 @@ snapshots: '@esbuild/linux-s390x@0.20.1': optional: true - '@esbuild/linux-s390x@0.21.4': - optional: true - '@esbuild/linux-x64@0.18.17': optional: true @@ -39334,9 +38560,6 @@ snapshots: '@esbuild/linux-x64@0.20.1': optional: true - '@esbuild/linux-x64@0.21.4': - optional: true - '@esbuild/netbsd-x64@0.18.17': optional: true @@ -39349,9 +38572,6 @@ snapshots: '@esbuild/netbsd-x64@0.20.1': optional: true - '@esbuild/netbsd-x64@0.21.4': - optional: true - '@esbuild/openbsd-x64@0.18.17': optional: true @@ -39364,9 +38584,6 @@ snapshots: '@esbuild/openbsd-x64@0.20.1': optional: true - '@esbuild/openbsd-x64@0.21.4': - optional: true - '@esbuild/sunos-x64@0.18.17': optional: true @@ -39379,9 +38596,6 @@ snapshots: '@esbuild/sunos-x64@0.20.1': optional: true - '@esbuild/sunos-x64@0.21.4': - optional: true - '@esbuild/win32-arm64@0.18.17': optional: true @@ -39394,9 +38608,6 @@ snapshots: '@esbuild/win32-arm64@0.20.1': optional: true - '@esbuild/win32-arm64@0.21.4': - optional: true - '@esbuild/win32-ia32@0.18.17': optional: true @@ -39409,9 +38620,6 @@ snapshots: '@esbuild/win32-ia32@0.20.1': optional: true - '@esbuild/win32-ia32@0.21.4': - optional: true - '@esbuild/win32-x64@0.18.17': optional: true @@ -39424,9 +38632,6 @@ snapshots: '@esbuild/win32-x64@0.20.1': optional: true - '@esbuild/win32-x64@0.21.4': - optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.38.0)': dependencies: eslint: 8.38.0 @@ -41326,10 +40531,10 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@mantine/core@4.2.12(@babel/core@7.21.4)(@mantine/hooks@4.2.12(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/core@4.2.12(@babel/core@7.24.4)(@mantine/hooks@4.2.12(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@mantine/hooks': 4.2.12(react@18.3.1) - '@mantine/styles': 4.2.12(@babel/core@7.21.4)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/styles': 4.2.12(@babel/core@7.24.4)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@popperjs/core': 2.11.7 '@radix-ui/react-scroll-area': 0.1.4(react@18.3.1) react: 18.3.1 @@ -41467,10 +40672,10 @@ snapshots: dependencies: react: 18.2.0 - '@mantine/styles@4.2.12(@babel/core@7.21.4)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/styles@4.2.12(@babel/core@7.24.4)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@emotion/cache': 11.7.1 - '@emotion/react': 11.7.1(@babel/core@7.21.4)(@types/react@18.3.3)(react@18.3.1) + '@emotion/react': 11.7.1(@babel/core@7.24.4)(@types/react@18.3.3)(react@18.3.1) '@emotion/serialize': 1.0.2 '@emotion/utils': 1.0.0 clsx: 1.2.1 @@ -41738,7 +40943,7 @@ snapshots: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) webpack-node-externals: 3.0.0 optionalDependencies: '@swc/core': 1.3.107(@swc/helpers@0.5.2) @@ -42071,7 +41276,7 @@ snapshots: '@next/swc-win32-x64-msvc@14.1.0': optional: true - '@ngtools/webpack@16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(typescript@4.9.5)(webpack@5.88.2(@swc/core@1.3.107))': + '@ngtools/webpack@16.2.8(@angular/compiler-cli@16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5))(typescript@4.9.5)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17))': dependencies: '@angular/compiler-cli': 16.2.11(@angular/compiler@16.2.11(@angular/core@16.2.11(rxjs@7.8.1)(zone.js@0.13.3)))(typescript@4.9.5) typescript: 4.9.5 @@ -44009,10 +43214,10 @@ snapshots: '@pandacss/shared': 0.40.1 micromatch: 4.0.5 - '@pandacss/astro-plugin-studio@0.40.1(astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5))(jsdom@24.0.0)(typescript@4.9.5)': + '@pandacss/astro-plugin-studio@0.40.1(astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5))(jsdom@24.0.0)(typescript@4.9.5)': dependencies: '@pandacss/node': 0.40.1(jsdom@24.0.0)(typescript@4.9.5) - astro: 4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5) + astro: 4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5) javascript-stringify: 2.1.0 transitivePeerDependencies: - jsdom @@ -44320,19 +43525,19 @@ snapshots: '@pandacss/shared@0.40.1': {} - '@pandacss/studio@0.40.1(@types/node@12.20.55)(@types/react-dom@18.3.0)(@types/react@18.3.3)(jsdom@24.0.0)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5)': + '@pandacss/studio@0.40.1(@types/node@12.20.55)(@types/react-dom@18.3.0)(@types/react@18.3.3)(jsdom@24.0.0)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5)': dependencies: - '@astrojs/react': 3.0.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)) - '@pandacss/astro-plugin-studio': 0.40.1(astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5))(jsdom@24.0.0)(typescript@4.9.5) + '@astrojs/react': 3.0.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)) + '@pandacss/astro-plugin-studio': 0.40.1(astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5))(jsdom@24.0.0)(typescript@4.9.5) '@pandacss/config': 0.40.1 '@pandacss/logger': 0.40.1 '@pandacss/shared': 0.40.1 '@pandacss/token-dictionary': 0.40.1 '@pandacss/types': 0.40.1 - astro: 4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5) + astro: 4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0) + vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0) transitivePeerDependencies: - '@types/node' - '@types/react' @@ -46030,7 +45235,7 @@ snapshots: rollup: 2.78.0 stacktrace-parser: 0.1.10 optionalDependencies: - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) transitivePeerDependencies: - encoding - supports-color @@ -46209,16 +45414,6 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@size-limit/esbuild@11.1.4(size-limit@11.1.4)': - dependencies: - esbuild: 0.21.4 - nanoid: 5.0.7 - size-limit: 11.1.4 - - '@size-limit/file@11.1.4(size-limit@11.1.4)': - dependencies: - size-limit: 11.1.4 - '@smithy/abort-controller@2.0.3': dependencies: '@smithy/types': 2.9.1 @@ -51834,14 +51029,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.2.1(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0))': + '@vitejs/plugin-react@4.2.1(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0))': dependencies: '@babel/core': 7.24.4 '@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.4) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0) + vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0) transitivePeerDependencies: - supports-color @@ -53136,7 +52331,7 @@ snapshots: astring@1.8.6: {} - astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)(typescript@4.9.5): + astro@4.4.0(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)(typescript@4.9.5): dependencies: '@astrojs/compiler': 2.8.0 '@astrojs/internal-helpers': 0.2.1 @@ -53198,8 +52393,8 @@ snapshots: tsconfck: 3.0.3(typescript@4.9.5) unist-util-visit: 5.0.0 vfile: 6.0.1 - vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0) - vitefu: 0.2.5(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)) + vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0) + vitefu: 0.2.5(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)) which-pm: 2.2.0 yargs-parser: 21.1.1 zod: 3.22.4 @@ -53574,7 +52769,7 @@ snapshots: schema-utils: 4.0.0 webpack: 5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2)) - babel-loader@9.1.3(@babel/core@7.22.9)(webpack@5.88.2(@swc/core@1.3.107)): + babel-loader@9.1.3(@babel/core@7.22.9)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: '@babel/core': 7.22.9 find-cache-dir: 4.0.0 @@ -53647,15 +52842,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.21.4): - dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.21.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.22.11): dependencies: '@babel/compat-data': 7.23.2 @@ -53691,14 +52877,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.21.4): - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.21.4) - core-js-compat: 3.32.2 - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.22.11): dependencies: '@babel/core': 7.22.11 @@ -53723,13 +52901,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.21.4): - dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.21.4) - transitivePeerDependencies: - - supports-color - babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.22.11): dependencies: '@babel/core': 7.22.11 @@ -55207,7 +54378,7 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@11.0.0(webpack@5.88.2(@swc/core@1.3.107)): + copy-webpack-plugin@11.0.0(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: fast-glob: 3.3.1 glob-parent: 6.0.2 @@ -55789,7 +54960,7 @@ snapshots: semver: 7.6.2 webpack: 5.78.0(@swc/core@1.3.107) - css-loader@6.8.1(webpack@5.88.2(@swc/core@1.3.107)): + css-loader@6.8.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -56894,10 +56065,10 @@ snapshots: esbuild-plugin-alias@0.2.1: {} - esbuild-plugin-compress@1.0.1(esbuild@0.21.4): + esbuild-plugin-compress@1.0.1(esbuild@0.20.1): dependencies: chalk: 4.1.2 - esbuild: 0.21.4 + esbuild: 0.20.1 fs-extra: 10.1.0 micromatch: 4.0.5 @@ -57057,32 +56228,6 @@ snapshots: '@esbuild/win32-ia32': 0.20.1 '@esbuild/win32-x64': 0.20.1 - esbuild@0.21.4: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.4 - '@esbuild/android-arm': 0.21.4 - '@esbuild/android-arm64': 0.21.4 - '@esbuild/android-x64': 0.21.4 - '@esbuild/darwin-arm64': 0.21.4 - '@esbuild/darwin-x64': 0.21.4 - '@esbuild/freebsd-arm64': 0.21.4 - '@esbuild/freebsd-x64': 0.21.4 - '@esbuild/linux-arm': 0.21.4 - '@esbuild/linux-arm64': 0.21.4 - '@esbuild/linux-ia32': 0.21.4 - '@esbuild/linux-loong64': 0.21.4 - '@esbuild/linux-mips64el': 0.21.4 - '@esbuild/linux-ppc64': 0.21.4 - '@esbuild/linux-riscv64': 0.21.4 - '@esbuild/linux-s390x': 0.21.4 - '@esbuild/linux-x64': 0.21.4 - '@esbuild/netbsd-x64': 0.21.4 - '@esbuild/openbsd-x64': 0.21.4 - '@esbuild/sunos-x64': 0.21.4 - '@esbuild/win32-arm64': 0.21.4 - '@esbuild/win32-ia32': 0.21.4 - '@esbuild/win32-x64': 0.21.4 - escalade@3.1.2: {} escape-html@1.0.3: {} @@ -57169,7 +56314,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5): dependencies: '@babel/core': 7.24.4 '@babel/eslint-parser': 7.21.3(@babel/core@7.24.4)(eslint@8.57.0) @@ -57179,9 +56324,9 @@ snapshots: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(eslint@8.57.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint@8.57.0) eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0) eslint-plugin-react: 7.32.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -57196,7 +56341,7 @@ snapshots: - jest - supports-color - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5): dependencies: '@babel/core': 7.24.4 '@babel/eslint-parser': 7.21.3(@babel/core@7.24.4)(eslint@8.57.0) @@ -57206,9 +56351,9 @@ snapshots: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint@8.57.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(eslint@8.57.0) eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0) eslint-plugin-react: 7.32.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -57245,7 +56390,7 @@ snapshots: lodash: 4.17.21 resolve: 2.0.0-next.4 semver: 5.7.2 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) transitivePeerDependencies: - supports-color @@ -57300,18 +56445,18 @@ snapshots: eslint: 8.57.0 ignore: 5.2.4 - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(eslint@8.57.0): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint@8.57.0): dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.21.4) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.11) eslint: 8.57.0 lodash: 4.17.21 string-natural-compare: 3.0.1 - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint@8.57.0): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(eslint@8.57.0): dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.11) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.11) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.24.4) eslint: 8.57.0 lodash: 4.17.21 string-natural-compare: 3.0.1 @@ -58424,7 +57569,7 @@ snapshots: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) optional: true file-selector@0.6.0: @@ -58755,7 +57900,7 @@ snapshots: semver: 7.5.4 tapable: 2.2.1 typescript: 5.1.6 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) form-data@2.3.3: dependencies: @@ -59975,7 +59120,7 @@ snapshots: tapable: 2.2.1 webpack: 5.78.0(@swc/core@1.3.107) - html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)): + html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -63482,7 +62627,7 @@ snapshots: - encoding - supports-color - less-loader@11.1.0(less@4.1.3)(webpack@5.88.2(@swc/core@1.3.107)): + less-loader@11.1.0(less@4.1.3)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: klona: 2.0.6 less: 4.1.3 @@ -63556,7 +62701,7 @@ snapshots: libphonenumber-js@1.10.26: {} - license-webpack-plugin@4.0.2(webpack@5.88.2(@swc/core@1.3.107)): + license-webpack-plugin@4.0.2(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: webpack-sources: 3.2.3 optionalDependencies: @@ -65187,7 +64332,7 @@ snapshots: schema-utils: 4.0.0 webpack: 5.78.0(@swc/core@1.3.107) - mini-css-extract-plugin@2.7.6(webpack@5.88.2(@swc/core@1.3.107)): + mini-css-extract-plugin@2.7.6(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: schema-utils: 4.0.0 webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) @@ -65598,8 +64743,6 @@ snapshots: nanoid@3.3.7: {} - nanoid@5.0.7: {} - nanomatch@1.2.13: dependencies: arr-diff: 4.0.0 @@ -65616,10 +64759,6 @@ snapshots: transitivePeerDependencies: - supports-color - nanospinner@1.1.0: - dependencies: - picocolors: 1.0.0 - napi-build-utils@1.0.2: optional: true @@ -67264,8 +66403,6 @@ snapshots: picocolors@1.0.0: {} - picocolors@1.0.1: {} - picomatch@2.3.1: {} picomatch@4.0.2: {} @@ -67697,7 +66834,7 @@ snapshots: semver: 7.6.2 webpack: 5.78.0(@swc/core@1.3.107) - postcss-loader@7.3.3(postcss@8.4.31)(webpack@5.88.2(@swc/core@1.3.107)): + postcss-loader@7.3.3(postcss@8.4.31)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: cosmiconfig: 8.2.0 jiti: 1.21.0 @@ -69228,14 +68365,14 @@ snapshots: regenerator-runtime: 0.13.11 whatwg-fetch: 3.6.2 - react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)): + react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)): dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) semver: 5.7.2 - react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)): + react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3)): dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3) semver: 5.7.2 react-base16-styling@0.6.0: @@ -69662,56 +68799,56 @@ snapshots: transitivePeerDependencies: - supports-color - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3): dependencies: '@babel/core': 7.21.4 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(@types/webpack@4.41.34)(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.11.1(webpack@5.78.0(@swc/core@1.3.107)))(webpack-hot-middleware@2.25.3)(webpack@5.78.0(@swc/core@1.3.107)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(@types/webpack@4.41.34)(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.11.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)))(webpack-hot-middleware@2.25.3)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) '@svgr/webpack': 5.5.0 babel-jest: 27.5.1(@babel/core@7.21.4) - babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0(@swc/core@1.3.107)) + babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) babel-plugin-named-asset-import: 0.3.8(@babel/core@7.21.4) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.5 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.7.3(webpack@5.78.0(@swc/core@1.3.107)) - css-minimizer-webpack-plugin: 3.4.1(webpack@5.78.0(@swc/core@1.3.107)) + css-loader: 6.7.3(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + css-minimizer-webpack-plugin: 3.4.1(esbuild@0.18.20)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.57.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.21.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.21.4))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) - eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.78.0(@swc/core@1.3.107)) - file-loader: 6.2.0(webpack@5.78.0(@swc/core@1.3.107)) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + file-loader: 6.2.0(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) fs-extra: 10.1.0 - html-webpack-plugin: 5.5.3(webpack@5.78.0(@swc/core@1.3.107)) + html-webpack-plugin: 5.5.3(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) identity-obj-proxy: 3.0.0 - jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)) + jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))) - mini-css-extract-plugin: 2.7.5(webpack@5.78.0(@swc/core@1.3.107)) + jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))) + mini-css-extract-plugin: 2.7.5(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) postcss: 8.4.31 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.31) - postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.78.0(@swc/core@1.3.107)) + postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) postcss-normalize: 10.0.1(browserslist@4.21.5)(postcss@8.4.31) postcss-preset-env: 7.8.3(postcss@8.4.31) prompts: 2.4.2 react: 18.3.1 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack@5.78.0(@swc/core@1.3.107)) + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) react-refresh: 0.11.0 resolve: 1.22.2 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(sass@1.64.1)(webpack@5.78.0(@swc/core@1.3.107)) + sass-loader: 12.6.0(sass@1.64.1)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) semver: 7.5.4 - source-map-loader: 3.0.2(webpack@5.78.0(@swc/core@1.3.107)) - style-loader: 3.3.2(webpack@5.78.0(@swc/core@1.3.107)) - tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)) - terser-webpack-plugin: 5.3.7(@swc/core@1.3.107)(webpack@5.78.0(@swc/core@1.3.107)) - webpack: 5.78.0(@swc/core@1.3.107) - webpack-dev-server: 4.11.1(webpack@5.78.0(@swc/core@1.3.107)) - webpack-manifest-plugin: 4.1.1(webpack@5.78.0(@swc/core@1.3.107)) - workbox-webpack-plugin: 6.5.4(@types/babel__core@7.20.5)(webpack@5.78.0(@swc/core@1.3.107)) + source-map-loader: 3.0.2(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + style-loader: 3.3.2(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)) + terser-webpack-plugin: 5.3.7(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + webpack: 5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20) + webpack-dev-server: 4.11.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + webpack-manifest-plugin: 4.1.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + workbox-webpack-plugin: 6.5.4(@types/babel__core@7.20.5)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) optionalDependencies: fsevents: 2.3.3 typescript: 4.9.5 @@ -69748,56 +68885,56 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(esbuild@0.18.20)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(@swc/core@1.3.107)(@types/babel__core@7.20.5)(@types/webpack@4.41.34)(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(react@18.3.1)(sass@1.64.1)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))(type-fest@2.19.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack-hot-middleware@2.25.3): dependencies: '@babel/core': 7.21.4 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(@types/webpack@4.41.34)(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.11.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)))(webpack-hot-middleware@2.25.3)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(@types/webpack@4.41.34)(react-refresh@0.11.0)(type-fest@2.19.0)(webpack-dev-server@4.11.1(webpack@5.78.0(@swc/core@1.3.107)))(webpack-hot-middleware@2.25.3)(webpack@5.78.0(@swc/core@1.3.107)) '@svgr/webpack': 5.5.0 babel-jest: 27.5.1(@babel/core@7.21.4) - babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0(@swc/core@1.3.107)) babel-plugin-named-asset-import: 0.3.8(@babel/core@7.21.4) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.5 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.7.3(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - css-minimizer-webpack-plugin: 3.4.1(esbuild@0.18.20)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + css-loader: 6.7.3(webpack@5.78.0(@swc/core@1.3.107)) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.78.0(@swc/core@1.3.107)) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.57.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.11))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.11))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) - eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - file-loader: 6.2.0(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.22.5(@babel/core@7.24.4))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.4))(eslint-import-resolver-webpack@0.13.7(eslint-plugin-import@2.28.1)(webpack@5.88.2(@swc/core@1.3.107)))(eslint@8.57.0)(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)))(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.78.0(@swc/core@1.3.107)) + file-loader: 6.2.0(webpack@5.78.0(@swc/core@1.3.107)) fs-extra: 10.1.0 - html-webpack-plugin: 5.5.3(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + html-webpack-plugin: 5.5.3(webpack@5.78.0(@swc/core@1.3.107)) identity-obj-proxy: 3.0.0 - jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)) + jest: 27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5))) - mini-css-extract-plugin: 2.7.5(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + jest-watch-typeahead: 1.1.0(jest@27.5.1(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5))) + mini-css-extract-plugin: 2.7.5(webpack@5.78.0(@swc/core@1.3.107)) postcss: 8.4.31 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.31) - postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.78.0(@swc/core@1.3.107)) postcss-normalize: 10.0.1(browserslist@4.21.5)(postcss@8.4.31) postcss-preset-env: 7.8.3(postcss@8.4.31) prompts: 2.4.2 react: 18.3.1 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@4.9.5)(vue-template-compiler@2.7.14)(webpack@5.78.0(@swc/core@1.3.107)) react-refresh: 0.11.0 resolve: 1.22.2 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(sass@1.64.1)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + sass-loader: 12.6.0(sass@1.64.1)(webpack@5.78.0(@swc/core@1.3.107)) semver: 7.5.4 - source-map-loader: 3.0.2(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - style-loader: 3.3.2(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.2(@swc/core@1.3.107(@swc/helpers@0.5.2))(@types/node@12.20.55)(typescript@4.9.5)) - terser-webpack-plugin: 5.3.7(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - webpack: 5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20) - webpack-dev-server: 4.11.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - webpack-manifest-plugin: 4.1.1(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) - workbox-webpack-plugin: 6.5.4(@types/babel__core@7.20.5)(webpack@5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2))(esbuild@0.18.20)) + source-map-loader: 3.0.2(webpack@5.78.0(@swc/core@1.3.107)) + style-loader: 3.3.2(webpack@5.78.0(@swc/core@1.3.107)) + tailwindcss: 3.3.1(postcss@8.4.31)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@12.20.55)(typescript@4.9.5)) + terser-webpack-plugin: 5.3.7(@swc/core@1.3.107)(webpack@5.78.0(@swc/core@1.3.107)) + webpack: 5.78.0(@swc/core@1.3.107) + webpack-dev-server: 4.11.1(webpack@5.78.0(@swc/core@1.3.107)) + webpack-manifest-plugin: 4.1.1(webpack@5.78.0(@swc/core@1.3.107)) + workbox-webpack-plugin: 6.5.4(@types/babel__core@7.20.5)(webpack@5.78.0(@swc/core@1.3.107)) optionalDependencies: fsevents: 2.3.3 typescript: 4.9.5 @@ -70892,7 +70029,7 @@ snapshots: optionalDependencies: sass: 1.64.1 - sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2(@swc/core@1.3.107)): + sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: neo-async: 2.6.2 webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) @@ -71249,16 +70386,6 @@ snapshots: sisteransi@1.0.5: {} - size-limit@11.1.4: - dependencies: - bytes-iec: 3.1.1 - chokidar: 3.6.0 - globby: 14.0.1 - jiti: 1.21.0 - lilconfig: 3.1.1 - nanospinner: 1.1.0 - picocolors: 1.0.1 - slash@1.0.0: {} slash@2.0.0: {} @@ -71435,7 +70562,7 @@ snapshots: source-map-js: 1.0.2 webpack: 5.78.0(@swc/core@1.3.107) - source-map-loader@4.0.1(webpack@5.88.2(@swc/core@1.3.107)): + source-map-loader@4.0.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: abab: 2.0.6 iconv-lite: 0.6.3 @@ -72015,6 +71142,11 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 + sugarss@4.0.1(postcss@8.4.31): + dependencies: + postcss: 8.4.31 + optional: true + sugarss@4.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -72495,7 +71627,7 @@ snapshots: optionalDependencies: '@swc/core': 1.3.107(@swc/helpers@0.5.2) - terser-webpack-plugin@5.3.9(@swc/core@1.3.107)(esbuild@0.18.17)(webpack@5.88.2(@swc/core@1.3.107)): + terser-webpack-plugin@5.3.9(@swc/core@1.3.107)(esbuild@0.18.17)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: '@jridgewell/trace-mapping': 0.3.18 jest-worker: 27.5.1 @@ -72540,17 +71672,6 @@ snapshots: optionalDependencies: '@swc/core': 1.3.107(@swc/helpers@0.5.2) - terser-webpack-plugin@5.3.9(@swc/core@1.3.107)(webpack@5.88.2(@swc/core@1.3.107)): - dependencies: - '@jridgewell/trace-mapping': 0.3.18 - jest-worker: 27.5.1 - schema-utils: 3.1.2 - serialize-javascript: 6.0.1 - terser: 5.16.9 - webpack: 5.88.2(@swc/core@1.3.107) - optionalDependencies: - '@swc/core': 1.3.107(@swc/helpers@0.5.2) - terser@5.16.9: dependencies: '@jridgewell/source-map': 0.3.3 @@ -72971,7 +72092,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.4) - ts-jest@29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.21.4)(jest@29.7.0(@types/node@18.16.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5)))(typescript@4.9.5): + ts-jest@29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(esbuild@0.20.1)(jest@29.7.0(@types/node@18.16.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@18.16.9)(typescript@4.9.5)))(typescript@4.9.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -72987,7 +72108,7 @@ snapshots: '@babel/core': 7.24.4 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.4) - esbuild: 0.21.4 + esbuild: 0.20.1 ts-jest@29.1.2(@babel/core@7.24.4)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.7.0(@types/node@14.18.42)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.3.107)(@types/node@14.18.42)(typescript@4.9.5)))(typescript@4.9.5): dependencies: @@ -73056,7 +72177,7 @@ snapshots: micromatch: 4.0.5 semver: 7.5.2 typescript: 4.9.5 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) ts-morph@12.0.0: dependencies: @@ -73953,7 +73074,7 @@ snapshots: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.107) + webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) optionalDependencies: file-loader: 6.2.0(webpack@5.88.2(@swc/core@1.3.107)) @@ -74428,7 +73549,7 @@ snapshots: sugarss: 4.0.1(postcss@8.4.38) terser: 5.22.0 - vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0): + vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0): dependencies: esbuild: 0.19.12 postcss: 8.4.38 @@ -74439,7 +73560,7 @@ snapshots: less: 4.1.3 lightningcss: 1.23.0 sass: 1.64.1 - sugarss: 4.0.1(postcss@8.4.38) + sugarss: 4.0.1(postcss@8.4.31) terser: 5.22.0 vite@5.1.7(@types/node@18.16.9)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0): @@ -74484,9 +73605,9 @@ snapshots: sugarss: 4.0.1(postcss@8.4.38) terser: 5.22.0 - vitefu@0.2.5(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)): + vitefu@0.2.5(vite@5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0)): optionalDependencies: - vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0) + vite: 5.1.7(@types/node@12.20.55)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.31))(terser@5.22.0) vitefu@0.2.5(vite@5.1.7(@types/node@18.16.9)(less@4.1.3)(lightningcss@1.23.0)(sass@1.64.1)(sugarss@4.0.1(postcss@8.4.38))(terser@5.22.0)): optionalDependencies: @@ -74810,7 +73931,7 @@ snapshots: schema-utils: 4.0.0 webpack: 5.78.0(@swc/core@1.3.107) - webpack-dev-middleware@5.3.3(webpack@5.88.2(@swc/core@1.3.107)): + webpack-dev-middleware@5.3.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: colorette: 2.0.19 memfs: 3.5.0 @@ -74849,7 +73970,7 @@ snapshots: optionalDependencies: webpack: 5.78.0(@swc/core@1.3.107(@swc/helpers@0.5.2)) - webpack-dev-middleware@6.1.1(webpack@5.88.2(@swc/core@1.3.107)): + webpack-dev-middleware@6.1.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: colorette: 2.0.19 memfs: 3.5.0 @@ -74935,7 +74056,7 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)): + webpack-dev-server@4.15.1(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: '@types/bonjour': 3.5.10 '@types/connect-history-api-fallback': 1.3.5 @@ -74965,7 +74086,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.3(webpack@5.88.2(@swc/core@1.3.107)) + webpack-dev-middleware: 5.3.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) ws: 8.13.0 optionalDependencies: webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) @@ -75017,12 +74138,12 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)))(webpack@5.88.2(@swc/core@1.3.107)): + webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)))(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)): dependencies: typed-assert: 1.0.9 webpack: 5.88.2(@swc/core@1.3.107)(esbuild@0.18.17) optionalDependencies: - html-webpack-plugin: 5.5.3(webpack@5.88.2(@swc/core@1.3.107)) + html-webpack-plugin: 5.5.3(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) webpack-virtual-modules@0.5.0: {} @@ -75218,37 +74339,6 @@ snapshots: - esbuild - uglify-js - webpack@5.88.2(@swc/core@1.3.107): - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.11.5 - '@webassemblyjs/wasm-edit': 1.11.5 - '@webassemblyjs/wasm-parser': 1.11.5 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 - es-module-lexer: 1.2.1 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.107)(webpack@5.88.2(@swc/core@1.3.107)) - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17): dependencies: '@types/eslint-scope': 3.7.4 @@ -75272,7 +74362,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.107)(esbuild@0.18.17)(webpack@5.88.2(@swc/core@1.3.107)) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.107)(esbuild@0.18.17)(webpack@5.88.2(@swc/core@1.3.107)(esbuild@0.18.17)) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: