From 1b52fadb91fb1ed9d50ac6178b7722d084b803e6 Mon Sep 17 00:00:00 2001 From: pedrobonamin Date: Fri, 27 Sep 2024 11:20:16 +0200 Subject: [PATCH] feat(core): use quick-lru for documents edit state --- .../document/document-pair/editState.ts | 120 ++++---- .../document-pair/utils/localStoragePOC.ts | 76 ----- .../document/document-pair/validation.ts | 2 + .../store/_legacy/document/document-store.ts | 5 +- .../_legacy/document/documentsStorage.ts | 21 ++ pnpm-lock.yaml | 263 ++++++++---------- 6 files changed, 197 insertions(+), 290 deletions(-) delete mode 100644 packages/sanity/src/core/store/_legacy/document/document-pair/utils/localStoragePOC.ts create mode 100644 packages/sanity/src/core/store/_legacy/document/documentsStorage.ts diff --git a/packages/sanity/src/core/store/_legacy/document/document-pair/editState.ts b/packages/sanity/src/core/store/_legacy/document/document-pair/editState.ts index d2fc4c7d246a..6bb0ac511d71 100644 --- a/packages/sanity/src/core/store/_legacy/document/document-pair/editState.ts +++ b/packages/sanity/src/core/store/_legacy/document/document-pair/editState.ts @@ -1,14 +1,14 @@ import {type SanityClient} from '@sanity/client' import {type SanityDocument, type Schema} from '@sanity/types' -import {combineLatest, defer, merge, type Observable, of} from 'rxjs' -import {finalize, map, publishReplay, refCount, startWith, switchMap, tap} from 'rxjs/operators' +import {combineLatest, defer, type Observable, of} from 'rxjs' +import {map, publishReplay, refCount, startWith, switchMap, tap} from 'rxjs/operators' +import {type DocumentsStorage} from '../documentsStorage' import {type IdPair, type PendingMutationsEvent} from '../types' import {memoize} from '../utils/createMemoizer' import {memoizeKeyGen} from './memoizeKeyGen' import {snapshotPair} from './snapshotPair' import {isLiveEditEnabled} from './utils/isLiveEditEnabled' -import {getPairFromLocalStorage, savePairToLocalStorage} from './utils/localStoragePOC' interface TransactionSyncLockState { enabled: boolean @@ -36,81 +36,59 @@ export const editState = memoize( client: SanityClient schema: Schema serverActionsEnabled: Observable + storage: DocumentsStorage }, idPair: IdPair, typeName: string, ): Observable => { const liveEdit = isLiveEditEnabled(ctx.schema, typeName) - const INITIAL = { - id: idPair.publishedId, - type: typeName, - draft: null, - published: null, - liveEdit, - ready: false, - transactionSyncLock: null, - } + const storage = ctx.storage - let cachedDocumentPair: { - draft: SanityDocument | null - published: SanityDocument | null - } | null = null - - function getCachedPair() { - // try first read it from memory - // if we haven't got it in memory, see if it's in localstorage - if (cachedDocumentPair) { - return cachedDocumentPair - } - return getPairFromLocalStorage(idPair) - } - - return snapshotPair(ctx.client, idPair, typeName, ctx.serverActionsEnabled).pipe( - switchMap((versions) => - combineLatest([ - versions.draft.snapshots$, - versions.published.snapshots$, - versions.transactionsPendingEvents$.pipe( - // eslint-disable-next-line max-nested-callbacks - map((ev: PendingMutationsEvent) => (ev.phase === 'begin' ? LOCKED : NOT_LOCKED)), - startWith(NOT_LOCKED), + return defer(() => { + return of({ + draft: storage.get(idPair.draftId) || null, + published: storage.get(idPair.publishedId) || null, + }) + }).pipe( + switchMap((cachePair) => { + return snapshotPair(ctx.client, idPair, typeName, ctx.serverActionsEnabled).pipe( + switchMap((versions) => + combineLatest([ + versions.draft.snapshots$, + versions.published.snapshots$, + versions.transactionsPendingEvents$.pipe( + // eslint-disable-next-line max-nested-callbacks + map((ev: PendingMutationsEvent) => (ev.phase === 'begin' ? LOCKED : NOT_LOCKED)), + startWith(NOT_LOCKED), + ), + ]), ), - ]), - ), - tap(([draft, published]) => { - cachedDocumentPair = {draft, published} - }), - map(([draftSnapshot, publishedSnapshot, transactionSyncLock]) => ({ - id: idPair.publishedId, - type: typeName, - draft: draftSnapshot, - published: publishedSnapshot, - liveEdit, - ready: true, - transactionSyncLock, - })), - // todo: turn this into a proper operator function - It's like startWith only that it takes a function that will be invoked upon subscription - (input$) => { - return defer(() => { - const cachedPair = getCachedPair() - return merge( - cachedPair - ? of({ - id: idPair.publishedId, - type: typeName, - draft: cachedPair.draft, - published: cachedPair.published, - liveEdit, - ready: false, - transactionSyncLock: null, - }) - : of(INITIAL), - input$, - ) - }) - }, - finalize(() => { - savePairToLocalStorage(cachedDocumentPair) + tap(([draftSnapshot, publishedSnapshot]) => { + if (draftSnapshot) { + storage.save(idPair.draftId, draftSnapshot) + } else if (publishedSnapshot) { + storage.save(idPair.publishedId, publishedSnapshot) + } + }), + map(([draftSnapshot, publishedSnapshot, transactionSyncLock]) => ({ + id: idPair.publishedId, + type: typeName, + draft: draftSnapshot, + published: publishedSnapshot, + liveEdit, + ready: true, + transactionSyncLock, + })), + startWith({ + id: idPair.publishedId, + type: typeName, + draft: cachePair.draft, + published: cachePair.published, + liveEdit, + ready: false, + transactionSyncLock: null, + }), + ) }), publishReplay(1), refCount(), diff --git a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/localStoragePOC.ts b/packages/sanity/src/core/store/_legacy/document/document-pair/utils/localStoragePOC.ts deleted file mode 100644 index aebda4781b56..000000000000 --- a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/localStoragePOC.ts +++ /dev/null @@ -1,76 +0,0 @@ -import {isSanityDocument, type SanityDocument} from '@sanity/types' - -import {supportsLocalStorage} from '../../../../../util/supportsLocalStorage' -import {type IdPair} from '../../types' - -const createDocumentLocalStorageKey = (documentId: string) => `sanity:editState:${documentId}` - -const getDocumentFromLocalStorage = (id: string): SanityDocument | null => { - if (!supportsLocalStorage) return null - - const key = createDocumentLocalStorageKey(id) - - try { - const document = localStorage.getItem(key) - - if (!document) return null - const parsed = JSON.parse(document) - return isSanityDocument(parsed) ? parsed : null - } catch (error) { - console.error(`Error parsing document with ID ${id} from localStorage:`, error) - return null - } -} - -const saveDocumentToLocalStorage = (document: SanityDocument) => { - if (!supportsLocalStorage) return - - const key = createDocumentLocalStorageKey(document._id) - - try { - localStorage.setItem(key, JSON.stringify(document)) - } catch (error) { - console.error(`Error saving document with ID ${document._id} to localStorage:`, error) - } -} - -/** - * Function to get the draft and published document from local storage - * it's not production ready, it's POC only, local storage supports up to 5mb of data which won't be enough for the datasets. - * @internal - * @hidden - */ -export const getPairFromLocalStorage = (idPair: IdPair) => { - if (!supportsLocalStorage) { - return { - draft: null, - published: null, - } - } - - return { - draft: getDocumentFromLocalStorage(idPair.draftId), - published: getDocumentFromLocalStorage(idPair.publishedId), - } -} - -/** - * Function to save the draft and published documents to local storage. - * Note: This is a proof of concept and not production-ready. - * Local storage supports up to 5MB of data, which will not be sufficient for large datasets. - * @internal - * @hidden - */ -export const savePairToLocalStorage = ( - documentPair: { - draft: SanityDocument | null - published: SanityDocument | null - } | null, -) => { - if (documentPair?.draft) { - saveDocumentToLocalStorage(documentPair.draft) - } - if (documentPair?.published) { - saveDocumentToLocalStorage(documentPair.published) - } -} diff --git a/packages/sanity/src/core/store/_legacy/document/document-pair/validation.ts b/packages/sanity/src/core/store/_legacy/document/document-pair/validation.ts index 8cf895fe80ac..c3db6550fc99 100644 --- a/packages/sanity/src/core/store/_legacy/document/document-pair/validation.ts +++ b/packages/sanity/src/core/store/_legacy/document/document-pair/validation.ts @@ -9,6 +9,7 @@ import {type SourceClientOptions} from '../../../../config' import {type LocaleSource} from '../../../../i18n' import {type DraftsModelDocumentAvailability} from '../../../../preview' import {validateDocumentWithReferences, type ValidationStatus} from '../../../../validation' +import {type DocumentsStorage} from '../documentsStorage' import {type IdPair} from '../types' import {memoize} from '../utils/createMemoizer' import {editState} from './editState' @@ -31,6 +32,7 @@ export const validation = memoize( schema: Schema i18n: LocaleSource serverActionsEnabled: Observable + storage: DocumentsStorage }, {draftId, publishedId}: IdPair, typeName: string, diff --git a/packages/sanity/src/core/store/_legacy/document/document-store.ts b/packages/sanity/src/core/store/_legacy/document/document-store.ts index e21c1b24b1ed..dceea95b7a41 100644 --- a/packages/sanity/src/core/store/_legacy/document/document-store.ts +++ b/packages/sanity/src/core/store/_legacy/document/document-store.ts @@ -23,11 +23,11 @@ import { } from './document-pair/operationEvents' import {type OperationsAPI} from './document-pair/operations' import {validation} from './document-pair/validation' +import {createDocumentsStorage} from './documentsStorage' import {getInitialValueStream, type InitialValueMsg, type InitialValueOptions} from './initialValue' import {listenQuery, type ListenQueryOptions} from './listenQuery' import {resolveTypeForDocument} from './resolveTypeForDocument' import {type IdPair} from './types' - /** * @hidden * @beta */ @@ -104,7 +104,7 @@ export function createDocumentStore({ // internal operations, and a `getClient` method that we expose to user-land // for things like validations const client = getClient(DEFAULT_STUDIO_CLIENT_OPTIONS) - + const storage = createDocumentsStorage() const ctx = { client, getClient, @@ -113,6 +113,7 @@ export function createDocumentStore({ schema, i18n, serverActionsEnabled, + storage, } return { diff --git a/packages/sanity/src/core/store/_legacy/document/documentsStorage.ts b/packages/sanity/src/core/store/_legacy/document/documentsStorage.ts new file mode 100644 index 000000000000..5da6aa16c742 --- /dev/null +++ b/packages/sanity/src/core/store/_legacy/document/documentsStorage.ts @@ -0,0 +1,21 @@ +import {type SanityDocument} from '@sanity/types' +import QuickLRU from 'quick-lru' + +export interface DocumentsStorage { + save: (id: string, doc: SanityDocument) => void + get: (id: string) => SanityDocument | null +} + +export function createDocumentsStorage(): DocumentsStorage { + const documentsCache = new QuickLRU({ + maxSize: 50, + }) + return { + save(id, doc) { + documentsCache.set(id, doc) + }, + get(id) { + return documentsCache.get(id) || null + }, + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c31b61dbb42c..6ff4ee8aed48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -182,13 +182,13 @@ importers: version: 9.1.4 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + version: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) js-yaml: specifier: ^4.1.0 version: 4.1.0 lerna: specifier: ^8.1.8 - version: 8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))(babel-plugin-macros@3.1.0)(encoding@0.1.13) + version: 8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)(babel-plugin-macros@3.1.0)(encoding@0.1.13) lint-staged: specifier: ^12.1.2 version: 12.5.0(enquirer@2.4.1) @@ -485,7 +485,7 @@ importers: version: link:../../packages/@sanity/migrate '@sanity/preview-url-secret': specifier: ^1.6.1 - version: 1.6.21(@sanity/client@6.21.3(debug@4.3.7)) + version: 1.6.21(@sanity/client@6.21.3) '@sanity/react-loader': specifier: ^1.8.3 version: 1.10.7(@sanity/client@6.21.3)(react@18.3.1) @@ -512,7 +512,7 @@ importers: version: link:../../packages/@sanity/vision '@sanity/visual-editing': specifier: 2.1.10 - version: 2.1.10(@sanity/client@6.21.3)(next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.10(@sanity/client@6.21.3)(next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@turf/helpers': specifier: ^6.0.1 version: 6.5.0 @@ -766,7 +766,7 @@ importers: dependencies: '@babel/traverse': specifier: ^7.23.5 - version: 7.25.3 + version: 7.25.3(supports-color@5.5.0) '@sanity/client': specifier: ^6.21.3 version: 6.21.3(debug@4.3.7) @@ -784,7 +784,7 @@ importers: version: 4.1.2 debug: specifier: ^4.3.4 - version: 4.3.7(supports-color@9.4.0) + version: 4.3.7(supports-color@5.5.0) decompress: specifier: ^4.2.0 version: 4.2.1 @@ -1004,13 +1004,13 @@ importers: version: 7.24.6(@babel/core@7.25.2) '@babel/traverse': specifier: ^7.23.5 - version: 7.25.3 + version: 7.25.3(supports-color@5.5.0) '@babel/types': specifier: ^7.23.9 version: 7.25.6 debug: specifier: ^4.3.4 - version: 4.3.7(supports-color@9.4.0) + version: 4.3.7(supports-color@5.5.0) globby: specifier: ^10.0.0 version: 10.0.2 @@ -1090,7 +1090,7 @@ importers: version: 2.0.1 debug: specifier: ^4.3.4 - version: 4.3.7(supports-color@9.4.0) + version: 4.3.7(supports-color@5.5.0) fast-fifo: specifier: ^1.3.2 version: 1.3.2 @@ -1133,7 +1133,7 @@ importers: version: 3.0.2 debug: specifier: ^4.3.4 - version: 4.3.7(supports-color@9.4.0) + version: 4.3.7(supports-color@5.5.0) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1567,7 +1567,7 @@ importers: version: 2.30.0 debug: specifier: ^4.3.4 - version: 4.3.7(supports-color@9.4.0) + version: 4.3.7(supports-color@5.5.0) esbuild: specifier: 0.21.5 version: 0.21.5 @@ -2034,7 +2034,7 @@ importers: version: 0.21.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2) + version: 10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2) typescript: specifier: 5.6.2 version: 5.6.2 @@ -12069,10 +12069,10 @@ snapshots: '@babel/helpers': 7.25.0 '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -12116,7 +12116,7 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -12137,7 +12137,7 @@ snapshots: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -12154,7 +12154,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -12162,14 +12162,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -12184,10 +12177,10 @@ snapshots: '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12202,7 +12195,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12211,20 +12204,20 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -12238,7 +12231,7 @@ snapshots: '@babel/helper-wrap-function@7.25.0': dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -12263,7 +12256,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12290,7 +12283,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12423,14 +12416,14 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: @@ -12470,7 +12463,7 @@ snapshots: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -12536,7 +12529,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12585,7 +12578,7 @@ snapshots: '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12705,7 +12698,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) '@babel/types': 7.25.6 @@ -12931,18 +12924,6 @@ snapshots: '@babel/parser': 7.25.6 '@babel/types': 7.25.6 - '@babel/traverse@7.25.3': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.7(supports-color@9.4.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.25.3(supports-color@5.5.0)': dependencies: '@babel/code-frame': 7.24.7 @@ -13077,7 +13058,7 @@ snapshots: '@emotion/babel-plugin@11.12.0': dependencies: - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/runtime': 7.25.6 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -13450,7 +13431,7 @@ snapshots: '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -13458,7 +13439,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -13472,7 +13453,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) espree: 10.1.0 globals: 14.0.0 ignore: 5.3.2 @@ -13561,7 +13542,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -13685,7 +13666,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0(node-notifier@10.0.1) @@ -13699,7 +13680,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -13877,12 +13858,12 @@ snapshots: '@juggle/resize-observer@3.4.0': {} - '@lerna/create@8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.2)': + '@lerna/create@8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.2)': dependencies: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))) + '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -13921,7 +13902,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)) + nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -14282,29 +14263,29 @@ snapshots: - bluebird - supports-color - '@nrwl/devkit@19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)))': + '@nrwl/devkit@19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14))': dependencies: - '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))) + '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)) transitivePeerDependencies: - nx - '@nrwl/tao@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))': + '@nrwl/tao@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)': dependencies: - nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)) + nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14) tslib: 2.7.0 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug - '@nx/devkit@19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)))': + '@nx/devkit@19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14))': dependencies: - '@nrwl/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))) + '@nrwl/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)) ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)) + nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14) semver: 7.6.3 tmp: 0.2.3 tslib: 2.7.0 @@ -14533,7 +14514,7 @@ snapshots: '@sanity/schema': link:packages/@sanity/schema '@sanity/types': link:packages/@sanity/types '@sanity/util': link:packages/@sanity/util - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) is-hotkey-esm: 1.0.0 lodash: 4.17.21 react: 18.3.1 @@ -14606,7 +14587,7 @@ snapshots: '@rollup/plugin-babel@6.0.4(@babel/core@7.25.2)(@types/babel__core@7.20.5)(rollup@4.21.3)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@rollup/pluginutils': 5.1.0(rollup@4.21.3) optionalDependencies: '@types/babel__core': 7.20.5 @@ -14892,7 +14873,7 @@ snapshots: '@sanity/client': 6.21.3(debug@4.3.7) '@sanity/util': 3.37.2(debug@4.3.7) archiver: 7.0.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) get-it: 8.6.5(debug@4.3.7) lodash: 4.17.21 mississippi: 4.0.0 @@ -14943,7 +14924,7 @@ snapshots: '@sanity/generate-help-url': 3.0.0 '@sanity/mutator': 3.37.2 '@sanity/uuid': 3.0.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) file-url: 2.0.2 get-it: 8.6.5(debug@4.3.7) get-uri: 2.0.4 @@ -15034,7 +15015,7 @@ snapshots: dependencies: '@sanity/diff-match-patch': 3.1.1 '@sanity/uuid': 3.0.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) lodash: 4.17.21 transitivePeerDependencies: - supports-color @@ -15145,7 +15126,7 @@ snapshots: dependencies: '@sanity/client': 6.21.3(debug@4.3.7) '@sanity/icons': 3.4.0(react@18.3.1) - '@sanity/preview-url-secret': 1.6.21(@sanity/client@6.21.3(debug@4.3.7)) + '@sanity/preview-url-secret': 1.6.21(@sanity/client@6.21.3) '@sanity/ui': 2.8.9(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/uuid': 3.0.2 '@types/lodash.isequal': 4.5.8 @@ -15169,7 +15150,7 @@ snapshots: prettier: 3.3.3 prettier-plugin-packagejson: 2.5.1(prettier@3.3.3) - '@sanity/preview-url-secret@1.6.21(@sanity/client@6.21.3(debug@4.3.7))': + '@sanity/preview-url-secret@1.6.21(@sanity/client@6.21.3)': dependencies: '@sanity/client': 6.21.3(debug@4.3.7) '@sanity/uuid': 3.0.2 @@ -15502,9 +15483,9 @@ snapshots: '@types/uuid': 8.3.4 uuid: 8.3.2 - '@sanity/visual-editing@2.1.10(@sanity/client@6.21.3)(next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@sanity/visual-editing@2.1.10(@sanity/client@6.21.3)(next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@sanity/preview-url-secret': 1.6.21(@sanity/client@6.21.3(debug@4.3.7)) + '@sanity/preview-url-secret': 1.6.21(@sanity/client@6.21.3) '@vercel/stega': 0.1.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -15512,7 +15493,7 @@ snapshots: valibot: 0.31.1 optionalDependencies: '@sanity/client': 6.21.3(debug@4.3.7) - next: 15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry-internal/browser-utils@8.25.0': dependencies: @@ -15623,7 +15604,7 @@ snapshots: '@swc-node/sourcemap-support': 0.5.1 '@swc/core': 1.7.14(@swc/helpers@0.5.11) colorette: 2.0.20 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) oxc-resolver: 1.10.2 pirates: 4.0.6 tslib: 2.7.0 @@ -16139,7 +16120,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: typescript: 5.6.2 @@ -16152,7 +16133,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) eslint: 9.10.0 optionalDependencies: typescript: 5.6.2 @@ -16168,7 +16149,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.6.2) - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -16180,7 +16161,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/utils': 7.18.0(eslint@9.10.0)(typescript@5.6.2) - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) eslint: 9.10.0 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -16194,7 +16175,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -16335,7 +16316,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 @@ -16479,13 +16460,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -17511,13 +17492,13 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 - create-jest@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)): + create-jest@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -17799,12 +17780,12 @@ snapshots: depcheck@1.4.7: dependencies: '@babel/parser': 7.25.6 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@5.5.0) '@vue/compiler-sfc': 3.4.37 callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) deps-regex: 0.2.0 findup-sync: 5.0.0 ignore: 5.3.2 @@ -18114,21 +18095,21 @@ snapshots: esbuild-register@3.6.0(esbuild@0.19.12): dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.19.12 transitivePeerDependencies: - supports-color esbuild-register@3.6.0(esbuild@0.21.5): dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.21.5 transitivePeerDependencies: - supports-color esbuild-register@3.6.0(esbuild@0.23.1): dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.23.1 transitivePeerDependencies: - supports-color @@ -18286,7 +18267,7 @@ snapshots: eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) enhanced-resolve: 5.17.1 eslint: 8.57.0 eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) @@ -18562,7 +18543,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -18606,7 +18587,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.0.2 eslint-visitor-keys: 4.0.0 @@ -19002,7 +18983,7 @@ snapshots: follow-redirects@1.15.6(debug@4.3.7): optionalDependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) for-each@0.3.3: dependencies: @@ -19431,7 +19412,7 @@ snapshots: groq-js@1.13.0: dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -19583,28 +19564,28 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -20053,7 +20034,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -20062,7 +20043,7 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -20125,16 +20106,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)): + jest-cli@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + create-jest: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -20146,7 +20127,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)): + jest-config@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -20172,7 +20153,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.44 - ts-node: 10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2) + ts-node: 10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -20407,12 +20388,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)): + jest@29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2)) + jest-cli: 29.7.0(@types/node@18.19.44)(babel-plugin-macros@3.1.0)(node-notifier@10.0.1)(ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2)) optionalDependencies: node-notifier: 10.0.1 transitivePeerDependencies: @@ -20619,13 +20600,13 @@ snapshots: dependencies: readable-stream: 2.3.8 - lerna@8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))(babel-plugin-macros@3.1.0)(encoding@0.1.13): + lerna@8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)(babel-plugin-macros@3.1.0)(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.2) + '@lerna/create': 8.1.8(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.2) '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11))) + '@nx/devkit': 19.5.7(nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14)) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -20670,7 +20651,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)) + nx: 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -21259,7 +21240,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731): + next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 15.0.0-rc.0 '@swc/helpers': 0.5.11 @@ -21267,9 +21248,9 @@ snapshots: caniuse-lite: 1.0.30001660 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 19.0.0-rc-a7d1240c-20240731 - react-dom: 19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731) - styled-jsx: 5.1.3(@babel/core@7.25.2)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-a7d1240c-20240731) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.3(@babel/core@7.25.2)(babel-plugin-macros@3.1.0)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 15.0.0-rc.0 '@next/swc-darwin-x64': 15.0.0-rc.0 @@ -21280,14 +21261,14 @@ snapshots: '@next/swc-win32-arm64-msvc': 15.0.0-rc.0 '@next/swc-win32-ia32-msvc': 15.0.0-rc.0 '@next/swc-win32-x64-msvc': 15.0.0-rc.0 - '@playwright/test': 1.47.0 - babel-plugin-react-compiler: 0.0.0-experimental-de2cfda-20240912 + '@playwright/test': 1.44.1 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros + optional: true - next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.0.0-rc.0(@babel/core@7.25.2)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731): dependencies: '@next/env': 15.0.0-rc.0 '@swc/helpers': 0.5.11 @@ -21295,9 +21276,9 @@ snapshots: caniuse-lite: 1.0.30001660 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.3(@babel/core@7.25.2)(babel-plugin-macros@3.1.0)(react@18.3.1) + react: 19.0.0-rc-a7d1240c-20240731 + react-dom: 19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731) + styled-jsx: 5.1.3(@babel/core@7.25.2)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-a7d1240c-20240731) optionalDependencies: '@next/swc-darwin-arm64': 15.0.0-rc.0 '@next/swc-darwin-x64': 15.0.0-rc.0 @@ -21309,11 +21290,11 @@ snapshots: '@next/swc-win32-ia32-msvc': 15.0.0-rc.0 '@next/swc-win32-x64-msvc': 15.0.0-rc.0 '@playwright/test': 1.47.0 + babel-plugin-react-compiler: 0.0.0-experimental-de2cfda-20240912 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - optional: true nice-try@1.0.5: {} @@ -21471,10 +21452,10 @@ snapshots: nwsapi@2.2.12: {} - nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)): + nx@19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14): dependencies: '@napi-rs/wasm-runtime': 0.2.4 - '@nrwl/tao': 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.11))(@swc/types@0.1.12)(typescript@5.6.2))(@swc/core@1.7.14(@swc/helpers@0.5.11)) + '@nrwl/tao': 19.5.7(@swc-node/register@1.10.9(@swc/core@1.7.14)(typescript@5.6.2))(@swc/core@1.7.14) '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.7 @@ -22645,7 +22626,7 @@ snapshots: rollup-plugin-esbuild@6.1.1(esbuild@0.23.1)(rollup@4.21.3): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) es-module-lexer: 1.5.4 esbuild: 0.23.1 get-tsconfig: 4.8.0 @@ -23081,7 +23062,7 @@ snapshots: socks-proxy-agent@8.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -23690,7 +23671,7 @@ snapshots: dependencies: typescript: 5.6.2 - ts-node@10.9.2(@swc/core@1.7.14(@swc/helpers@0.5.11))(@types/node@18.19.44)(typescript@5.6.2): + ts-node@10.9.2(@swc/core@1.7.14)(@types/node@18.19.44)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -23738,7 +23719,7 @@ snapshots: tuf-js@2.2.1: dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -24037,7 +24018,7 @@ snapshots: vite-node@2.1.1(@types/node@18.19.44)(terser@5.32.0): dependencies: cac: 6.7.14 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) pathe: 1.1.2 vite: 5.4.5(@types/node@18.19.44)(terser@5.32.0) transitivePeerDependencies: @@ -24054,7 +24035,7 @@ snapshots: vite-node@2.1.1(@types/node@22.5.4)(terser@5.32.0): dependencies: cac: 6.7.14 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) pathe: 1.1.2 vite: 5.4.5(@types/node@22.5.4)(terser@5.32.0) transitivePeerDependencies: @@ -24070,7 +24051,7 @@ snapshots: vite-tsconfig-paths@4.3.2(typescript@5.6.2)(vite@4.5.3(@types/node@18.19.44)(terser@5.32.0)): dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) globrex: 0.1.2 tsconfck: 3.1.1(typescript@5.6.2) optionalDependencies: @@ -24129,7 +24110,7 @@ snapshots: '@vitest/spy': 2.1.1 '@vitest/utils': 2.1.1 chai: 5.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 @@ -24164,7 +24145,7 @@ snapshots: '@vitest/spy': 2.1.1 '@vitest/utils': 2.1.1 chai: 5.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0