From 3aa52d1633ad93448f2a2fc237b7832851d56a1f Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 19 Mar 2025 11:15:51 -0300 Subject: [PATCH 1/5] chore: add mongo-adapter package with initial implementation and types --- .../lists/useStreamUpdatesForMessageList.ts | 4 ++-- .../hooks/useThreadMainMessageQuery.ts | 4 ++-- apps/meteor/package.json | 1 + packages/mock-providers/package.json | 1 + packages/mongo-adapter/.eslintrc.json | 4 ++++ packages/mongo-adapter/CHANGELOG.md | 13 ++++++++++++ packages/mongo-adapter/package.json | 20 +++++++++++++++++++ .../mongo-adapter/src}/bson.spec.ts | 0 .../mongo-adapter/src}/bson.ts | 0 .../mongo-adapter/src}/comparisons.spec.ts | 0 .../mongo-adapter/src}/comparisons.ts | 0 .../mongo-adapter/src}/index.ts | 0 .../mongo-adapter/src}/lookups.spec.ts | 0 .../mongo-adapter/src}/lookups.ts | 0 .../mongo-adapter/src}/query.ts | 0 .../mongo-adapter/src}/sort.ts | 0 .../mongo-adapter/src}/types.ts | 0 packages/mongo-adapter/tsconfig.json | 8 ++++++++ yarn.lock | 11 ++++++++++ 19 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 packages/mongo-adapter/.eslintrc.json create mode 100644 packages/mongo-adapter/CHANGELOG.md create mode 100644 packages/mongo-adapter/package.json rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/bson.spec.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/bson.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/comparisons.spec.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/comparisons.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/index.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/lookups.spec.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/lookups.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/query.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/sort.ts (100%) rename {apps/meteor/client/lib/minimongo => packages/mongo-adapter/src}/types.ts (100%) create mode 100644 packages/mongo-adapter/tsconfig.json diff --git a/apps/meteor/client/hooks/lists/useStreamUpdatesForMessageList.ts b/apps/meteor/client/hooks/lists/useStreamUpdatesForMessageList.ts index a28c4424d313c..2134499ce4eee 100644 --- a/apps/meteor/client/hooks/lists/useStreamUpdatesForMessageList.ts +++ b/apps/meteor/client/hooks/lists/useStreamUpdatesForMessageList.ts @@ -1,10 +1,10 @@ import type { IMessage, IRoom, IUser } from '@rocket.chat/core-typings'; +import type { FieldExpression, Query } from '@rocket.chat/mongo-adapter'; +import { createFilterFromQuery } from '@rocket.chat/mongo-adapter'; import { useStream } from '@rocket.chat/ui-contexts'; import { useEffect } from 'react'; import type { MessageList } from '../../lib/lists/MessageList'; -import type { FieldExpression, Query } from '../../lib/minimongo'; -import { createFilterFromQuery } from '../../lib/minimongo'; type NotifyRoomRidDeleteMessageBulkEvent = { rid: IMessage['rid']; diff --git a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts index eef1630d35337..6baed3917707d 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts +++ b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts @@ -1,4 +1,6 @@ import type { IMessage, IThreadMainMessage } from '@rocket.chat/core-typings'; +import type { FieldExpression, Query } from '@rocket.chat/mongo-adapter'; +import { createFilterFromQuery } from '@rocket.chat/mongo-adapter'; import { useStream } from '@rocket.chat/ui-contexts'; import type { UseQueryResult } from '@tanstack/react-query'; import { useQueryClient, useQuery } from '@tanstack/react-query'; @@ -6,8 +8,6 @@ import { useCallback, useEffect, useRef } from 'react'; import { useGetMessageByID } from './useGetMessageByID'; import { withDebouncing } from '../../../../../../lib/utils/highOrderFunctions'; -import type { FieldExpression, Query } from '../../../../../lib/minimongo'; -import { createFilterFromQuery } from '../../../../../lib/minimongo'; import { onClientMessageReceived } from '../../../../../lib/onClientMessageReceived'; import { useRoom } from '../../../contexts/RoomContext'; diff --git a/apps/meteor/package.json b/apps/meteor/package.json index c48feccaf2e6e..a430934accbb6 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -266,6 +266,7 @@ "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/model-typings": "workspace:^", "@rocket.chat/models": "workspace:^", + "@rocket.chat/mongo-adapter": "workspace:^", "@rocket.chat/mp3-encoder": "^0.31.26", "@rocket.chat/network-broker": "workspace:^", "@rocket.chat/omnichannel-services": "workspace:^", diff --git a/packages/mock-providers/package.json b/packages/mock-providers/package.json index f7acdfcea6780..1d81b22451007 100644 --- a/packages/mock-providers/package.json +++ b/packages/mock-providers/package.json @@ -11,6 +11,7 @@ }, "devDependencies": { "@rocket.chat/ddp-client": "workspace:~", + "@rocket.chat/mongo-adapter": "workspace:~", "@rocket.chat/ui-contexts": "workspace:*", "@rocket.chat/ui-video-conf": "workspace:*", "@tanstack/react-query": "~5.65.1", diff --git a/packages/mongo-adapter/.eslintrc.json b/packages/mongo-adapter/.eslintrc.json new file mode 100644 index 0000000000000..a83aeda48e66d --- /dev/null +++ b/packages/mongo-adapter/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "extends": ["@rocket.chat/eslint-config"], + "ignorePatterns": ["**/dist"] +} diff --git a/packages/mongo-adapter/CHANGELOG.md b/packages/mongo-adapter/CHANGELOG.md new file mode 100644 index 0000000000000..33beba0c5a98c --- /dev/null +++ b/packages/mongo-adapter/CHANGELOG.md @@ -0,0 +1,13 @@ +# @rocket.chat/account-utils + +## 0.0.2 + +### Patch Changes + +- ([#31138](https://github.com/RocketChat/Rocket.Chat/pull/31138)) feat(uikit): Move `@rocket.chat/ui-kit` package to the main monorepo + +## 0.0.2-rc.0 + +### Patch Changes + +- b223cbde14: feat(uikit): Move `@rocket.chat/ui-kit` package to the main monorepo diff --git a/packages/mongo-adapter/package.json b/packages/mongo-adapter/package.json new file mode 100644 index 0000000000000..3059f549d42e2 --- /dev/null +++ b/packages/mongo-adapter/package.json @@ -0,0 +1,20 @@ +{ + "name": "@rocket.chat/mongo-adapter", + "version": "0.0.2", + "private": true, + "devDependencies": { + "eslint": "~8.45.0", + "typescript": "~5.7.2" + }, + "scripts": { + "lint": "eslint --ext .js,.jsx,.ts,.tsx .", + "lint:fix": "eslint --ext .js,.jsx,.ts,.tsx . --fix", + "build": "rm -rf dist && tsc -p tsconfig.json", + "dev": "tsc -p tsconfig.json --watch --preserveWatchOutput" + }, + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "files": [ + "/dist" + ] +} diff --git a/apps/meteor/client/lib/minimongo/bson.spec.ts b/packages/mongo-adapter/src/bson.spec.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/bson.spec.ts rename to packages/mongo-adapter/src/bson.spec.ts diff --git a/apps/meteor/client/lib/minimongo/bson.ts b/packages/mongo-adapter/src/bson.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/bson.ts rename to packages/mongo-adapter/src/bson.ts diff --git a/apps/meteor/client/lib/minimongo/comparisons.spec.ts b/packages/mongo-adapter/src/comparisons.spec.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/comparisons.spec.ts rename to packages/mongo-adapter/src/comparisons.spec.ts diff --git a/apps/meteor/client/lib/minimongo/comparisons.ts b/packages/mongo-adapter/src/comparisons.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/comparisons.ts rename to packages/mongo-adapter/src/comparisons.ts diff --git a/apps/meteor/client/lib/minimongo/index.ts b/packages/mongo-adapter/src/index.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/index.ts rename to packages/mongo-adapter/src/index.ts diff --git a/apps/meteor/client/lib/minimongo/lookups.spec.ts b/packages/mongo-adapter/src/lookups.spec.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/lookups.spec.ts rename to packages/mongo-adapter/src/lookups.spec.ts diff --git a/apps/meteor/client/lib/minimongo/lookups.ts b/packages/mongo-adapter/src/lookups.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/lookups.ts rename to packages/mongo-adapter/src/lookups.ts diff --git a/apps/meteor/client/lib/minimongo/query.ts b/packages/mongo-adapter/src/query.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/query.ts rename to packages/mongo-adapter/src/query.ts diff --git a/apps/meteor/client/lib/minimongo/sort.ts b/packages/mongo-adapter/src/sort.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/sort.ts rename to packages/mongo-adapter/src/sort.ts diff --git a/apps/meteor/client/lib/minimongo/types.ts b/packages/mongo-adapter/src/types.ts similarity index 100% rename from apps/meteor/client/lib/minimongo/types.ts rename to packages/mongo-adapter/src/types.ts diff --git a/packages/mongo-adapter/tsconfig.json b/packages/mongo-adapter/tsconfig.json new file mode 100644 index 0000000000000..e2be47cf5499f --- /dev/null +++ b/packages/mongo-adapter/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.client.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist" + }, + "include": ["./src/**/*"] +} diff --git a/yarn.lock b/yarn.lock index 5cf6a28a991f7..ab07718796212 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8841,6 +8841,7 @@ __metadata: "@rocket.chat/mock-providers": "workspace:^" "@rocket.chat/model-typings": "workspace:^" "@rocket.chat/models": "workspace:^" + "@rocket.chat/mongo-adapter": "workspace:^" "@rocket.chat/mp3-encoder": "npm:^0.31.26" "@rocket.chat/network-broker": "workspace:^" "@rocket.chat/omnichannel-services": "workspace:^" @@ -9166,6 +9167,7 @@ __metadata: "@rocket.chat/ddp-client": "workspace:~" "@rocket.chat/emitter": "npm:~0.31.25" "@rocket.chat/i18n": "workspace:~" + "@rocket.chat/mongo-adapter": "workspace:~" "@rocket.chat/ui-contexts": "workspace:*" "@rocket.chat/ui-video-conf": "workspace:*" "@storybook/react": "npm:^8.6.4" @@ -9214,6 +9216,15 @@ __metadata: languageName: unknown linkType: soft +"@rocket.chat/mongo-adapter@workspace:^, @rocket.chat/mongo-adapter@workspace:packages/mongo-adapter, @rocket.chat/mongo-adapter@workspace:~": + version: 0.0.0-use.local + resolution: "@rocket.chat/mongo-adapter@workspace:packages/mongo-adapter" + dependencies: + eslint: "npm:~8.45.0" + typescript: "npm:~5.7.2" + languageName: unknown + linkType: soft + "@rocket.chat/mp3-encoder@npm:^0.31.26": version: 0.31.26 resolution: "@rocket.chat/mp3-encoder@npm:0.31.26" From 440dd9241119d3d02f75e65d2b703fcb95e06a8b Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 19 Mar 2025 12:51:18 -0300 Subject: [PATCH 2/5] chore: mocked-providers settings --- packages/mock-providers/jest.config.ts | 7 +++ packages/mock-providers/package.json | 8 ++- .../src/MockedAppRootBuilder.tsx | 42 +++++++++++++- .../src/tests/useSetting.spec.tsx | 13 +++++ .../src/tests/useSettings.spec.tsx | 38 +++++++++++++ packages/mock-providers/tsconfig.json | 3 +- yarn.lock | 56 +++++++++++++++++-- 7 files changed, 159 insertions(+), 8 deletions(-) create mode 100644 packages/mock-providers/jest.config.ts create mode 100644 packages/mock-providers/src/tests/useSetting.spec.tsx create mode 100644 packages/mock-providers/src/tests/useSettings.spec.tsx diff --git a/packages/mock-providers/jest.config.ts b/packages/mock-providers/jest.config.ts new file mode 100644 index 0000000000000..513d37db1e9c3 --- /dev/null +++ b/packages/mock-providers/jest.config.ts @@ -0,0 +1,7 @@ +import client from '@rocket.chat/jest-presets/client'; +import type { Config } from 'jest'; + +export default { + preset: client.preset, + modulePathIgnorePatterns: ['/__tests__/helpers'], +} satisfies Config; diff --git a/packages/mock-providers/package.json b/packages/mock-providers/package.json index 1d81b22451007..097a049f48b1b 100644 --- a/packages/mock-providers/package.json +++ b/packages/mock-providers/package.json @@ -5,6 +5,7 @@ "dependencies": { "@rocket.chat/emitter": "~0.31.25", "@rocket.chat/i18n": "workspace:~", + "@rocket.chat/ui-contexts": "workspace:^", "@storybook/react": "^8.6.4", "i18next": "~23.4.9", "react-i18next": "~13.2.2" @@ -12,10 +13,15 @@ "devDependencies": { "@rocket.chat/ddp-client": "workspace:~", "@rocket.chat/mongo-adapter": "workspace:~", - "@rocket.chat/ui-contexts": "workspace:*", "@rocket.chat/ui-video-conf": "workspace:*", "@tanstack/react-query": "~5.65.1", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.2.0", + "@testing-library/react-hooks": "^8.0.1", + "@types/react": "~18.3.17", + "@types/react-dom": "~18.3.5", "eslint": "~8.45.0", + "jest": "^29.7.0", "react": "~18.3.1", "typescript": "~5.7.2" }, diff --git a/packages/mock-providers/src/MockedAppRootBuilder.tsx b/packages/mock-providers/src/MockedAppRootBuilder.tsx index 508f3a285e1d2..9557c4f4f97e9 100644 --- a/packages/mock-providers/src/MockedAppRootBuilder.tsx +++ b/packages/mock-providers/src/MockedAppRootBuilder.tsx @@ -11,6 +11,7 @@ import type { import type { ServerMethodName, ServerMethodParameters, ServerMethodReturn } from '@rocket.chat/ddp-client'; import { Emitter } from '@rocket.chat/emitter'; import languages from '@rocket.chat/i18n/dist/languages'; +import { createFilterFromQuery } from '@rocket.chat/mongo-adapter'; import type { Method, OperationParams, OperationResult, PathPattern, UrlParams } from '@rocket.chat/rest-typings'; import type { Device, ModalContextValue, SubscriptionWithRoom, TranslationKey } from '@rocket.chat/ui-contexts'; import { @@ -40,12 +41,23 @@ type Mutable = { -readonly [P in keyof T]: T[P]; }; +export type SettingsContextQuery = { + readonly _id?: ISetting['_id'][] | RegExp; + readonly group?: ISetting['_id']; + readonly section?: string; + readonly tab?: ISetting['_id']; +}; + // eslint-disable-next-line @typescript-eslint/naming-convention interface MockedAppRootEvents { 'update-modal': void; } +const empty = [] as const; + export class MockedAppRootBuilder { + private _settings: Map = new Map(); + private wrappers: Array<(children: ReactNode) => ReactNode> = []; private connectionStatus: ContextType = { @@ -94,7 +106,7 @@ export class MockedAppRootBuilder { hasPrivateAccess: true, isLoading: false, querySetting: (_id: string) => [() => () => undefined, () => undefined], - querySettings: () => [() => () => undefined, () => []], + querySettings: (_query: SettingsContextQuery) => [() => () => undefined, () => empty], dispatch: async () => undefined, }; @@ -373,10 +385,11 @@ export class MockedAppRootBuilder { } as ISetting; const innerFn = this.settings.querySetting; - + console.log('withSettinsg', id, value); const outerFn = ( innerSetting: string, ): [subscribe: (onStoreChange: () => void) => () => void, getSnapshot: () => ISetting | undefined] => { + console.log('innerSetting', innerSetting); if (innerSetting === id) { return [() => () => undefined, () => setting]; } @@ -386,6 +399,31 @@ export class MockedAppRootBuilder { this.settings.querySetting = outerFn; + this._settings.set(id, setting); + + const cache = new WeakMap(); + + this.settings.querySettings = (query: SettingsContextQuery) => { + const filter = + cache.get(query) ?? + createFilterFromQuery({ + ...query, + ...(query._id ? { _id: { $in: query._id } } : {}), + } as any); + cache.set(query, filter); + const arr = cache.get(filter) ?? Array.from(this._settings.values()).filter(filter); + return [ + () => () => undefined, + () => { + console.log('querySettings', query, filter, arr, this._settings.values()); + + console.log('querySettings 2', [...this._settings.values().filter(filter)]); + + return arr; + }, + ]; + }; + return this; } diff --git a/packages/mock-providers/src/tests/useSetting.spec.tsx b/packages/mock-providers/src/tests/useSetting.spec.tsx new file mode 100644 index 0000000000000..bcad1b4da6e79 --- /dev/null +++ b/packages/mock-providers/src/tests/useSetting.spec.tsx @@ -0,0 +1,13 @@ +import { useSetting } from '@rocket.chat/ui-contexts'; +import { renderHook } from '@testing-library/react-hooks'; + +import { mockAppRoot } from '..'; + +describe('useSetting', () => { + it('should return settings from context', () => { + const { result } = renderHook(() => useSetting('asd'), { + wrapper: mockAppRoot().withSetting('asd', 'qwe').build(), + }); + expect(result.current).toEqual('qwe'); + }); +}); diff --git a/packages/mock-providers/src/tests/useSettings.spec.tsx b/packages/mock-providers/src/tests/useSettings.spec.tsx new file mode 100644 index 0000000000000..5263831e39ed7 --- /dev/null +++ b/packages/mock-providers/src/tests/useSettings.spec.tsx @@ -0,0 +1,38 @@ +import { useSettings } from '@rocket.chat/ui-contexts'; +import { renderHook } from '@testing-library/react-hooks'; + +import { mockAppRoot } from '..'; + +describe('useSettings', () => { + it('should return all settings', () => { + const query = {}; + const { result } = renderHook(() => useSettings(query), { + wrapper: mockAppRoot().withSetting('asd', 'qwe').withSetting('zxc', 'rty').build(), + }); + expect(result.current).toEqual([ + { + _id: 'asd', + value: 'qwe', + }, + { + _id: 'zxc', + value: 'rty', + }, + ]); + }); + + it('should return settings filtered by _id', () => { + const query = { + _id: ['asd'], + }; + const { result } = renderHook(() => useSettings(query), { + wrapper: mockAppRoot().withSetting('asd', 'qwe').withSetting('zxc', 'rty').build(), + }); + expect(result.current).toEqual([ + { + _id: 'asd', + value: 'qwe', + }, + ]); + }); +}); diff --git a/packages/mock-providers/tsconfig.json b/packages/mock-providers/tsconfig.json index e2be47cf5499f..8166e3acd42ab 100644 --- a/packages/mock-providers/tsconfig.json +++ b/packages/mock-providers/tsconfig.json @@ -4,5 +4,6 @@ "rootDir": "./src", "outDir": "./dist" }, - "include": ["./src/**/*"] + "include": ["./src/**/*"], + "exclude": ["./src/**/*.spec.ts"] } diff --git a/yarn.lock b/yarn.lock index ab07718796212..d3468caa822f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9168,12 +9168,18 @@ __metadata: "@rocket.chat/emitter": "npm:~0.31.25" "@rocket.chat/i18n": "workspace:~" "@rocket.chat/mongo-adapter": "workspace:~" - "@rocket.chat/ui-contexts": "workspace:*" + "@rocket.chat/ui-contexts": "workspace:^" "@rocket.chat/ui-video-conf": "workspace:*" "@storybook/react": "npm:^8.6.4" "@tanstack/react-query": "npm:~5.65.1" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/react": "npm:^16.2.0" + "@testing-library/react-hooks": "npm:^8.0.1" + "@types/react": "npm:~18.3.17" + "@types/react-dom": "npm:~18.3.5" eslint: "npm:~8.45.0" i18next: "npm:~23.4.9" + jest: "npm:^29.7.0" react: "npm:~18.3.1" react-i18next: "npm:~13.2.2" typescript: "npm:~5.7.2" @@ -9843,7 +9849,7 @@ __metadata: languageName: unknown linkType: soft -"@rocket.chat/ui-contexts@workspace:*, @rocket.chat/ui-contexts@workspace:^, @rocket.chat/ui-contexts@workspace:packages/ui-contexts, @rocket.chat/ui-contexts@workspace:~": +"@rocket.chat/ui-contexts@workspace:^, @rocket.chat/ui-contexts@workspace:packages/ui-contexts, @rocket.chat/ui-contexts@workspace:~": version: 0.0.0-use.local resolution: "@rocket.chat/ui-contexts@workspace:packages/ui-contexts" dependencies: @@ -11280,7 +11286,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:~6.6.3": +"@testing-library/jest-dom@npm:^6.6.3, @testing-library/jest-dom@npm:~6.6.3": version: 6.6.3 resolution: "@testing-library/jest-dom@npm:6.6.3" dependencies: @@ -11295,6 +11301,48 @@ __metadata: languageName: node linkType: hard +"@testing-library/react-hooks@npm:^8.0.1": + version: 8.0.1 + resolution: "@testing-library/react-hooks@npm:8.0.1" + dependencies: + "@babel/runtime": "npm:^7.12.5" + react-error-boundary: "npm:^3.1.0" + peerDependencies: + "@types/react": ^16.9.0 || ^17.0.0 + react: ^16.9.0 || ^17.0.0 + react-dom: ^16.9.0 || ^17.0.0 + react-test-renderer: ^16.9.0 || ^17.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + react-dom: + optional: true + react-test-renderer: + optional: true + checksum: 10/f7b69373feebe99bc7d60595822cc5c00a1a5a4801bc4f99b597256a5c1d23c45a51f359051dd8a7bdffcc23b26f324c582e9433c25804934fd351a886812790 + languageName: node + linkType: hard + +"@testing-library/react@npm:^16.2.0": + version: 16.2.0 + resolution: "@testing-library/react@npm:16.2.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + peerDependencies: + "@testing-library/dom": ^10.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10/cf10bfa9a363384e6861417696fff4a464a64f98ec6f0bb7f1fa7cbb550d075d23a2f6a943b7df85dded7bde3234f6ea6b6e36f95211f4544b846ea72c288289 + languageName: node + linkType: hard + "@testing-library/react@npm:~16.0.1": version: 16.0.1 resolution: "@testing-library/react@npm:16.0.1" @@ -31490,7 +31538,7 @@ __metadata: languageName: node linkType: hard -"react-error-boundary@npm:^3.1.4": +"react-error-boundary@npm:^3.1.0, react-error-boundary@npm:^3.1.4": version: 3.1.4 resolution: "react-error-boundary@npm:3.1.4" dependencies: From 6201038363d9cce8a7386cfc9abeb081f56390f4 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 19 Mar 2025 11:53:31 -0400 Subject: [PATCH 3/5] Apply suggestions from code review --- packages/mock-providers/src/MockedAppRootBuilder.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/mock-providers/src/MockedAppRootBuilder.tsx b/packages/mock-providers/src/MockedAppRootBuilder.tsx index 9557c4f4f97e9..e86489900cc37 100644 --- a/packages/mock-providers/src/MockedAppRootBuilder.tsx +++ b/packages/mock-providers/src/MockedAppRootBuilder.tsx @@ -385,7 +385,6 @@ export class MockedAppRootBuilder { } as ISetting; const innerFn = this.settings.querySetting; - console.log('withSettinsg', id, value); const outerFn = ( innerSetting: string, ): [subscribe: (onStoreChange: () => void) => () => void, getSnapshot: () => ISetting | undefined] => { @@ -415,10 +414,6 @@ export class MockedAppRootBuilder { return [ () => () => undefined, () => { - console.log('querySettings', query, filter, arr, this._settings.values()); - - console.log('querySettings 2', [...this._settings.values().filter(filter)]); - return arr; }, ]; From a18b8b6b1c17a1b9ee6bc3bae0a31fa34b8f2010 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 20 Mar 2025 10:49:02 -0300 Subject: [PATCH 4/5] lint --- packages/mock-providers/src/MockedAppRootBuilder.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mock-providers/src/MockedAppRootBuilder.tsx b/packages/mock-providers/src/MockedAppRootBuilder.tsx index 9557c4f4f97e9..85ef5e25ab6a3 100644 --- a/packages/mock-providers/src/MockedAppRootBuilder.tsx +++ b/packages/mock-providers/src/MockedAppRootBuilder.tsx @@ -106,7 +106,7 @@ export class MockedAppRootBuilder { hasPrivateAccess: true, isLoading: false, querySetting: (_id: string) => [() => () => undefined, () => undefined], - querySettings: (_query: SettingsContextQuery) => [() => () => undefined, () => empty], + querySettings: (_query: SettingsContextQuery) => [() => () => undefined, () => empty as unknown as ISetting[]], dispatch: async () => undefined, }; From bead915057c6736856fe60373684ee0e211465a8 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 20 Mar 2025 10:49:50 -0300 Subject: [PATCH 5/5] .. --- packages/mock-providers/src/MockedAppRootBuilder.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mock-providers/src/MockedAppRootBuilder.tsx b/packages/mock-providers/src/MockedAppRootBuilder.tsx index f145ee597150e..157679db3d24a 100644 --- a/packages/mock-providers/src/MockedAppRootBuilder.tsx +++ b/packages/mock-providers/src/MockedAppRootBuilder.tsx @@ -388,7 +388,6 @@ export class MockedAppRootBuilder { const outerFn = ( innerSetting: string, ): [subscribe: (onStoreChange: () => void) => () => void, getSnapshot: () => ISetting | undefined] => { - console.log('innerSetting', innerSetting); if (innerSetting === id) { return [() => () => undefined, () => setting]; }