From 398f09a1c92d462a8202dd743610af85fdfa7a96 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Mon, 6 May 2024 21:29:47 +0200 Subject: [PATCH 01/86] [v13] chore: remove deprecated stuff (#1603) * chore: remove flush microtask legacy * chore: remove deprecated *ByAccessibilityState, *ByAccessibilityValue queries * chore: add docs * docs: add docs --- src/flush-micro-tasks.ts | 25 - src/helpers/wrap-async.ts | 4 +- src/index.ts | 4 +- .../__tests__/accessibility-state.test.tsx | 535 ------------------ .../__tests__/accessibility-value.test.tsx | 319 ----------- src/queries/accessibility-state.ts | 94 --- src/queries/accessibility-value.ts | 94 --- src/screen.ts | 24 - src/within.ts | 4 - typings/index.flow.js | 40 +- website/docs/12.x/docs/api/queries.mdx | 109 ---- website/docs/MigrationV13.md | 67 +++ 12 files changed, 75 insertions(+), 1244 deletions(-) delete mode 100644 src/queries/__tests__/accessibility-state.test.tsx delete mode 100644 src/queries/__tests__/accessibility-value.test.tsx delete mode 100644 src/queries/accessibility-state.ts delete mode 100644 src/queries/accessibility-value.ts create mode 100644 website/docs/MigrationV13.md diff --git a/src/flush-micro-tasks.ts b/src/flush-micro-tasks.ts index 08295740b..4e5fac764 100644 --- a/src/flush-micro-tasks.ts +++ b/src/flush-micro-tasks.ts @@ -3,28 +3,3 @@ import { setImmediate } from './helpers/timers'; export function flushMicroTasks() { return new Promise((resolve) => setImmediate(resolve)); } - -/** - * @deprecated To be removed in the next major release. - */ -type Thenable = { then: (callback: () => T) => unknown }; - -/** - * This legacy implementation of `flushMicroTasks` is used for compatibility with - * older versions of React Native (pre 0.71) which uses Promise polyfil. - * - * For users with older version of React Native there is a workaround of using our own - * Jest preset instead the `react-native` one, but requiring such change would be a - * breaking change for existing users. - * - * @deprecated To be removed in the next major release. - */ -export function flushMicroTasksLegacy(): Thenable { - return { - // using "thenable" instead of a Promise, because otherwise it breaks when - // using "modern" fake timers - then(resolve) { - setImmediate(resolve); - }, - }; -} diff --git a/src/helpers/wrap-async.ts b/src/helpers/wrap-async.ts index c22a1df5e..1f9797b48 100644 --- a/src/helpers/wrap-async.ts +++ b/src/helpers/wrap-async.ts @@ -1,7 +1,7 @@ /* istanbul ignore file */ import act, { getIsReactActEnvironment, setReactActEnvironment } from '../act'; -import { flushMicroTasksLegacy } from '../flush-micro-tasks'; +import { flushMicroTasks } from '../flush-micro-tasks'; import { checkReactVersionAtLeast } from '../react-versions'; /** @@ -18,7 +18,7 @@ export async function wrapAsync(callback: () => Promise): Promis try { const result = await callback(); // Flush the microtask queue before restoring the `act` environment - await flushMicroTasksLegacy(); + await flushMicroTasks(); return result; } finally { setReactActEnvironment(previousActEnvironment); diff --git a/src/index.ts b/src/index.ts index 5c867106f..b01198181 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import { cleanup } from './pure'; -import { flushMicroTasksLegacy } from './flush-micro-tasks'; +import { flushMicroTasks } from './flush-micro-tasks'; import { getIsReactActEnvironment, setReactActEnvironment } from './act'; if (!process?.env?.RNTL_SKIP_AUTO_CLEANUP) { @@ -11,7 +11,7 @@ if (!process?.env?.RNTL_SKIP_AUTO_CLEANUP) { if (typeof afterEach === 'function') { // eslint-disable-next-line no-undef afterEach(async () => { - await flushMicroTasksLegacy(); + await flushMicroTasks(); cleanup(); }); } diff --git a/src/queries/__tests__/accessibility-state.test.tsx b/src/queries/__tests__/accessibility-state.test.tsx deleted file mode 100644 index f72ac7a01..000000000 --- a/src/queries/__tests__/accessibility-state.test.tsx +++ /dev/null @@ -1,535 +0,0 @@ -/* eslint-disable no-console */ -import * as React from 'react'; -import { View, Text, Pressable, TouchableOpacity } from 'react-native'; -import { render, screen } from '../..'; - -type ConsoleLogMock = jest.Mock; - -beforeEach(() => { - jest.spyOn(console, 'warn').mockImplementation(() => {}); -}); - -const TEXT_LABEL = 'cool text'; - -const Typography = ({ children, ...rest }: any) => { - return {children}; -}; - -const Button = ({ children }: { children: React.ReactNode }) => ( - - {children} - -); - -const Section = () => ( - <> - Title - - -); - -test('getByA11yState, queryByA11yState, findByA11yState', async () => { - render(
); - - expect(screen.getByA11yState({ selected: true }).props.accessibilityState).toEqual({ - selected: true, - expanded: false, - }); - expect(screen.queryByA11yState({ selected: true })?.props.accessibilityState).toEqual({ - selected: true, - expanded: false, - }); - - expect(() => screen.getByA11yState({ disabled: true })).toThrow( - 'Unable to find an element with disabled state: true', - ); - expect(screen.queryByA11yState({ disabled: true })).toEqual(null); - - expect(() => screen.getByA11yState({ expanded: false })).toThrow( - 'Found multiple elements with expanded state: false', - ); - expect(() => screen.queryByA11yState({ expanded: false })).toThrow( - 'Found multiple elements with expanded state: false', - ); - - const asyncButton = await screen.findByA11yState({ selected: true }); - expect(asyncButton.props.accessibilityState).toEqual({ - selected: true, - expanded: false, - }); - await expect(screen.findByA11yState({ disabled: true })).rejects.toThrow( - 'Unable to find an element with disabled state: true', - ); - await expect(screen.findByA11yState({ expanded: false })).rejects.toThrow( - 'Found multiple elements with expanded state: false', - ); -}); - -test('getAllByA11yState, queryAllByA11yState, findAllByA11yState', async () => { - render(
); - - expect(screen.getAllByA11yState({ selected: true })).toHaveLength(1); - expect(screen.queryAllByA11yState({ selected: true })).toHaveLength(1); - - expect(() => screen.getAllByA11yState({ disabled: true })).toThrow( - 'Unable to find an element with disabled state: true', - ); - expect(screen.queryAllByA11yState({ disabled: true })).toEqual([]); - - expect(screen.getAllByA11yState({ expanded: false })).toHaveLength(2); - expect(screen.queryAllByA11yState({ expanded: false })).toHaveLength(2); - - await expect(screen.findAllByA11yState({ selected: true })).resolves.toHaveLength(1); - await expect(screen.findAllByA11yState({ disabled: true })).rejects.toThrow( - 'Unable to find an element with disabled state: true', - ); - await expect(screen.findAllByA11yState({ expanded: false })).resolves.toHaveLength(2); -}); - -describe('checked state matching', () => { - it('handles true', () => { - render(); - - expect(screen.getByA11yState({ checked: true })).toBeTruthy(); - expect(screen.queryByA11yState({ checked: 'mixed' })).toBeFalsy(); - expect(screen.queryByA11yState({ checked: false })).toBeFalsy(); - }); - - it('handles mixed', () => { - render(); - - expect(screen.getByA11yState({ checked: 'mixed' })).toBeTruthy(); - expect(screen.queryByA11yState({ checked: true })).toBeFalsy(); - expect(screen.queryByA11yState({ checked: false })).toBeFalsy(); - }); - - it('handles false', () => { - render(); - - expect(screen.getByA11yState({ checked: false })).toBeTruthy(); - expect(screen.queryByA11yState({ checked: true })).toBeFalsy(); - expect(screen.queryByA11yState({ checked: 'mixed' })).toBeFalsy(); - }); - - it('handles default', () => { - render(); - - expect(screen.queryByA11yState({ checked: false })).toBeFalsy(); - expect(screen.queryByA11yState({ checked: true })).toBeFalsy(); - expect(screen.queryByA11yState({ checked: 'mixed' })).toBeFalsy(); - }); -}); - -describe('expanded state matching', () => { - it('handles true', () => { - render(); - - expect(screen.getByA11yState({ expanded: true })).toBeTruthy(); - expect(screen.queryByA11yState({ expanded: false })).toBeFalsy(); - }); - - it('handles false', () => { - render(); - - expect(screen.getByA11yState({ expanded: false })).toBeTruthy(); - expect(screen.queryByA11yState({ expanded: true })).toBeFalsy(); - }); - - it('handles default', () => { - render(); - - expect(screen.queryByA11yState({ expanded: false })).toBeFalsy(); - expect(screen.queryByA11yState({ expanded: true })).toBeFalsy(); - }); -}); - -describe('disabled state matching', () => { - it('handles true', () => { - render(); - - expect(screen.getByA11yState({ disabled: true })).toBeTruthy(); - expect(screen.queryByA11yState({ disabled: false })).toBeFalsy(); - }); - - it('handles false', () => { - render(); - - expect(screen.getByA11yState({ disabled: false })).toBeTruthy(); - expect(screen.queryByA11yState({ disabled: true })).toBeFalsy(); - }); - - it('handles default', () => { - render(); - - expect(screen.getByA11yState({ disabled: false })).toBeTruthy(); - expect(screen.queryByA11yState({ disabled: true })).toBeFalsy(); - }); -}); - -describe('busy state matching', () => { - it('handles true', () => { - render(); - - expect(screen.getByA11yState({ busy: true })).toBeTruthy(); - expect(screen.queryByA11yState({ busy: false })).toBeFalsy(); - }); - - it('handles false', () => { - render(); - - expect(screen.getByA11yState({ busy: false })).toBeTruthy(); - expect(screen.queryByA11yState({ busy: true })).toBeFalsy(); - }); - - it('handles default', () => { - render(); - - expect(screen.getByA11yState({ busy: false })).toBeTruthy(); - expect(screen.queryByA11yState({ busy: true })).toBeFalsy(); - }); -}); - -describe('selected state matching', () => { - it('handles true', () => { - render(); - - expect(screen.getByA11yState({ selected: true })).toBeTruthy(); - expect(screen.queryByA11yState({ selected: false })).toBeFalsy(); - }); - - it('handles false', () => { - render(); - - expect(screen.getByA11yState({ selected: false })).toBeTruthy(); - expect(screen.queryByA11yState({ selected: true })).toBeFalsy(); - }); - - it('handles default', () => { - render(); - - expect(screen.getByA11yState({ selected: false })).toBeTruthy(); - expect(screen.queryByA11yState({ selected: true })).toBeFalsy(); - }); -}); - -test('*ByA11yState on Pressable with "disabled" prop', () => { - render(); - expect(screen.getByA11yState({ disabled: true })).toBeTruthy(); - expect(screen.queryByA11yState({ disabled: false })).toBeFalsy(); -}); - -test('*ByA11yState on TouchableOpacity with "disabled" prop', () => { - render(); - expect(screen.getByA11yState({ disabled: true })).toBeTruthy(); - expect(screen.queryByA11yState({ disabled: false })).toBeFalsy(); -}); - -test('byA11yState queries support hidden option', () => { - render( - - Hidden from accessibility - , - ); - - expect(screen.getByA11yState({ expanded: false }, { includeHiddenElements: true })).toBeTruthy(); - - expect(screen.queryByA11yState({ expanded: false })).toBeFalsy(); - expect( - screen.queryByA11yState({ expanded: false }, { includeHiddenElements: false }), - ).toBeFalsy(); - expect(() => screen.getByA11yState({ expanded: false }, { includeHiddenElements: false })) - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with expanded state: false - - - - Hidden from accessibility - - " - `); -}); - -test('*ByA11yState deprecation warnings', async () => { - const mockCalls = (console.warn as ConsoleLogMock).mock.calls; - render(); - - screen.getByA11yState({ disabled: true }); - expect(mockCalls[0][0]).toMatchInlineSnapshot(` - "getByA11yState(...) is deprecated and will be removed in the future. - - Use getByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.getAllByA11yState({ disabled: true }); - expect(mockCalls[1][0]).toMatchInlineSnapshot(` - "getAllByA11yState(...) is deprecated and will be removed in the future. - - Use getAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.queryByA11yState({ disabled: true }); - expect(mockCalls[2][0]).toMatchInlineSnapshot(` - "queryByA11yState(...) is deprecated and will be removed in the future. - - Use queryByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.queryAllByA11yState({ disabled: true }); - expect(mockCalls[3][0]).toMatchInlineSnapshot(` - "queryAllByA11yState(...) is deprecated and will be removed in the future. - - Use queryAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - await screen.findByA11yState({ disabled: true }); - expect(mockCalls[4][0]).toMatchInlineSnapshot(` - "findByA11yState(...) is deprecated and will be removed in the future. - - Use findByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - await screen.findAllByA11yState({ disabled: true }); - expect(mockCalls[5][0]).toMatchInlineSnapshot(` - "findAllByA11yState(...) is deprecated and will be removed in the future. - - Use findAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); -}); - -test('*ByAccessibilityState deprecation warnings', async () => { - const mockCalls = (console.warn as ConsoleLogMock).mock.calls; - render(); - - screen.getByAccessibilityState({ disabled: true }); - expect(mockCalls[0][0]).toMatchInlineSnapshot(` - "getByAccessibilityState(...) is deprecated and will be removed in the future. - - Use getByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.getAllByAccessibilityState({ disabled: true }); - expect(mockCalls[1][0]).toMatchInlineSnapshot(` - "getAllByAccessibilityState(...) is deprecated and will be removed in the future. - - Use getAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.queryByAccessibilityState({ disabled: true }); - expect(mockCalls[2][0]).toMatchInlineSnapshot(` - "queryByAccessibilityState(...) is deprecated and will be removed in the future. - - Use queryByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - screen.queryAllByAccessibilityState({ disabled: true }); - expect(mockCalls[3][0]).toMatchInlineSnapshot(` - "queryAllByAccessibilityState(...) is deprecated and will be removed in the future. - - Use queryAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - await screen.findByAccessibilityState({ disabled: true }); - expect(mockCalls[4][0]).toMatchInlineSnapshot(` - "findByAccessibilityState(...) is deprecated and will be removed in the future. - - Use findByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); - - await screen.findAllByAccessibilityState({ disabled: true }); - expect(mockCalls[5][0]).toMatchInlineSnapshot(` - "findAllByAccessibilityState(...) is deprecated and will be removed in the future. - - Use findAllByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead." - `); -}); - -test('error message renders the element tree, preserving only helpful props', async () => { - render( - null}> - Some text - , - ); - - expect(() => screen.getByA11yState({ checked: true })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with checked state: true - - - Some text - " - `); - - expect(() => screen.getAllByA11yState({ checked: true })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with checked state: true - - - Some text - " - `); - - await expect(screen.findByA11yState({ checked: true })).rejects - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with checked state: true - - - Some text - " - `); - - await expect(screen.findAllByA11yState({ checked: true })).rejects - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with checked state: true - - - Some text - " - `); -}); - -describe('aria-disabled prop', () => { - test('supports aria-disabled={true} prop', () => { - render(); - expect(screen.getByAccessibilityState({ disabled: true })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ disabled: false })).toBeNull(); - }); - - test('supports aria-disabled={false} prop', () => { - render(); - expect(screen.getByAccessibilityState({ disabled: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ disabled: true })).toBeNull(); - }); - - test('supports default aria-disabled prop', () => { - render(); - expect(screen.getByAccessibilityState({ disabled: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ disabled: true })).toBeNull(); - }); -}); - -describe('aria-selected prop', () => { - test('supports aria-selected={true} prop', () => { - render(); - expect(screen.getByAccessibilityState({ selected: true })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ selected: false })).toBeNull(); - }); - - test('supports aria-selected={false} prop', () => { - render(); - expect(screen.getByAccessibilityState({ selected: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ selected: true })).toBeNull(); - }); - - test('supports default aria-selected prop', () => { - render(); - expect(screen.getByAccessibilityState({ selected: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ selected: true })).toBeNull(); - }); -}); - -describe('aria-checked prop', () => { - test('supports aria-checked={true} prop', () => { - render(); - expect(screen.getByAccessibilityState({ checked: true })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ checked: false })).toBeNull(); - expect(screen.queryByAccessibilityState({ checked: 'mixed' })).toBeNull(); - }); - - test('supports aria-checked={false} prop', () => { - render(); - expect(screen.getByAccessibilityState({ checked: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ checked: true })).toBeNull(); - expect(screen.queryByAccessibilityState({ checked: 'mixed' })).toBeNull(); - }); - - test('supports aria-checked="mixed prop', () => { - render(); - expect(screen.getByAccessibilityState({ checked: 'mixed' })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ checked: true })).toBeNull(); - expect(screen.queryByAccessibilityState({ checked: false })).toBeNull(); - }); - - test('supports default aria-selected prop', () => { - render(); - expect(screen.getByAccessibilityState({})).toBeTruthy(); - expect(screen.queryByAccessibilityState({ checked: true })).toBeNull(); - expect(screen.queryByAccessibilityState({ checked: false })).toBeNull(); - expect(screen.queryByAccessibilityState({ checked: 'mixed' })).toBeNull(); - }); -}); - -describe('aria-busy prop', () => { - test('supports aria-busy={true} prop', () => { - render(); - expect(screen.getByAccessibilityState({ busy: true })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ busy: false })).toBeNull(); - }); - - test('supports aria-busy={false} prop', () => { - render(); - expect(screen.getByAccessibilityState({ busy: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ busy: true })).toBeNull(); - }); - - test('supports default aria-busy prop', () => { - render(); - expect(screen.getByAccessibilityState({ busy: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ busy: true })).toBeNull(); - }); -}); - -describe('aria-expanded prop', () => { - test('supports aria-expanded={true} prop', () => { - render(); - expect(screen.getByAccessibilityState({ expanded: true })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ expanded: false })).toBeNull(); - }); - - test('supports aria-expanded={false} prop', () => { - render(); - expect(screen.getByAccessibilityState({ expanded: false })).toBeTruthy(); - expect(screen.queryByAccessibilityState({ expanded: true })).toBeNull(); - }); - - test('supports default aria-expanded prop', () => { - render(); - render(); - expect(screen.getByAccessibilityState({})).toBeTruthy(); - expect(screen.queryByAccessibilityState({ expanded: true })).toBeNull(); - expect(screen.queryByAccessibilityState({ expanded: false })).toBeNull(); - }); -}); diff --git a/src/queries/__tests__/accessibility-value.test.tsx b/src/queries/__tests__/accessibility-value.test.tsx deleted file mode 100644 index 9e07ab41c..000000000 --- a/src/queries/__tests__/accessibility-value.test.tsx +++ /dev/null @@ -1,319 +0,0 @@ -/* eslint-disable no-console */ -import * as React from 'react'; -import { Text, TouchableOpacity, View } from 'react-native'; -import { render, screen } from '../..'; - -type ConsoleLogMock = jest.Mock; - -beforeEach(() => { - jest.spyOn(console, 'warn').mockImplementation(() => {}); -}); - -const TEXT_LABEL = 'cool text'; - -const Typography = ({ children, ...rest }: any) => { - return {children}; -}; - -const Button = ({ children }: { children: React.ReactNode }) => ( - - {children} - -); - -const Section = () => ( - <> - Title - - -); - -test('getByA11yValue, queryByA11yValue, findByA11yValue', async () => { - render(
); - - expect(screen.getByA11yValue({ min: 40 }).props.accessibilityValue).toEqual({ - min: 40, - max: 60, - }); - expect(screen.queryByA11yValue({ min: 40 })?.props.accessibilityValue).toEqual({ - min: 40, - max: 60, - }); - - expect(() => screen.getByA11yValue({ min: 50 })).toThrow( - 'Unable to find an element with min value: 50', - ); - expect(screen.queryByA11yValue({ min: 50 })).toEqual(null); - - expect(() => screen.getByA11yValue({ max: 60 })).toThrow( - 'Found multiple elements with max value: 60', - ); - expect(() => screen.queryByA11yValue({ max: 60 })).toThrow( - 'Found multiple elements with max value: 60', - ); - - const asyncElement = await screen.findByA11yValue({ min: 40 }); - expect(asyncElement.props.accessibilityValue).toEqual({ - min: 40, - max: 60, - }); - await expect(screen.findByA11yValue({ min: 50 })).rejects.toThrow( - 'Unable to find an element with min value: 50', - ); - await expect(screen.findByA11yValue({ max: 60 })).rejects.toThrow( - 'Found multiple elements with max value: 60', - ); -}); - -test('getAllByA11yValue, queryAllByA11yValue, findAllByA11yValue', async () => { - render(
); - - expect(screen.getAllByA11yValue({ min: 40 })).toHaveLength(1); - expect(screen.queryAllByA11yValue({ min: 40 })).toHaveLength(1); - - expect(() => screen.getAllByA11yValue({ min: 50 })).toThrow( - 'Unable to find an element with min value: 50', - ); - expect(screen.queryAllByA11yValue({ min: 50 })).toEqual([]); - - expect(screen.queryAllByA11yValue({ max: 60 })).toHaveLength(2); - expect(screen.getAllByA11yValue({ max: 60 })).toHaveLength(2); - - await expect(screen.findAllByA11yValue({ min: 40 })).resolves.toHaveLength(1); - await expect(screen.findAllByA11yValue({ min: 50 })).rejects.toThrow( - 'Unable to find an element with min value: 50', - ); - await expect(screen.findAllByA11yValue({ max: 60 })).resolves.toHaveLength(2); -}); - -test('byA11yValue queries support hidden option', () => { - render( - - Hidden from accessibility - , - ); - - expect(screen.getByA11yValue({ max: 10 }, { includeHiddenElements: true })).toBeTruthy(); - - expect(screen.queryByA11yValue({ max: 10 })).toBeFalsy(); - expect(screen.queryByA11yValue({ max: 10 }, { includeHiddenElements: false })).toBeFalsy(); - expect(() => screen.getByA11yValue({ max: 10 }, { includeHiddenElements: false })) - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with max value: 10 - - - Hidden from accessibility - " - `); -}); - -test('byA11yValue error messages', () => { - render(); - expect(() => screen.getByA11yValue({ min: 10, max: 10 })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 10, max value: 10 - - " - `); - expect(() => screen.getByA11yValue({ max: 20, now: 5 })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with max value: 20, now value: 5 - - " - `); - expect(() => screen.getByA11yValue({ min: 1, max: 2, now: 3 })) - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1, max value: 2, now value: 3 - - " - `); - expect(() => screen.getByA11yValue({ min: 1, max: 2, now: 3, text: /foo/i })) - .toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1, max value: 2, now value: 3, text value: /foo/i - - " - `); -}); - -test('*ByA11yValue deprecation warnings', async () => { - const mockCalls = (console.warn as ConsoleLogMock).mock.calls; - render(); - - screen.getByA11yValue({ min: 10 }); - expect(mockCalls[0][0]).toMatchInlineSnapshot(` - "getByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or getByRole(role, { value: ... }) query instead." - `); - - screen.getAllByA11yValue({ min: 10 }); - expect(mockCalls[1][0]).toMatchInlineSnapshot(` - "getAllByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or getAllByRole(role, { value: ... }) query instead." - `); - - screen.queryByA11yValue({ min: 10 }); - expect(mockCalls[2][0]).toMatchInlineSnapshot(` - "queryByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or queryByRole(role, { value: ... }) query instead." - `); - - screen.queryAllByA11yValue({ min: 10 }); - expect(mockCalls[3][0]).toMatchInlineSnapshot(` - "queryAllByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or queryAllByRole(role, { value: ... }) query instead." - `); - - await screen.findByA11yValue({ min: 10 }); - expect(mockCalls[4][0]).toMatchInlineSnapshot(` - "findByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or findByRole(role, { value: ... }) query instead." - `); - - await screen.findAllByA11yValue({ min: 10 }); - expect(mockCalls[5][0]).toMatchInlineSnapshot(` - "findAllByA11yValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or findAllByRole(role, { value: ... }) query instead." - `); -}); - -test('*ByAccessibilityValue deprecation warnings', async () => { - const mockCalls = (console.warn as ConsoleLogMock).mock.calls; - render(); - - screen.getByAccessibilityValue({ min: 10 }); - expect(mockCalls[0][0]).toMatchInlineSnapshot(` - "getByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or getByRole(role, { value: ... }) query instead." - `); - - screen.getAllByAccessibilityValue({ min: 10 }); - expect(mockCalls[1][0]).toMatchInlineSnapshot(` - "getAllByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or getAllByRole(role, { value: ... }) query instead." - `); - - screen.queryByAccessibilityValue({ min: 10 }); - expect(mockCalls[2][0]).toMatchInlineSnapshot(` - "queryByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or queryByRole(role, { value: ... }) query instead." - `); - - screen.queryAllByAccessibilityValue({ min: 10 }); - expect(mockCalls[3][0]).toMatchInlineSnapshot(` - "queryAllByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or queryAllByRole(role, { value: ... }) query instead." - `); - - await screen.findByAccessibilityValue({ min: 10 }); - expect(mockCalls[4][0]).toMatchInlineSnapshot(` - "findByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or findByRole(role, { value: ... }) query instead." - `); - - await screen.findAllByAccessibilityValue({ min: 10 }); - expect(mockCalls[5][0]).toMatchInlineSnapshot(` - "findAllByAccessibilityValue(...) is deprecated and will be removed in the future. - - Use toHaveAccessibilityValue(...) built-in Jest matcher or findAllByRole(role, { value: ... }) query instead." - `); -}); - -test('error message renders the element tree, preserving only helpful props', async () => { - render(); - - expect(() => screen.getByA11yValue({ min: 1 })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1 - - " - `); - - expect(() => screen.getAllByA11yValue({ min: 1 })).toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1 - - " - `); - - await expect(screen.findByA11yValue({ min: 1 })).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1 - - " - `); - - await expect(screen.findAllByA11yValue({ min: 1 })).rejects.toThrowErrorMatchingInlineSnapshot(` - "Unable to find an element with min value: 1 - - " - `); -}); - -describe('getByAccessibilityValue supports "aria-*" props', () => { - test('supports "aria-valuemax"', () => { - render(); - expect(screen.getByAccessibilityValue({ max: 10 })).toBeTruthy(); - }); - - test('supports "aria-valuemin"', () => { - render(); - expect(screen.getByAccessibilityValue({ min: 20 })).toBeTruthy(); - }); - - test('supports "aria-valuenow"', () => { - render(); - expect(screen.getByAccessibilityValue({ now: 30 })).toBeTruthy(); - }); - - test('supports "aria-valuetext"', () => { - render(); - expect(screen.getByAccessibilityValue({ text: 'Hello World' })).toBeTruthy(); - expect(screen.getByAccessibilityValue({ text: /hello/i })).toBeTruthy(); - }); - - test('supports multiple "aria-value*" props', () => { - render(); - expect(screen.getByAccessibilityValue({ now: 50, min: 0, max: 100 })).toBeTruthy(); - }); -}); diff --git a/src/queries/accessibility-state.ts b/src/queries/accessibility-state.ts deleted file mode 100644 index b38df4a7a..000000000 --- a/src/queries/accessibility-state.ts +++ /dev/null @@ -1,94 +0,0 @@ -import type { ReactTestInstance } from 'react-test-renderer'; -import { accessibilityStateKeys } from '../helpers/accessibility'; -import { deprecateQueries } from '../helpers/deprecation'; -import { findAll } from '../helpers/find-all'; -import { - AccessibilityStateMatcher, - matchAccessibilityState, -} from '../helpers/matchers/match-accessibility-state'; -import { makeQueries } from './make-queries'; -import type { - FindAllByQuery, - FindByQuery, - GetAllByQuery, - GetByQuery, - QueryAllByQuery, - QueryByQuery, -} from './make-queries'; -import { CommonQueryOptions } from './options'; - -const queryAllByA11yState = ( - instance: ReactTestInstance, -): QueryAllByQuery => - function queryAllByA11yStateFn(matcher, queryOptions) { - return findAll(instance, (node) => matchAccessibilityState(node, matcher), queryOptions); - }; - -const buildErrorMessage = (state: AccessibilityStateMatcher = {}) => { - const errors: string[] = []; - - accessibilityStateKeys.forEach((stateKey) => { - if (state[stateKey] !== undefined) { - errors.push(`${stateKey} state: ${state[stateKey]}`); - } - }); - - return errors.join(', '); -}; - -const getMultipleError = (state: AccessibilityStateMatcher) => - `Found multiple elements with ${buildErrorMessage(state)}`; - -const getMissingError = (state: AccessibilityStateMatcher) => - `Unable to find an element with ${buildErrorMessage(state)}`; - -const { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries( - queryAllByA11yState, - getMissingError, - getMultipleError, -); - -export type ByA11yStateQueries = { - getByA11yState: GetByQuery; - getAllByA11yState: GetAllByQuery; - queryByA11yState: QueryByQuery; - queryAllByA11yState: QueryAllByQuery; - findByA11yState: FindByQuery; - findAllByA11yState: FindAllByQuery; - - getByAccessibilityState: GetByQuery; - getAllByAccessibilityState: GetAllByQuery; - queryByAccessibilityState: QueryByQuery; - queryAllByAccessibilityState: QueryAllByQuery; - findByAccessibilityState: FindByQuery; - findAllByAccessibilityState: FindAllByQuery; -}; - -export const bindByA11yStateQueries = (instance: ReactTestInstance): ByA11yStateQueries => { - const getByA11yState = getBy(instance); - const getAllByA11yState = getAllBy(instance); - const queryByA11yState = queryBy(instance); - const queryAllByA11yState = queryAllBy(instance); - const findByA11yState = findBy(instance); - const findAllByA11yState = findAllBy(instance); - - return { - ...deprecateQueries( - { - getByA11yState, - getAllByA11yState, - queryByA11yState, - queryAllByA11yState, - findByA11yState, - findAllByA11yState, - getByAccessibilityState: getByA11yState, - getAllByAccessibilityState: getAllByA11yState, - queryByAccessibilityState: queryByA11yState, - queryAllByAccessibilityState: queryAllByA11yState, - findByAccessibilityState: findByA11yState, - findAllByAccessibilityState: findAllByA11yState, - }, - 'Use {queryPrefix}ByRole(role, { disabled, selected, checked, busy, expanded }) query or built-in Jest matchers: toBeDisabled(), toBeSelected(), toBeChecked(), toBeBusy(), and toBeExpanded() instead.', - ), - }; -}; diff --git a/src/queries/accessibility-value.ts b/src/queries/accessibility-value.ts deleted file mode 100644 index 25d4d5361..000000000 --- a/src/queries/accessibility-value.ts +++ /dev/null @@ -1,94 +0,0 @@ -import type { ReactTestInstance } from 'react-test-renderer'; -import { accessibilityValueKeys } from '../helpers/accessibility'; -import { deprecateQueries } from '../helpers/deprecation'; -import { findAll } from '../helpers/find-all'; -import { - AccessibilityValueMatcher, - matchAccessibilityValue, -} from '../helpers/matchers/match-accessibility-value'; -import { makeQueries } from './make-queries'; -import type { - FindAllByQuery, - FindByQuery, - GetAllByQuery, - GetByQuery, - QueryAllByQuery, - QueryByQuery, -} from './make-queries'; -import { CommonQueryOptions } from './options'; - -const queryAllByA11yValue = ( - instance: ReactTestInstance, -): QueryAllByQuery => - function queryAllByA11yValueFn(value, queryOptions) { - return findAll(instance, (node) => matchAccessibilityValue(node, value), queryOptions); - }; - -const formatQueryParams = (matcher: AccessibilityValueMatcher) => { - const params: string[] = []; - - accessibilityValueKeys.forEach((valueKey) => { - if (matcher[valueKey] !== undefined) { - params.push(`${valueKey} value: ${matcher[valueKey]}`); - } - }); - - return params.join(', '); -}; - -const getMultipleError = (matcher: AccessibilityValueMatcher) => - `Found multiple elements with ${formatQueryParams(matcher)}`; - -const getMissingError = (matcher: AccessibilityValueMatcher) => - `Unable to find an element with ${formatQueryParams(matcher)}`; - -const { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries( - queryAllByA11yValue, - getMissingError, - getMultipleError, -); - -export type ByA11yValueQueries = { - getByA11yValue: GetByQuery; - getAllByA11yValue: GetAllByQuery; - queryByA11yValue: QueryByQuery; - queryAllByA11yValue: QueryAllByQuery; - findByA11yValue: FindByQuery; - findAllByA11yValue: FindAllByQuery; - - getByAccessibilityValue: GetByQuery; - getAllByAccessibilityValue: GetAllByQuery; - queryByAccessibilityValue: QueryByQuery; - queryAllByAccessibilityValue: QueryAllByQuery; - findByAccessibilityValue: FindByQuery; - findAllByAccessibilityValue: FindAllByQuery; -}; - -export const bindByA11yValueQueries = (instance: ReactTestInstance): ByA11yValueQueries => { - const getByA11yValue = getBy(instance); - const getAllByA11yValue = getAllBy(instance); - const queryByA11yValue = queryBy(instance); - const queryAllByA11yValue = queryAllBy(instance); - const findByA11yValue = findBy(instance); - const findAllByA11yValue = findAllBy(instance); - - return { - ...deprecateQueries( - { - getByA11yValue, - getAllByA11yValue, - queryByA11yValue, - queryAllByA11yValue, - findByA11yValue, - findAllByA11yValue, - getByAccessibilityValue: getByA11yValue, - getAllByAccessibilityValue: getAllByA11yValue, - queryByAccessibilityValue: queryByA11yValue, - queryAllByAccessibilityValue: queryAllByA11yValue, - findByAccessibilityValue: findByA11yValue, - findAllByAccessibilityValue: findAllByA11yValue, - }, - 'Use toHaveAccessibilityValue(...) built-in Jest matcher or {queryPrefix}ByRole(role, { value: ... }) query instead.', - ), - }; -}; diff --git a/src/screen.ts b/src/screen.ts index 1fcbd3e2a..90600ef82 100644 --- a/src/screen.ts +++ b/src/screen.ts @@ -59,30 +59,6 @@ const defaultScreen: Screen = { queryAllByRole: notImplemented, findByRole: notImplemented, findAllByRole: notImplemented, - getByA11yState: notImplemented, - getAllByA11yState: notImplemented, - queryByA11yState: notImplemented, - queryAllByA11yState: notImplemented, - findByA11yState: notImplemented, - findAllByA11yState: notImplemented, - getByAccessibilityState: notImplemented, - getAllByAccessibilityState: notImplemented, - queryByAccessibilityState: notImplemented, - queryAllByAccessibilityState: notImplemented, - findByAccessibilityState: notImplemented, - findAllByAccessibilityState: notImplemented, - getByA11yValue: notImplemented, - getAllByA11yValue: notImplemented, - queryByA11yValue: notImplemented, - queryAllByA11yValue: notImplemented, - findByA11yValue: notImplemented, - findAllByA11yValue: notImplemented, - getByAccessibilityValue: notImplemented, - getAllByAccessibilityValue: notImplemented, - queryByAccessibilityValue: notImplemented, - queryAllByAccessibilityValue: notImplemented, - findByAccessibilityValue: notImplemented, - findAllByAccessibilityValue: notImplemented, UNSAFE_getByProps: notImplemented, UNSAFE_getAllByProps: notImplemented, UNSAFE_queryByProps: notImplemented, diff --git a/src/within.ts b/src/within.ts index 59db8bf1a..0e5873007 100644 --- a/src/within.ts +++ b/src/within.ts @@ -6,8 +6,6 @@ import { bindByPlaceholderTextQueries } from './queries/placeholder-text'; import { bindByLabelTextQueries } from './queries/label-text'; import { bindByHintTextQueries } from './queries/hint-text'; import { bindByRoleQueries } from './queries/role'; -import { bindByA11yStateQueries } from './queries/accessibility-state'; -import { bindByA11yValueQueries } from './queries/accessibility-value'; import { bindUnsafeByTypeQueries } from './queries/unsafe-type'; import { bindUnsafeByPropsQueries } from './queries/unsafe-props'; @@ -20,8 +18,6 @@ export function within(instance: ReactTestInstance) { ...bindByLabelTextQueries(instance), ...bindByHintTextQueries(instance), ...bindByRoleQueries(instance), - ...bindByA11yStateQueries(instance), - ...bindByA11yValueQueries(instance), ...bindUnsafeByTypeQueries(instance), ...bindUnsafeByPropsQueries(instance), }; diff --git a/typings/index.flow.js b/typings/index.flow.js index eb05d9f24..2bea0c77b 100644 --- a/typings/index.flow.js +++ b/typings/index.flow.js @@ -55,10 +55,10 @@ declare type A11yRole = declare type A11yState = {| disabled?: boolean, - selected?: boolean, - checked?: boolean | 'mixed', - busy?: boolean, - expanded?: boolean, + selected ?: boolean, + checked ?: boolean | 'mixed', + busy ?: boolean, + expanded ?: boolean, |}; declare type A11yValue = { @@ -258,38 +258,6 @@ interface A11yAPI { queryOptions?: ByRoleOptions, waitForOptions?: WaitForOptions ) => FindAllReturn; - - // State - getByA11yState: (matcher: A11yState, options?: CommonQueryOptions) => GetReturn; - getAllByA11yState: (matcher: A11yState, options?: CommonQueryOptions) => GetAllReturn; - queryByA11yState: (matcher: A11yState, options?: CommonQueryOptions) => QueryReturn; - queryAllByA11yState: (matcher: A11yState, options?: CommonQueryOptions) => QueryAllReturn; - findByA11yState: ( - matcher: A11yState, - queryOptions?: CommonQueryOptions, - waitForOptions?: WaitForOptions - ) => FindReturn; - findAllByA11yState: ( - matcher: A11yState, - queryOptions?: CommonQueryOptions, - waitForOptions?: WaitForOptions - ) => FindAllReturn; - - // Value - getByA11yValue: (matcher: A11yValue, options?: CommonQueryOptions) => GetReturn; - getAllByA11yValue: (matcher: A11yValue, options?: CommonQueryOptions) => GetAllReturn; - queryByA11yValue: (matcher: A11yValue, options?: CommonQueryOptions) => QueryReturn; - queryAllByA11yValue: (matcher: A11yValue, options?: CommonQueryOptions) => QueryAllReturn; - findByA11yValue: ( - matcher: A11yValue, - queryOptions?: CommonQueryOptions, - waitForOptions?: WaitForOptions - ) => FindReturn; - findAllByA11yValue: ( - matcher: A11yValue, - queryOptions?: CommonQueryOptions, - waitForOptions?: WaitForOptions - ) => FindAllReturn; } interface Thenable { diff --git a/website/docs/12.x/docs/api/queries.mdx b/website/docs/12.x/docs/api/queries.mdx index 8c05e8ec1..761109915 100644 --- a/website/docs/12.x/docs/api/queries.mdx +++ b/website/docs/12.x/docs/api/queries.mdx @@ -383,115 +383,6 @@ const element = screen.getByTestId('unique-id'); In the spirit of [the guiding principles](https://testing-library.com/docs/guiding-principles), it is recommended to use this only after the other queries don't work for your use case. Using `testID` attributes do not resemble how your software is used and should be avoided if possible. However, they are particularly useful for end-to-end testing on real devices, e.g. using Detox and it's an encouraged technique to use there. Learn more from the blog post ["Making your UI tests resilient to change"](https://kentcdodds.com/blog/making-your-ui-tests-resilient-to-change). ::: -### `*ByA11yState`, `ByAccessibilityState` (deprecated) {#by-accessibility-state} - -:::caution -This query has been marked deprecated, as is typically too general to give meaningful results. Therefore, it's better to use one of following options: - -- [`*ByRole`](#by-role) query with relevant state options: `disabled`, `selected`, `checked`, `expanded` and `busy` -- use built-in Jest matchers to check the state of element found using some other query: - - enabled state: [`toBeEnabled()` / `toBeDisabled()`](docs/api/jest-matchers#tobeenabled) - - checked state: [`toBeChecked()` / `toBePartiallyChecked()`](docs/api/jest-matchers#tobechecked) - - selected state: [`toBeSelected()`](docs/api/jest-matchers#tobeselected) - - expanded state: [`toBeExpanded()` / `toBeCollapsed()`](docs/api/jest-matchers#tobeexpanded) - - busy state: [`toBeBusy()`](docs/api/jest-matchers#tobebusy) - -::: - -> getByA11yState, getAllByA11yState, queryByA11yState, queryAllByA11yState, findByA11yState, findAllByA11yState -> getByAccessibilityState, getAllByAccessibilityState, queryByAccessibilityState, queryAllByAccessibilityState, findByAccessibilityState, findAllByAccessibilityState - -```ts -getByA11yState( - state: { - disabled?: boolean, - selected?: boolean, - checked?: boolean | 'mixed', - busy?: boolean, - expanded?: boolean, - }, - options?: { - includeHiddenElements?: boolean; - }, -): ReactTestInstance; -``` - -Returns a `ReactTestInstance` with matching `accessibilityState` prop or ARIA state props: `aria-disabled`, `aria-selected`, `aria-checked`, `aria-busy`, and `aria-expanded`. - -```jsx -import { render, screen } from '@testing-library/react-native'; - -render(); -const element = screen.getByA11yState({ disabled: true }); -``` - -:::note - -#### Default state for: `disabled`, `selected`, and `busy` keys - -Passing `false` matcher value will match both elements with explicit `false` state value and without explicit state value. - -For instance, `getByA11yState({ disabled: false })` will match elements with following props: - -- `accessibilityState={{ disabled: false, ... }}` -- no `disabled` key under `accessibilityState` prop, e.g. `accessibilityState={{}}` -- no `accessibilityState` prop at all - -#### Default state for: `checked` and `expanded` keys - -Passing `false` matcher value will only match elements with explicit `false` state value. - -For instance, `getByA11yState({ checked: false })` will only match elements with: - -- `accessibilityState={{ checked: false, ... }}` - -but will not match elements with following props: - -- no `checked` key under `accessibilityState` prop, e.g. `accessibilityState={{}}` -- no `accessibilityState` prop at all - -The difference in handling default values is made to reflect observed accessibility behaviour on iOS and Android platforms. -::: - -### `*ByA11yValue`, `*ByAccessibilityValue` (deprecated) {#by-accessibility-value} - -:::caution -This query has been marked deprecated, as is typically too general to give meaningful results. Therefore, it's better to use one of following options: - -- [`toHaveAccessibilityValue()`](docs/api/jest-matchers#tohaveaccessibilityvalue) Jest matcher to check the state of element found using some other query -- [`*ByRole`](#by-role) query with `value` option - -::: - -> getByA11yValue, getAllByA11yValue, queryByA11yValue, queryAllByA11yValue, findByA11yValue, findAllByA11yValue -> getByAccessibilityValue, getAllByAccessibilityValue, queryByAccessibilityValue, queryAllByAccessibilityValue, findByAccessibilityValue, findAllByAccessibilityValue - -```ts -getByA11yValue( - value: { - min?: number; - max?: number; - now?: number; - text?: TextMatch; - }, - options?: { - includeHiddenElements?: boolean; - }, -): ReactTestInstance; -``` - -Returns a host element with matching accessibility value based on `aria-valuemin`, `aria-valuemax`, `aria-valuenow`, `aria-valuetext` & `accessibilityValue` props. Only value entires provided to the query will be used to match elements. Element might have additional accessibility value entries and still be matched. - -When querying by `text` entry a string or regex might be used. - -```jsx -import { render, screen } from '@testing-library/react-native'; - -render(); -const element = screen.getByA11yValue({ now: 25 }); -const element2 = screen.getByA11yValue({ text: /25/ }); -``` - ### Common options Usually query first argument can be a **string** or a **regex**. All queries take at least the [`hidden`](#hidden-option) option as an optionnal second argument and some queries accept more options which change string matching behaviour. See [TextMatch](#textmatch) for more info. diff --git a/website/docs/MigrationV13.md b/website/docs/MigrationV13.md new file mode 100644 index 000000000..b58c4f93f --- /dev/null +++ b/website/docs/MigrationV13.md @@ -0,0 +1,67 @@ +## @@ -0,0 +1,20 @@ + +id: migration-v13 +title: Migration to 13.0 + +--- + +import TOCInline from '@theme/TOCInline'; + +Migration to React Native Testing Library version 13 from version 12.x. + + + +# Breaking changes + +## Removed deprecated \*ByAccessibilityState queries + +This deprecated query has been removed as is typically too general to give meaningful results. Use one of the following options: + +- [`*ByRole`](#by-role) query with relevant state options: `disabled`, `selected`, `checked`, `expanded` and `busy` +- use built-in Jest matchers to check the state of element found using some other query: + - enabled state: [`toBeEnabled()` / `toBeDisabled()`](jest-matchers#tobeenabled) + - checked state: [`toBeChecked()` / `toBePartiallyChecked()`](jest-matchers#tobechecked) + - selected state: [`toBeSelected()`](jest-matchers#tobeselected) + - expanded state: [`toBeExpanded()` / `toBeCollapsed()`](jest-matchers#tobeexpanded) + - busy state: [`toBeBusy()`](jest-matchers#tobebusy) + +```ts +// Replace this +const view = screen.getByAccessibilityState({ disabled: true }); + +// with this (getByRole query) +const view = screen.getByRole('', { disabled: true }); + +// or this (Jest matcher) +const view = screen.getBy*(...); // Find the element using any query: *ByRole, *ByText, *ByTestId +expect(view).toBeDisabled(); // Assert its accessibility state +``` + +## Removed deprecated \*ByAccessibilityValue queries + +This deprecated query has been removed as is typically too general to give meaningful results. Use one of the following options: + +- [`toHaveAccessibilityValue()`](jest-matchers#tohaveaccessibilityvalue) Jest matcher to check the state of element found using some other query +- [`*ByRole`](#by-role) query with `value` option + +```ts +// Replace this +const view = screen.getByAccessibilityValue({ now: 50, min: 0, max: 50 }); + +// with this (getByRole query) +const view = screen.getByRole('', { value: { now: 50, min: 0, max: 50 } }); + +// or this (Jest matcher) +const view = screen.getBy*(...); // Find the element using any query: *ByRole, *ByText, *ByTestId +expect(view).toHaveAccessibilityValue({ now: 50, min: 0, max: 50 }); // Assert its accessibility value +``` + +# Other changes + +## Updated `flushMicroTasks` internal method + +This should not break any tests. + +## Full Changelog + +https://github.com/callstack/react-native-testing-library/compare/v12.5.0...v13.0.0 From b797cf4cc56e7545974220a9eff580632e96ef4d Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Tue, 7 May 2024 15:04:18 +0200 Subject: [PATCH 02/86] [v13] chore: remove react 16 & 17 code (#1602) * chore: remove React 16 & 17 code chore: remove more chore: react version 18.3.1 docs: migration guide * refactor: finish merge --- package.json | 7 +- scripts/test_react_17 | 12 - src/act.ts | 5 +- src/helpers/wrap-async.ts | 36 +- website/docs/MigrationV13.md | 6 + yarn.lock | 747 ++++++++++++++++++++++++++++------- 6 files changed, 625 insertions(+), 188 deletions(-) delete mode 100755 scripts/test_react_17 diff --git a/package.json b/package.json index a6567a638..6597970ef 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "clean": "del build", "test": "jest", "test:ci": "jest --maxWorkers=2 --collectCoverage=true --coverage-provider=v8", - "test:react-17": "scripts/test_react_17", "typecheck": "tsc", "flow": "flow", "copy-flowtypes": "cp typings/index.flow.js build", @@ -58,9 +57,9 @@ }, "peerDependencies": { "jest": ">=28.0.0", - "react": ">=16.8.0", - "react-native": ">=0.59", - "react-test-renderer": ">=16.8.0" + "react": ">=18.2.0", + "react-native": ">=0.73", + "react-test-renderer": ">=18.2.0" }, "peerDependenciesMeta": { "jest": { diff --git a/scripts/test_react_17 b/scripts/test_react_17 deleted file mode 100755 index cbef0e0ce..000000000 --- a/scripts/test_react_17 +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -cp yarn.lock yarn.lock.backup -cp package.json package.json.backup - -yarn add -D react@17.0.2 react-test-renderer@17.0.2 react-native@0.68.3 --ignore-scripts -yarn test:ci --collectCoverage=false - -mv package.json.backup package.json -mv yarn.lock.backup yarn.lock - -yarn --ignore-scripts diff --git a/src/act.ts b/src/act.ts index 5c44ca358..a05168500 100644 --- a/src/act.ts +++ b/src/act.ts @@ -1,7 +1,6 @@ // This file and the act() implementation is sourced from react-testing-library // https://github.com/testing-library/react-testing-library/blob/c80809a956b0b9f3289c4a6fa8b5e8cc72d6ef6d/src/act-compat.js import { act as reactTestRendererAct } from 'react-test-renderer'; -import { checkReactVersionAtLeast } from './react-versions'; type ReactAct = typeof reactTestRendererAct; @@ -72,9 +71,7 @@ function withGlobalActEnvironment(actImplementation: ReactAct) { }; } -const act: ReactAct = checkReactVersionAtLeast(18, 0) - ? (withGlobalActEnvironment(reactTestRendererAct) as ReactAct) - : reactTestRendererAct; +const act = withGlobalActEnvironment(reactTestRendererAct) as ReactAct; export default act; export { setIsReactActEnvironment as setReactActEnvironment, getIsReactActEnvironment }; diff --git a/src/helpers/wrap-async.ts b/src/helpers/wrap-async.ts index 1f9797b48..a80d86156 100644 --- a/src/helpers/wrap-async.ts +++ b/src/helpers/wrap-async.ts @@ -1,8 +1,7 @@ /* istanbul ignore file */ -import act, { getIsReactActEnvironment, setReactActEnvironment } from '../act'; +import { getIsReactActEnvironment, setReactActEnvironment } from '../act'; import { flushMicroTasks } from '../flush-micro-tasks'; -import { checkReactVersionAtLeast } from '../react-versions'; /** * Run given async callback with temporarily disabled `act` environment and flushes microtasks queue. @@ -11,30 +10,15 @@ import { checkReactVersionAtLeast } from '../react-versions'; * @returns Result of the callback */ export async function wrapAsync(callback: () => Promise): Promise { - if (checkReactVersionAtLeast(18, 0)) { - const previousActEnvironment = getIsReactActEnvironment(); - setReactActEnvironment(false); + const previousActEnvironment = getIsReactActEnvironment(); + setReactActEnvironment(false); - try { - const result = await callback(); - // Flush the microtask queue before restoring the `act` environment - await flushMicroTasks(); - return result; - } finally { - setReactActEnvironment(previousActEnvironment); - } + try { + const result = await callback(); + // Flush the microtask queue before restoring the `act` environment + await flushMicroTasks(); + return result; + } finally { + setReactActEnvironment(previousActEnvironment); } - - if (!checkReactVersionAtLeast(16, 9)) { - return callback(); - } - - // Wrapping with act for react version 16.9 to 17.x - let result: Result; - await act(async () => { - result = await callback(); - }); - - // Either we have result or `callback` threw error - return result!; } diff --git a/website/docs/MigrationV13.md b/website/docs/MigrationV13.md index b58c4f93f..285c801a9 100644 --- a/website/docs/MigrationV13.md +++ b/website/docs/MigrationV13.md @@ -13,6 +13,12 @@ Migration to React Native Testing Library version 13 from version 12.x. # Breaking changes +## Supported React and React Native versions + +This version supports only React 19 and corresponding React Native versions. If you use React 18 or 19, please use latest of v12 versions. + +[Note: at the moment there is no React Native for React 19, and React 19 is still in beta, so we use React 18.3 for the time being]. + ## Removed deprecated \*ByAccessibilityState queries This deprecated query has been removed as is typically too general to give meaningful results. Use one of the following options: diff --git a/yarn.lock b/yarn.lock index 135d9f118..cfea9c897 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,27 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13": + version: 7.23.4 + resolution: "@babel/code-frame@npm:7.23.4" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 10c0/2ef6f5e10004c4e8b755961b68570db0ea556ccb17a37c13a7f1fed1f4e273aed6c1ae1fcb86abb991620d8be083e1472a7ea5429f05bc342de54c027b07ea83 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.21.4": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.24.7": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -170,7 +190,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.2": +"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" dependencies: @@ -228,7 +248,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: 10c0/d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-plugin-utils@npm:7.24.8" checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d @@ -288,6 +315,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" @@ -323,6 +357,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -2886,9 +2931,9 @@ __metadata: typescript: "npm:^5.5.4" peerDependencies: jest: ">=28.0.0" - react: ">=16.8.0" - react-native: ">=0.59" - react-test-renderer: ">=16.8.0" + react: ">=18.2.0" + react-native: ">=0.73" + react-test-renderer: ">=18.2.0" peerDependenciesMeta: jest: optional: true @@ -3524,6 +3569,16 @@ __metadata: languageName: node linkType: hard +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + is-array-buffer: "npm:^3.0.1" + checksum: 10c0/12f84f6418b57a954caa41654e5e63e019142a4bbb2c6829ba86d1ba65d31ccfaf1461d1743556fd32b091fac34ff44d9dfbdb001402361c45c373b2c86f5c20 + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" @@ -3627,6 +3682,21 @@ __metadata: languageName: node linkType: hard +"arraybuffer.prototype.slice@npm:^1.0.2": + version: 1.0.2 + resolution: "arraybuffer.prototype.slice@npm:1.0.2" + dependencies: + array-buffer-byte-length: "npm:^1.0.0" + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + is-array-buffer: "npm:^3.0.2" + is-shared-array-buffer: "npm:^1.0.2" + checksum: 10c0/96b6e40e439678ffb7fa266398510074d33c3980fbb475490b69980cca60adec3b0777047ef377068a29862157f83edef42efc64ce48ce38977d04d68de5b7fb + languageName: node + linkType: hard + "arraybuffer.prototype.slice@npm:^1.0.3": version: 1.0.3 resolution: "arraybuffer.prototype.slice@npm:1.0.3" @@ -3705,6 +3775,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 10c0/c4df567ca72d2754a6cbad20088f5f98b1065b3360178169fa9b44ea101af62c0f423fc3854fa820fd6895b6b9171b8386e71558203103ff8fc2ad503fdcc660 + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -3778,7 +3855,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.1, babel-plugin-polyfill-corejs3@npm:^0.10.4": +"babel-plugin-polyfill-corejs3@npm:^0.10.1": version: 0.10.6 resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" dependencies: @@ -3790,6 +3867,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.10.4": + version: 0.10.4 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + core-js-compat: "npm:^3.36.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/31b92cd3dfb5b417da8dfcf0deaa4b8b032b476d7bb31ca51c66127cf25d41e89260e89d17bc004b2520faa38aa9515fafabf81d89f9d4976e9dc1163e4a7c41 + languageName: node + linkType: hard + "babel-plugin-polyfill-regenerator@npm:^0.6.1": version: 0.6.2 resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" @@ -3934,6 +4023,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.23.0": + version: 4.23.0 + resolution: "browserslist@npm:4.23.0" + dependencies: + caniuse-lite: "npm:^1.0.30001587" + electron-to-chromium: "npm:^1.4.668" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 + languageName: node + linkType: hard + "browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": version: 4.23.3 resolution: "browserslist@npm:4.23.3" @@ -4045,6 +4148,17 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.4": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" + dependencies: + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.1" + set-function-length: "npm:^1.1.1" + checksum: 10c0/a6172c168fd6dacf744fcde745099218056bd755c50415b592655dcd6562157ed29f130f56c3f6db2250f67e4bd62e5c218cdc56d7bfd76e0bda50770fce2d10 + languageName: node + linkType: hard + "caller-callsite@npm:^2.0.0": version: 2.0.0 resolution: "caller-callsite@npm:2.0.0" @@ -4110,6 +4224,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001597 + resolution: "caniuse-lite@npm:1.0.30001597" + checksum: 10c0/32dc315ffafacc8167286c95b05f41b3ce2818314ea913ffed6ceb7b58c64c38365ec250114d1ecceac34f1c77e5af089479e54b160c4a89b88fd25a98851b78 + languageName: node + linkType: hard + "caniuse-lite@npm:^1.0.30001646": version: 1.0.30001651 resolution: "caniuse-lite@npm:1.0.30001651" @@ -4678,6 +4799,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.36.1": + version: 3.37.0 + resolution: "core-js-compat@npm:3.37.0" + dependencies: + browserslist: "npm:^4.23.0" + checksum: 10c0/ca6ba7d200f7a4a850fd5cba58b40ab78139d3f301bad7b53816eafe0cfb000523e72882069ddaba440794b950ed101225668bf7b97b73e54a5e3384a8215e03 + languageName: node + linkType: hard + "core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": version: 3.38.0 resolution: "core-js-compat@npm:3.38.0" @@ -4968,6 +5098,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: "npm:^1.2.1" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + checksum: 10c0/77ef6e0bceb515e05b5913ab635a84d537cee84f8a7c37c77fdcb31fc5b80f6dbe81b33375e4b67d96aa04e6a0d8d4ea099e431d83f089af8d93adfb584bcb94 + languageName: node + linkType: hard + "define-lazy-prop@npm:^3.0.0": version: 3.0.0 resolution: "define-lazy-prop@npm:3.0.0" @@ -5127,6 +5268,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.4.668": + version: 1.4.701 + resolution: "electron-to-chromium@npm:1.4.701" + checksum: 10c0/a98cffc2e0c8b43092a0acb17288b4d764600fb61df676ae50f35fb2350b3165158e98b72cac3619c638ee2fab965112e1d15f38a557a8d765e0f3fb958f0a5a + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.5.4": version: 1.5.6 resolution: "electron-to-chromium@npm:1.5.6" @@ -5229,7 +5377,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" dependencies: @@ -5283,6 +5431,53 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.22.1": + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.0" + arraybuffer.prototype.slice: "npm:^1.0.2" + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.5" + es-set-tostringtag: "npm:^2.0.1" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.2" + get-symbol-description: "npm:^1.0.0" + globalthis: "npm:^1.0.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + internal-slot: "npm:^1.0.5" + is-array-buffer: "npm:^3.0.2" + is-callable: "npm:^1.2.7" + is-negative-zero: "npm:^2.0.2" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.2" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.12" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.1" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.4" + regexp.prototype.flags: "npm:^1.5.1" + safe-array-concat: "npm:^1.0.1" + safe-regex-test: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.8" + string.prototype.trimend: "npm:^1.0.7" + string.prototype.trimstart: "npm:^1.0.7" + typed-array-buffer: "npm:^1.0.0" + typed-array-byte-length: "npm:^1.0.0" + typed-array-byte-offset: "npm:^1.0.0" + typed-array-length: "npm:^1.0.4" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.13" + checksum: 10c0/da31ec43b1c8eb47ba8a17693cac143682a1078b6c3cd883ce0e2062f135f532e93d873694ef439670e1f6ca03195118f43567ba6f33fb0d6c7daae750090236 + languageName: node + linkType: hard + "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -5330,6 +5525,17 @@ __metadata: languageName: node linkType: hard +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.2 + resolution: "es-set-tostringtag@npm:2.0.2" + dependencies: + get-intrinsic: "npm:^1.2.2" + has-tostringtag: "npm:^1.0.0" + hasown: "npm:^2.0.0" + checksum: 10c0/176d6bd1be31dd0145dcceee62bb78d4a5db7f81db437615a18308a6f62bcffe45c15081278413455e8cf0aad4ea99079de66f8de389605942dfdacbad74c2d5 + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.0.3": version: 2.0.3 resolution: "es-set-tostringtag@npm:2.0.3" @@ -6234,6 +6440,18 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" + dependencies: + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/4e7fb8adc6172bae7c4fe579569b4d5238b3667c07931cd46b4eee74bbe6ff6b91329bec311a638d8e60f5b51f44fe5445693c6be89ae88d4b5c49f7ff12db0b + languageName: node + linkType: hard + "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" @@ -6268,6 +6486,16 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.1.1" + checksum: 10c0/23bc3b44c221cdf7669a88230c62f4b9e30393b61eb21ba4400cb3e346801bd8f95fe4330ee78dbae37aecd874646d53e3e76a17a654d0c84c77f6690526d6bb + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -6595,6 +6823,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.19.1": + version: 0.19.1 + resolution: "hermes-estree@npm:0.19.1" + checksum: 10c0/98c79807c15146c745aca7a9c74b9f1ba20a463c8b9f058caed9b3f2741fc4a8609e7e4c06d163f67d819db35cb6871fc7b25085bb9a084bc53d777f67d9d620 + languageName: node + linkType: hard + "hermes-estree@npm:0.22.0": version: 0.22.0 resolution: "hermes-estree@npm:0.22.0" @@ -6602,10 +6837,12 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.23.0": - version: 0.23.0 - resolution: "hermes-estree@npm:0.23.0" - checksum: 10c0/5505fdefc119c516b92adbf7b89cc25768ff5e99b0faca3a5ce4af79cc51feef3236227774ee2f6c45bbe1d9a3fa33786e660195a264697171a85b707bc2cec8 +"hermes-parser@npm:0.19.1": + version: 0.19.1 + resolution: "hermes-parser@npm:0.19.1" + dependencies: + hermes-estree: "npm:0.19.1" + checksum: 10c0/940ccef90673b8e905016332d2660ae00ad747e2d32c694a52dce4ea220835dc1bae299554a7a8eeccb449561065bd97f3690363c087fbf69ad7cbff2deeec35 languageName: node linkType: hard @@ -6618,15 +6855,6 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.23.0": - version: 0.23.0 - resolution: "hermes-parser@npm:0.23.0" - dependencies: - hermes-estree: "npm:0.23.0" - checksum: 10c0/a4ca7a66dd8cc65dfc4bb223f696e62ac06f0f32fe8b5889a03ea082291636696e36b1e1593885a19dc2a624d78a96a82cd046fef093de812b27e333350fceea - languageName: node - linkType: hard - "hosted-git-info@npm:^4.0.1": version: 4.1.0 resolution: "hosted-git-info@npm:4.1.0" @@ -6692,7 +6920,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.3, https-proxy-agent@npm:^7.0.5": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.5 resolution: "https-proxy-agent@npm:7.0.5" dependencies: @@ -6702,6 +6930,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^7.0.3": + version: 7.0.4 + resolution: "https-proxy-agent@npm:7.0.4" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + languageName: node + linkType: hard + "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -6870,6 +7108,17 @@ __metadata: languageName: node linkType: hard +"internal-slot@npm:^1.0.5": + version: 1.0.6 + resolution: "internal-slot@npm:1.0.6" + dependencies: + get-intrinsic: "npm:^1.2.2" + hasown: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: 10c0/aa37cafc8ffbf513a340de58f40d5017b4949d99722d7e4f0e24b182455bdd258000d4bb1d7b4adcf9f8979b97049b99fe9defa9db8e18a78071d2637ac143fb + languageName: node + linkType: hard + "internal-slot@npm:^1.0.7": version: 1.0.7 resolution: "internal-slot@npm:1.0.7" @@ -6907,6 +7156,17 @@ __metadata: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.0" + is-typed-array: "npm:^1.1.10" + checksum: 10c0/40ed13a5f5746ac3ae2f2e463687d9b5a3f5fd0086f970fb4898f0253c2a5ec2e3caea2d664dd8f54761b1c1948609702416921a22faebe160c7640a9217c80e + languageName: node + linkType: hard + "is-array-buffer@npm:^3.0.4": version: 3.0.4 resolution: "is-array-buffer@npm:3.0.4" @@ -6980,11 +7240,11 @@ __metadata: linkType: hard "is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.5.0": - version: 2.15.0 - resolution: "is-core-module@npm:2.15.0" + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/da161f3d9906f459486da65609b2f1a2dfdc60887c689c234d04e88a062cb7920fa5be5fb7ab08dc43b732929653c4135ef05bf77888ae2a9040ce76815eb7b1 + hasown: "npm:^2.0.0" + checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 languageName: node linkType: hard @@ -7144,6 +7404,13 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: 10c0/eda024c158f70f2017f3415e471b818d314da5ef5be68f801b16314d4a4b6304a74cbed778acf9e2f955bb9c1c5f2935c1be0c7c99e1ad12286f45366217b6a3 + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.3": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -7294,6 +7561,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" + dependencies: + which-typed-array: "npm:^1.1.11" + checksum: 10c0/9863e9cc7223c6fc1c462a2c3898a7beff6b41b1ee0fabb03b7d278ae7de670b5bcbc8627db56bb66ed60902fa37d53fe5cce0fd2f7d73ac64fe5da6f409b6ae + languageName: node + linkType: hard + "is-typed-array@npm:^1.1.13": version: 1.1.13 resolution: "is-typed-array@npm:1.1.13" @@ -8417,7 +8693,14 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.1": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 10c0/778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + languageName: node + linkType: hard + +"lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -8573,73 +8856,66 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.80.10": - version: 0.80.10 - resolution: "metro-babel-transformer@npm:0.80.10" +"metro-babel-transformer@npm:0.80.6": + version: 0.80.6 + resolution: "metro-babel-transformer@npm:0.80.6" dependencies: "@babel/core": "npm:^7.20.0" - flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.23.0" + hermes-parser: "npm:0.19.1" nullthrows: "npm:^1.1.1" - checksum: 10c0/e82909185b67997ec3cea2c743c647706703f90fe9ece143f14991895e0de4279d8f16086bc626a091a94a76ed24ea6def00fa7815cfa917a6dae9d5675b118e + checksum: 10c0/7198efcbbecd67daced3395923edd3a647ac933566322ed66a91e30cdf725f6b0876391fbc77bf22b49d596ec746250d8d1286b20e28cd12de3ba76acc7679ac languageName: node linkType: hard -"metro-cache-key@npm:0.80.10": - version: 0.80.10 - resolution: "metro-cache-key@npm:0.80.10" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/7fd792bc82048c5f3754413aac8a129b2387cb9cdae5792a05f2780618d7b3f67bb3ea97ac147e1a1570f29bae25aaf0badf771675e17830d1aec5ba58ab4d10 +"metro-cache-key@npm:0.80.6": + version: 0.80.6 + resolution: "metro-cache-key@npm:0.80.6" + checksum: 10c0/af62885489d07aa767146c174b7520d7d636f085dd272fdf1990e6dbb0cb095a04151f12224bd36002447126a8f98e42b27fe38c069afa6ee09b36b7cb40ea32 languageName: node linkType: hard -"metro-cache@npm:0.80.10": - version: 0.80.10 - resolution: "metro-cache@npm:0.80.10" +"metro-cache@npm:0.80.6": + version: 0.80.6 + resolution: "metro-cache@npm:0.80.6" dependencies: - exponential-backoff: "npm:^3.1.1" - flow-enums-runtime: "npm:^0.0.6" - metro-core: "npm:0.80.10" - checksum: 10c0/c981b61d98e0c48cb51da17023b6654f4f6afd0b0587886201df6dd1d324e812b87339a0190336900bd659a1eccb938f78b5c3093a928e13077d3f8dfb9c1e64 + metro-core: "npm:0.80.6" + rimraf: "npm:^3.0.2" + checksum: 10c0/7f7459e822b7c2a4c7aeddde0f40a651b4d64aa8f562acd8bb7e987de4a27fc996eee169908cf81062febe2b7a6fb80c1dbdf63f675ce3f6e97a3bb58c409a44 languageName: node linkType: hard -"metro-config@npm:0.80.10, metro-config@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-config@npm:0.80.10" +"metro-config@npm:0.80.6, metro-config@npm:^0.80.3": + version: 0.80.6 + resolution: "metro-config@npm:0.80.6" dependencies: connect: "npm:^3.6.5" cosmiconfig: "npm:^5.0.5" - flow-enums-runtime: "npm:^0.0.6" jest-validate: "npm:^29.6.3" - metro: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-core: "npm:0.80.10" - metro-runtime: "npm:0.80.10" - checksum: 10c0/6953ab4b766d6c71e4e68332c6c121121f62fb904ce64579cddfd31c746ae308b3958332ff60e3ce242ffe8ce13390e4665128c9d61099ac327676fb5fd65fe5 + metro: "npm:0.80.6" + metro-cache: "npm:0.80.6" + metro-core: "npm:0.80.6" + metro-runtime: "npm:0.80.6" + checksum: 10c0/133a281593a16789409c58dfd437a97cdf4f7393ea4042dbf42d3a47fa5650840996e3b24059bc82d98c0171752e8ac617e6536bc833d3dabbcdd480480def1b languageName: node linkType: hard -"metro-core@npm:0.80.10, metro-core@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-core@npm:0.80.10" +"metro-core@npm:0.80.6, metro-core@npm:^0.80.3": + version: 0.80.6 + resolution: "metro-core@npm:0.80.6" dependencies: - flow-enums-runtime: "npm:^0.0.6" lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.80.10" - checksum: 10c0/ae2d3d81422c0e155ec1345a5361fdac3193d9578af4e84b3eaee1dbdf06258f48c74919356e20568442ef3be6b1ff91dff7e88648d6ea4b6fc939aa3e41cdcb + metro-resolver: "npm:0.80.6" + checksum: 10c0/5aa828304c20db5109993980bd2a3805813ad005b3a051a7cad5475d71b4ceed05ca9abdf5846dc4780914fe10e965bcfd8d828e62f83b96c9a9dae015abb762 languageName: node linkType: hard -"metro-file-map@npm:0.80.10": - version: 0.80.10 - resolution: "metro-file-map@npm:0.80.10" +"metro-file-map@npm:0.80.6": + version: 0.80.6 + resolution: "metro-file-map@npm:0.80.6" dependencies: anymatch: "npm:^3.0.3" debug: "npm:^2.2.0" fb-watchman: "npm:^2.0.0" - flow-enums-runtime: "npm:^0.0.6" fsevents: "npm:^2.3.2" graceful-fs: "npm:^4.2.4" invariant: "npm:^2.2.4" @@ -8651,111 +8927,103 @@ __metadata: dependenciesMeta: fsevents: optional: true - checksum: 10c0/af4003b9cb6545324c8b74f1b7293ab7d0db73f6c60ed42618754e5a3b0602d4f35d4054fe0671ebb50739ee6bd7074f5bc642840de1dcd803e8053d30b4b3fc + checksum: 10c0/745bc9a679a9713594be56c43f261290c8441761e1b61df0e7a160fa0c4be326a57c63f69a61d39cab0e4f77c119e4eb18361df3c0bb840f71486bf9b58779b1 languageName: node linkType: hard -"metro-minify-terser@npm:0.80.10": - version: 0.80.10 - resolution: "metro-minify-terser@npm:0.80.10" +"metro-minify-terser@npm:0.80.6": + version: 0.80.6 + resolution: "metro-minify-terser@npm:0.80.6" dependencies: - flow-enums-runtime: "npm:^0.0.6" terser: "npm:^5.15.0" - checksum: 10c0/dd204852a109ee65d356d8c5ca94301ec84578599d2c30123113dbf09ef0bc6c3214f1dc5767a3e9483db5cd0ef0502e03d2a22451485ce93a786a4f14786226 + checksum: 10c0/97b6cd8d60866818f1d0b96755b2a1b22a58d4db0ca10f528f8b74abaa12ba80d0904dd1e3a2acf49001c84224e9f3cd78fe0ae0386855f4898d4eb3110515bc languageName: node linkType: hard -"metro-resolver@npm:0.80.10": - version: 0.80.10 - resolution: "metro-resolver@npm:0.80.10" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/61d6b984e1e377b4369aed7ac51c42c76c8e5c6acf0101b740cc2eb1081980dd11625f76cc4367f627cf2363d405d6091adcddda927ecee8e0a6a769fba79413 +"metro-resolver@npm:0.80.6": + version: 0.80.6 + resolution: "metro-resolver@npm:0.80.6" + checksum: 10c0/ae8562d662568df52e72335f02dd6f30939e5d394d710d370771fae2206fcb1af348acb8bdea51c0d4f345ef808ae36bfb122d19f3f7a796330e49ce2d9c4168 languageName: node linkType: hard -"metro-runtime@npm:0.80.10, metro-runtime@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-runtime@npm:0.80.10" +"metro-runtime@npm:0.80.6, metro-runtime@npm:^0.80.3": + version: 0.80.6 + resolution: "metro-runtime@npm:0.80.6" dependencies: "@babel/runtime": "npm:^7.0.0" - flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/a0da1e9eb46df31604fb99d4f694acf65ee60f973306df51c00a3fcfd7f3253ed9dfd4279e53bd6abaf6a918748254b62a784e5a952e333381cbd4377fa69470 + checksum: 10c0/1291e7739ad323d821b332d7bd3d6ddb0835dc77150e9d12f179423390590e8aa5e4a8bcb18e18c55a0c77ab15da7c66fa7caa1b753395f563c0e1309e3c8221 languageName: node linkType: hard -"metro-source-map@npm:0.80.10, metro-source-map@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-source-map@npm:0.80.10" +"metro-source-map@npm:0.80.6, metro-source-map@npm:^0.80.3": + version: 0.80.6 + resolution: "metro-source-map@npm:0.80.6" dependencies: "@babel/traverse": "npm:^7.20.0" "@babel/types": "npm:^7.20.0" - flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.80.10" + metro-symbolicate: "npm:0.80.6" nullthrows: "npm:^1.1.1" - ob1: "npm:0.80.10" + ob1: "npm:0.80.6" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - checksum: 10c0/33f123bcc8d26e47789386c50c2eb4a474cda329d77933651580f5ce7e6f8486b0ae89a0230b058bf082d30ec65bb3b2cf4a47dfaa84c433cf04866ce110670a + checksum: 10c0/851ecac99ec22c7ed941222fa7989ca2aee3fd4e66561d26b4facd7ccf9f5b8a84a0a453df3b5b1e8e58af3ffc7c96cd65c4a52526715b2ec080906ffec18f0e languageName: node linkType: hard -"metro-symbolicate@npm:0.80.10": - version: 0.80.10 - resolution: "metro-symbolicate@npm:0.80.10" +"metro-symbolicate@npm:0.80.6": + version: 0.80.6 + resolution: "metro-symbolicate@npm:0.80.6" dependencies: - flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-source-map: "npm:0.80.10" + metro-source-map: "npm:0.80.6" nullthrows: "npm:^1.1.1" source-map: "npm:^0.5.6" through2: "npm:^2.0.1" vlq: "npm:^1.0.0" bin: metro-symbolicate: src/index.js - checksum: 10c0/f67d4fd43a376e594fc007a8e4d7fe39dba08d93949ed8e215c1393b96f1fad936ac4b65948da9add7034e233e43e9abdc8647d7059ea0f59701f46a6a63e6de + checksum: 10c0/35ffacc0519b05cb0ede0e8f20a0d4e8f6d716503475d17d342e9f4adbf03a5aab8d170f34766cd6e5a2134be6b478989a2b84e1870e64f1244c568ce129665e languageName: node linkType: hard -"metro-transform-plugins@npm:0.80.10": - version: 0.80.10 - resolution: "metro-transform-plugins@npm:0.80.10" +"metro-transform-plugins@npm:0.80.6": + version: 0.80.6 + resolution: "metro-transform-plugins@npm:0.80.6" dependencies: "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.0" "@babel/template": "npm:^7.0.0" "@babel/traverse": "npm:^7.20.0" - flow-enums-runtime: "npm:^0.0.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/1b0ad0d937b1166f5ec721faf227291dd158c4a756279b890748977a3cd9604f2758a4a68c554751eb5c439744dc62187e4fbb6f6d6e137d899546b02d99851c + checksum: 10c0/60464719b9e25bef7d6bf9667fc8e3c5f9ded67f151cc21a815e475c05fc7ae4b3bc9f7ddbf680890a234f9ba8b418745056ac104bca8a6b41c10e6654228dc3 languageName: node linkType: hard -"metro-transform-worker@npm:0.80.10": - version: 0.80.10 - resolution: "metro-transform-worker@npm:0.80.10" +"metro-transform-worker@npm:0.80.6": + version: 0.80.6 + resolution: "metro-transform-worker@npm:0.80.6" dependencies: "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.0" "@babel/parser": "npm:^7.20.0" "@babel/types": "npm:^7.20.0" - flow-enums-runtime: "npm:^0.0.6" - metro: "npm:0.80.10" - metro-babel-transformer: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-cache-key: "npm:0.80.10" - metro-minify-terser: "npm:0.80.10" - metro-source-map: "npm:0.80.10" - metro-transform-plugins: "npm:0.80.10" + metro: "npm:0.80.6" + metro-babel-transformer: "npm:0.80.6" + metro-cache: "npm:0.80.6" + metro-cache-key: "npm:0.80.6" + metro-minify-terser: "npm:0.80.6" + metro-source-map: "npm:0.80.6" + metro-transform-plugins: "npm:0.80.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/ff248b170a0fea2ae79741d5eaef43e38de986b59ffeed58bf8e2c27a9274cf1ba27e89838876a8320c39785e965a57f7e3caf260b33c3f6812c8c7843b6fecb + checksum: 10c0/532081e3fb67a03aa8ba3d227eb7f086e403c96614f96c2446467ee0b0887cb062bd046840f25223234300d6f2db7ac5219d17552234a74ad7876043d4b1d633 languageName: node linkType: hard -"metro@npm:0.80.10, metro@npm:^0.80.3": - version: 0.80.10 - resolution: "metro@npm:0.80.10" +"metro@npm:0.80.6, metro@npm:^0.80.3": + version: 0.80.6 + resolution: "metro@npm:0.80.6" dependencies: "@babel/code-frame": "npm:^7.0.0" "@babel/core": "npm:^7.20.0" @@ -8771,38 +9039,38 @@ __metadata: debug: "npm:^2.2.0" denodeify: "npm:^1.2.1" error-stack-parser: "npm:^2.0.6" - flow-enums-runtime: "npm:^0.0.6" graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.23.0" + hermes-parser: "npm:0.19.1" image-size: "npm:^1.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.6.3" jsc-safe-url: "npm:^0.2.2" lodash.throttle: "npm:^4.1.1" - metro-babel-transformer: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-cache-key: "npm:0.80.10" - metro-config: "npm:0.80.10" - metro-core: "npm:0.80.10" - metro-file-map: "npm:0.80.10" - metro-resolver: "npm:0.80.10" - metro-runtime: "npm:0.80.10" - metro-source-map: "npm:0.80.10" - metro-symbolicate: "npm:0.80.10" - metro-transform-plugins: "npm:0.80.10" - metro-transform-worker: "npm:0.80.10" + metro-babel-transformer: "npm:0.80.6" + metro-cache: "npm:0.80.6" + metro-cache-key: "npm:0.80.6" + metro-config: "npm:0.80.6" + metro-core: "npm:0.80.6" + metro-file-map: "npm:0.80.6" + metro-resolver: "npm:0.80.6" + metro-runtime: "npm:0.80.6" + metro-source-map: "npm:0.80.6" + metro-symbolicate: "npm:0.80.6" + metro-transform-plugins: "npm:0.80.6" + metro-transform-worker: "npm:0.80.6" mime-types: "npm:^2.1.27" node-fetch: "npm:^2.2.0" nullthrows: "npm:^1.1.1" + rimraf: "npm:^3.0.2" serialize-error: "npm:^2.1.0" source-map: "npm:^0.5.6" strip-ansi: "npm:^6.0.0" throat: "npm:^5.0.0" - ws: "npm:^7.5.10" + ws: "npm:^7.5.1" yargs: "npm:^17.6.2" bin: metro: src/cli.js - checksum: 10c0/e6cc58eb901dc1ea9e91069ba30f1d5e83460144a452d1977d1bc37811d560269f6e17ad655ffc9d1795495c7afb269cfa4e0630178ca436f7c685681856a57c + checksum: 10c0/eb810658e1b746326a729fbdb3a32873e6b7c6510b12929b34c02ad6fb0e86203b1a198f1a1a97e8eff5bd0b5eaf0e198a3134de4467a6ffa5830972a1f036fa languageName: node linkType: hard @@ -9195,6 +9463,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -9282,12 +9557,10 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.80.10": - version: 0.80.10 - resolution: "ob1@npm:0.80.10" - dependencies: - flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/38c088d4d4fd673fafbc063b6100f8fce2cffb5023c8dcda82b78d13238c78adf600def93936daa1826595cb4035d72ccfb1be696b864f881dbb063a737482ed +"ob1@npm:0.80.6": + version: 0.80.6 + resolution: "ob1@npm:0.80.6" + checksum: 10c0/c86e9f1152d3de399dcf7e720be15ab4096a17b5a320e373052e01955c9839ab3db3a9bb194c83610ebc907dce3b7e98dc28f4651a40615c42b17057a81c6285 languageName: node linkType: hard @@ -9299,9 +9572,9 @@ __metadata: linkType: hard "object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d languageName: node linkType: hard @@ -10383,6 +10656,17 @@ __metadata: languageName: node linkType: hard +"regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + set-function-name: "npm:^2.0.0" + checksum: 10c0/1de7d214c0a726c7c874a7023e47b0e27b9f7fdb64175bfe1861189de1704aaeca05c3d26c35aa375432289b99946f3cf86651a92a8f7601b90d8c226a23bcd8 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.5.2": version: 1.5.2 resolution: "regexp.prototype.flags@npm:1.5.2" @@ -10688,6 +10972,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-array-concat@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + isarray: "npm:^2.0.5" + checksum: 10c0/4b15ce5fce5ce4d7e744a63592cded88d2f27806ed229eadb2e42629cbcd40e770f7478608e75f455e7fe341acd8c0a01bdcd7146b10645ea7411c5e3c1d1dd8 + languageName: node + linkType: hard + "safe-array-concat@npm:^1.1.2": version: 1.1.2 resolution: "safe-array-concat@npm:1.1.2" @@ -10714,6 +11010,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.1.3" + is-regex: "npm:^1.1.4" + checksum: 10c0/14a81a7e683f97b2d6e9c8be61fddcf8ed7a02f4e64a825515f96bb1738eb007145359313741d2704d28b55b703a0f6300c749dde7c1dbc13952a2b85048ede2 + languageName: node + linkType: hard + "safe-regex-test@npm:^1.0.3": version: 1.0.3 resolution: "safe-regex-test@npm:1.0.3" @@ -10796,7 +11103,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2": +"semver@npm:^7.1.3, semver@npm:^7.6.0, semver@npm:^7.6.2": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -10805,6 +11112,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -10852,6 +11170,18 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: "npm:^1.1.1" + get-intrinsic: "npm:^1.2.1" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + checksum: 10c0/a29e255c116c29e3323b851c4f46c58c91be9bb8b065f191e2ea1807cb2c839df56e3175732a498e0c6d54626ba6b6fef896bf699feb7ab70c42dc47eb247c95 + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -10866,6 +11196,17 @@ __metadata: languageName: node linkType: hard +"set-function-name@npm:^2.0.0": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: "npm:^1.0.1" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.0" + checksum: 10c0/6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a + languageName: node + linkType: hard + "set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" @@ -11254,6 +11595,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34 + languageName: node + linkType: hard + "string.prototype.trim@npm:^1.2.9": version: 1.2.9 resolution: "string.prototype.trim@npm:1.2.9" @@ -11266,6 +11618,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57 + languageName: node + linkType: hard + "string.prototype.trimend@npm:^1.0.8": version: 1.0.8 resolution: "string.prototype.trimend@npm:1.0.8" @@ -11277,6 +11640,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.8": version: 1.0.8 resolution: "string.prototype.trimstart@npm:1.0.8" @@ -11701,6 +12075,17 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.1" + is-typed-array: "npm:^1.1.10" + checksum: 10c0/ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -11712,6 +12097,18 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + has-proto: "npm:^1.0.1" + is-typed-array: "npm:^1.1.10" + checksum: 10c0/6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 + languageName: node + linkType: hard + "typed-array-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "typed-array-byte-length@npm:1.0.1" @@ -11725,6 +12122,19 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + has-proto: "npm:^1.0.1" + is-typed-array: "npm:^1.1.10" + checksum: 10c0/4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 + languageName: node + linkType: hard + "typed-array-byte-offset@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-byte-offset@npm:1.0.2" @@ -11739,6 +12149,17 @@ __metadata: languageName: node linkType: hard +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + is-typed-array: "npm:^1.1.9" + checksum: 10c0/c5163c0103d07fefc8a2ad0fc151f9ca9a1f6422098c00f695d55f9896e4d63614cd62cf8d8a031c6cee5f418e8980a533796597174da4edff075b3d275a7e23 + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.6": version: 1.0.6 resolution: "typed-array-length@npm:1.0.6" @@ -11910,6 +12331,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.1.0": version: 1.1.0 resolution: "update-browserslist-db@npm:1.1.0" @@ -12110,6 +12545,19 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.4" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/9f5f1c42918df3d5b91c4315ed0051d5d874370998bf095c9ae0df374f0881f85094e3c384b8fb08ab7b4d4f54ba81c0aff75da6226e7c0589b83dfbec1cd4c9 + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" @@ -12266,7 +12714,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.5.10": +"ws@npm:^7": version: 7.5.10 resolution: "ws@npm:7.5.10" peerDependencies: @@ -12281,6 +12729,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.5.1": + version: 7.5.9 + resolution: "ws@npm:7.5.9" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/aec4ef4eb65821a7dde7b44790f8699cfafb7978c9b080f6d7a98a7f8fc0ce674c027073a78574c94786ba7112cc90fa2cc94fc224ceba4d4b1030cff9662494 + languageName: node + linkType: hard + "xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0": version: 5.1.0 resolution: "xdg-basedir@npm:5.1.0" From b5cfb98854dbedd94ccd1105a9348afb50a14b5e Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Wed, 8 May 2024 16:40:12 +0200 Subject: [PATCH 03/86] [v13] chore: remove debug shallow (#1601) --- .../__snapshots__/render-debug.test.tsx.snap | 100 ------------------ src/__tests__/render-debug.test.tsx | 14 ++- src/__tests__/screen.test.tsx | 1 - src/config.ts | 2 +- src/helpers/debug-shallow.ts | 22 ---- src/helpers/{debug-deep.ts => debug.ts} | 2 +- src/render.tsx | 17 ++- src/screen.ts | 1 - src/shallow.ts | 18 ---- typings/index.flow.js | 1 - website/docs/MigrationV13.md | 6 +- 11 files changed, 18 insertions(+), 166 deletions(-) delete mode 100644 src/helpers/debug-shallow.ts rename src/helpers/{debug-deep.ts => debug.ts} (95%) delete mode 100644 src/shallow.ts diff --git a/src/__tests__/__snapshots__/render-debug.test.tsx.snap b/src/__tests__/__snapshots__/render-debug.test.tsx.snap index 25106295b..8e3c10779 100644 --- a/src/__tests__/__snapshots__/render-debug.test.tsx.snap +++ b/src/__tests__/__snapshots__/render-debug.test.tsx.snap @@ -367,106 +367,6 @@ exports[`debug: another custom message 1`] = ` " `; -exports[`debug: shallow 1`] = ` -" - - Is the banana fresh? - - - not fresh - - - - - - - Change freshness! - - - First Text - - - Second Text - - - 0 - -" -`; - -exports[`debug: shallow with message 1`] = ` -"my other custom message - - - - Is the banana fresh? - - - not fresh - - - - - - - Change freshness! - - - First Text - - - Second Text - - - 0 - -" -`; - exports[`debug: with message 1`] = ` "my custom message diff --git a/src/__tests__/render-debug.test.tsx b/src/__tests__/render-debug.test.tsx index 9a57c8144..0b5bd462b 100644 --- a/src/__tests__/render-debug.test.tsx +++ b/src/__tests__/render-debug.test.tsx @@ -97,21 +97,19 @@ test('debug', () => { screen.debug(); screen.debug('my custom message'); - screen.debug.shallow(); - screen.debug.shallow('my other custom message'); screen.debug({ message: 'another custom message' }); const mockCalls = jest.mocked(console.log).mock.calls; expect(stripAnsi(mockCalls[0][0])).toMatchSnapshot(); expect(stripAnsi(mockCalls[1][0] + mockCalls[1][1])).toMatchSnapshot('with message'); - expect(stripAnsi(mockCalls[2][0])).toMatchSnapshot('shallow'); - expect(stripAnsi(mockCalls[3][0] + mockCalls[3][1])).toMatchSnapshot('shallow with message'); - expect(stripAnsi(mockCalls[4][0] + mockCalls[4][1])).toMatchSnapshot('another custom message'); + expect(stripAnsi(mockCalls[2][0] + mockCalls[2][1])).toMatchSnapshot('another custom message'); const mockWarnCalls = jest.mocked(console.warn).mock.calls; - expect(mockWarnCalls[0]).toEqual([ - 'Using debug("message") is deprecated and will be removed in future release, please use debug({ message; "message" }) instead.', - ]); + expect(mockWarnCalls[0]).toMatchInlineSnapshot(` + [ + "Using debug("message") is deprecated and will be removed in future release, please use debug({ message: "message" }) instead.", + ] + `); }); test('debug changing component', () => { diff --git a/src/__tests__/screen.test.tsx b/src/__tests__/screen.test.tsx index b22e92522..d5e5183ca 100644 --- a/src/__tests__/screen.test.tsx +++ b/src/__tests__/screen.test.tsx @@ -55,6 +55,5 @@ test('screen throws without render', () => { expect(() => screen.root).toThrow('`render` method has not been called'); expect(() => screen.UNSAFE_root).toThrow('`render` method has not been called'); expect(() => screen.debug()).toThrow('`render` method has not been called'); - expect(() => screen.debug.shallow()).toThrow('`render` method has not been called'); expect(() => screen.getByText('Mt. Everest')).toThrow('`render` method has not been called'); }); diff --git a/src/config.ts b/src/config.ts index fd867a895..78e639772 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,4 +1,4 @@ -import { DebugOptions } from './helpers/debug-deep'; +import { DebugOptions } from './helpers/debug'; /** * Global configuration options for React Native Testing Library. diff --git a/src/helpers/debug-shallow.ts b/src/helpers/debug-shallow.ts deleted file mode 100644 index 510a1f402..000000000 --- a/src/helpers/debug-shallow.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from 'react'; -import type { ReactTestInstance } from 'react-test-renderer'; -import { shallowInternal } from '../shallow'; -import format from './format'; - -/** - * Log pretty-printed shallow test component instance - */ -export default function debugShallow( - instance: ReactTestInstance | React.ReactElement, - message?: string, -) { - const { output } = shallowInternal(instance); - - if (message) { - // eslint-disable-next-line no-console - console.log(`${message}\n\n`, format(output)); - } else { - // eslint-disable-next-line no-console - console.log(format(output)); - } -} diff --git a/src/helpers/debug-deep.ts b/src/helpers/debug.ts similarity index 95% rename from src/helpers/debug-deep.ts rename to src/helpers/debug.ts index 0450330e9..14ced11af 100644 --- a/src/helpers/debug-deep.ts +++ b/src/helpers/debug.ts @@ -8,7 +8,7 @@ export type DebugOptions = { /** * Log pretty-printed deep test component instance */ -export default function debugDeep( +export function debug( instance: ReactTestRendererJSON | ReactTestRendererJSON[], options?: DebugOptions | string, ) { diff --git a/src/render.tsx b/src/render.tsx index 69d27b53e..dea119386 100644 --- a/src/render.tsx +++ b/src/render.tsx @@ -5,8 +5,7 @@ import act from './act'; import { addToCleanupQueue } from './cleanup'; import { getConfig } from './config'; import { getHostChildren } from './helpers/component-tree'; -import debugDeep, { DebugOptions } from './helpers/debug-deep'; -import debugShallow from './helpers/debug-shallow'; +import { debug, DebugOptions } from './helpers/debug'; import { configureHostComponentNamesIfNeeded } from './helpers/host-component-names'; import { validateStringsRenderedWithinText } from './helpers/string-validation'; import { renderWithAct } from './render-act'; @@ -107,7 +106,7 @@ function buildRenderResult( unmount, rerender: update, // alias for `update` toJSON: renderer.toJSON, - debug: debug(instance, renderer), + debug: makeDebug(instance, renderer), get root(): ReactTestInstance { return getHostChildren(instance)[0]; }, @@ -141,12 +140,9 @@ function updateWithAct( }; } -export interface DebugFunction { - (options?: DebugOptions | string): void; - shallow: (message?: string) => void; -} +export type DebugFunction = (options?: DebugOptions | string) => void; -function debug(instance: ReactTestInstance, renderer: ReactTestRenderer): DebugFunction { +function makeDebug(instance: ReactTestInstance, renderer: ReactTestRenderer): DebugFunction { function debugImpl(options?: DebugOptions | string) { const { defaultDebugOptions } = getConfig(); const debugOptions = @@ -157,15 +153,14 @@ function debug(instance: ReactTestInstance, renderer: ReactTestRenderer): DebugF if (typeof options === 'string') { // eslint-disable-next-line no-console console.warn( - 'Using debug("message") is deprecated and will be removed in future release, please use debug({ message; "message" }) instead.', + 'Using debug("message") is deprecated and will be removed in future release, please use debug({ message: "message" }) instead.', ); } const json = renderer.toJSON(); if (json) { - return debugDeep(json, debugOptions); + return debug(json, debugOptions); } } - debugImpl.shallow = (message?: string) => debugShallow(instance, message); return debugImpl; } diff --git a/src/screen.ts b/src/screen.ts index 90600ef82..2d85d7c35 100644 --- a/src/screen.ts +++ b/src/screen.ts @@ -10,7 +10,6 @@ const notImplemented = () => { const notImplementedDebug = () => { throw new Error(SCREEN_ERROR); }; -notImplementedDebug.shallow = notImplemented; interface Screen extends RenderResult { isDetached?: boolean; diff --git a/src/shallow.ts b/src/shallow.ts deleted file mode 100644 index 90e030ffe..000000000 --- a/src/shallow.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from 'react'; -import { ReactTestInstance } from 'react-test-renderer'; -import ShallowRenderer from 'react-test-renderer/shallow'; // eslint-disable-line import/no-extraneous-dependencies - -/** - * Renders test component shallowly using react-test-renderer/shallow - */ -export function shallowInternal(instance: ReactTestInstance | React.ReactElement): { - output: any; -} { - const renderer = new (ShallowRenderer as any)(); - - renderer.render(React.createElement(instance.type, instance.props)); - - return { - output: renderer.getRenderOutput(), - }; -} diff --git a/typings/index.flow.js b/typings/index.flow.js index 2bea0c77b..df25313d7 100644 --- a/typings/index.flow.js +++ b/typings/index.flow.js @@ -276,7 +276,6 @@ type DebugOptions = { type Debug = { (options?: DebugOptions | string): void, - shallow: (message?: string) => void, }; type Queries = ByTextQueries & diff --git a/website/docs/MigrationV13.md b/website/docs/MigrationV13.md index 285c801a9..c2ae14936 100644 --- a/website/docs/MigrationV13.md +++ b/website/docs/MigrationV13.md @@ -1,5 +1,3 @@ -## @@ -0,0 +1,20 @@ - id: migration-v13 title: Migration to 13.0 @@ -62,6 +60,10 @@ const view = screen.getBy*(...); // Find the element using any query: *ByRole, * expect(view).toHaveAccessibilityValue({ now: 50, min: 0, max: 50 }); // Assert its accessibility value ``` +## Removed `debug.shallow` + +For a time being we didn't support shallow rendering. Now we are removing the last remains of it: `debug.shallow()`. If you are interested in shallow rendering see [here](migration-v2#removed-global-shallow-function). + # Other changes ## Updated `flushMicroTasks` internal method From 450e7505156a3db748ee1edac23194d6afad940e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Jastrze=CC=A8bski?= Date: Mon, 12 Aug 2024 23:01:22 +0200 Subject: [PATCH 04/86] [v13] chore: increase required React et al. versions --- package.json | 6 ++--- website/docs/12.x/docs/api/misc/async.mdx | 14 ----------- .../docs/migration/v13.mdx} | 25 +++++++------------ yarn.lock | 6 ++--- 4 files changed, 15 insertions(+), 36 deletions(-) rename website/docs/{MigrationV13.md => 12.x/docs/migration/v13.mdx} (76%) diff --git a/package.json b/package.json index 6597970ef..d2c2c3777 100644 --- a/package.json +++ b/package.json @@ -57,9 +57,9 @@ }, "peerDependencies": { "jest": ">=28.0.0", - "react": ">=18.2.0", - "react-native": ">=0.73", - "react-test-renderer": ">=18.2.0" + "react": ">=18.3.0", + "react-native": ">=0.75", + "react-test-renderer": ">=18.3.0" }, "peerDependenciesMeta": { "jest": { diff --git a/website/docs/12.x/docs/api/misc/async.mdx b/website/docs/12.x/docs/api/misc/async.mdx index 5ae3cf1c8..47b040629 100644 --- a/website/docs/12.x/docs/api/misc/async.mdx +++ b/website/docs/12.x/docs/api/misc/async.mdx @@ -53,12 +53,6 @@ Avoiding side effects in `expectation` callback can be partially enforced with t It is also recommended to have a [single assertion per each `waitFor`](https://kentcdodds.com/blog/common-mistakes-with-react-testing-library#having-multiple-assertions-in-a-single-waitfor-callback) for more consistency and faster failing tests. If you want to make several assertions, then they should be in seperate `waitFor` calls. In many cases you won't actually need to wrap the second assertion in `waitFor` since the first one will do the waiting required for asynchronous change to happen. -### Using a React Native version < 0.71 with Jest fake timers - -:::caution -When using a version of React Native < 0.71 and modern fake timers (the default for `Jest` >= 27), `waitFor` won't work (it will always timeout even if `expectation()` doesn't throw) unless you use the custom [@testing-library/react-native preset](https://github.com/callstack/react-native-testing-library#custom-jest-preset). -::: - `waitFor` checks whether Jest fake timers are enabled and adapts its behavior in such case. The following snippet is a simplified version of how it behaves when fake timers are enabled: ```tsx @@ -96,10 +90,6 @@ await waitFor(() => { }, 10000); ``` -:::info -In order to properly use `waitFor` you need at least React >=16.9.0 (featuring async `act`) or React Native >=0.61 (which comes with React >=16.9.0). -::: - :::note If you receive warnings related to `act()` function consult our [Undestanding Act](docs/advanced/understanding-act.md) function document. ::: @@ -129,10 +119,6 @@ This method expects that the element is initially present in the render tree and You can use any of `getBy`, `getAllBy`, `queryBy` and `queryAllBy` queries for `expectation` parameter. -:::info -In order to properly use `waitForElementToBeRemoved` you need at least React >=16.9.0 (featuring async `act`) or React Native >=0.61 (which comes with React >=16.9.0). -::: - :::note If you receive warnings related to `act()` function consult our [Undestanding Act](docs/advanced/understanding-act.md) function document. ::: diff --git a/website/docs/MigrationV13.md b/website/docs/12.x/docs/migration/v13.mdx similarity index 76% rename from website/docs/MigrationV13.md rename to website/docs/12.x/docs/migration/v13.mdx index c2ae14936..bcf81c721 100644 --- a/website/docs/MigrationV13.md +++ b/website/docs/12.x/docs/migration/v13.mdx @@ -1,14 +1,7 @@ -id: migration-v13 -title: Migration to 13.0 - ---- - -import TOCInline from '@theme/TOCInline'; +# Migration to 13.0 Migration to React Native Testing Library version 13 from version 12.x. - - # Breaking changes ## Supported React and React Native versions @@ -23,11 +16,11 @@ This deprecated query has been removed as is typically too general to give meani - [`*ByRole`](#by-role) query with relevant state options: `disabled`, `selected`, `checked`, `expanded` and `busy` - use built-in Jest matchers to check the state of element found using some other query: - - enabled state: [`toBeEnabled()` / `toBeDisabled()`](jest-matchers#tobeenabled) - - checked state: [`toBeChecked()` / `toBePartiallyChecked()`](jest-matchers#tobechecked) - - selected state: [`toBeSelected()`](jest-matchers#tobeselected) - - expanded state: [`toBeExpanded()` / `toBeCollapsed()`](jest-matchers#tobeexpanded) - - busy state: [`toBeBusy()`](jest-matchers#tobebusy) + - enabled state: [`toBeEnabled()` / `toBeDisabled()`](docs/api/jest-matchers#tobeenabled) + - checked state: [`toBeChecked()` / `toBePartiallyChecked()`](docs/api/jest-matchers#tobechecked) + - selected state: [`toBeSelected()`](docs/api/jest-matchers#tobeselected) + - expanded state: [`toBeExpanded()` / `toBeCollapsed()`](docs/api/jest-matchers#tobeexpanded) + - busy state: [`toBeBusy()`](docs/api/jest-matchers#tobebusy) ```ts // Replace this @@ -45,7 +38,7 @@ expect(view).toBeDisabled(); // Assert its accessibility state This deprecated query has been removed as is typically too general to give meaningful results. Use one of the following options: -- [`toHaveAccessibilityValue()`](jest-matchers#tohaveaccessibilityvalue) Jest matcher to check the state of element found using some other query +- [`toHaveAccessibilityValue()`](docs/api/jest-matchers#tohaveaccessibilityvalue) Jest matcher to check the state of element found using some other query - [`*ByRole`](#by-role) query with `value` option ```ts @@ -62,7 +55,7 @@ expect(view).toHaveAccessibilityValue({ now: 50, min: 0, max: 50 }); // Assert i ## Removed `debug.shallow` -For a time being we didn't support shallow rendering. Now we are removing the last remains of it: `debug.shallow()`. If you are interested in shallow rendering see [here](migration-v2#removed-global-shallow-function). +For a time being we didn't support shallow rendering. Now we are removing the last remains of it: `debug.shallow()`. If you are interested in shallow rendering see [here](docs/migration/previous/v2#removed-global-shallow-function). # Other changes @@ -72,4 +65,4 @@ This should not break any tests. ## Full Changelog -https://github.com/callstack/react-native-testing-library/compare/v12.5.0...v13.0.0 +https://github.com/callstack/react-native-testing-library/compare/v12.5.2...v13.0.0 diff --git a/yarn.lock b/yarn.lock index cfea9c897..3373668ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2931,9 +2931,9 @@ __metadata: typescript: "npm:^5.5.4" peerDependencies: jest: ">=28.0.0" - react: ">=18.2.0" - react-native: ">=0.73" - react-test-renderer: ">=18.2.0" + react: ">=18.3.0" + react-native: ">=0.75" + react-test-renderer: ">=18.3.0" peerDependenciesMeta: jest: optional: true From ddf39462442f7e2d9ff396763ac503dc91a9eb95 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 12 Sep 2024 09:21:12 +0200 Subject: [PATCH 05/86] chore: release 12.7.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 59cb0cfc2..6720c3c31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@testing-library/react-native", - "version": "12.7.0", + "version": "12.7.1", "description": "Simple and complete React Native testing utilities that encourage good testing practices.", "main": "build/index.js", "types": "build/index.d.ts", From 839001124df8ddfbd83ef7fb0540b8acd7dd70b5 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 12 Sep 2024 09:25:28 +0200 Subject: [PATCH 06/86] chore: update examples RNTL dep --- examples/basic/package.json | 2 +- examples/basic/yarn.lock | 10 +++++----- examples/cookbook/package.json | 2 +- examples/cookbook/yarn.lock | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/basic/package.json b/examples/basic/package.json index 48e7237d0..86dd9d991 100644 --- a/examples/basic/package.json +++ b/examples/basic/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@babel/core": "^7.24.0", - "@testing-library/react-native": "^12.5.2", + "@testing-library/react-native": "^12.7.1", "@types/eslint": "^8.56.10", "@types/jest": "^29.5.12", "@types/react": "~18.2.79", diff --git a/examples/basic/yarn.lock b/examples/basic/yarn.lock index 93e880e42..69368e8e0 100644 --- a/examples/basic/yarn.lock +++ b/examples/basic/yarn.lock @@ -2463,9 +2463,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.5.2": - version: 12.5.3 - resolution: "@testing-library/react-native@npm:12.5.3" +"@testing-library/react-native@npm:^12.7.1": + version: 12.7.1 + resolution: "@testing-library/react-native@npm:12.7.1" dependencies: jest-matcher-utils: "npm:^29.7.0" pretty-format: "npm:^29.7.0" @@ -2478,7 +2478,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 10c0/6e404bfee5677dfa54405f30e91a24fccb50cc6cf98d0e296ae4ebccb71641a1a1dcefc2ffaa9c3c05eacf2b39c99431f6099ed0227696de4ec914768aa70279 + checksum: 10c0/caaa4bdf97834b307b72af05c447ce40a2ba2ff40b464050bc29535caadf81981ea2873668445e633fdb3d13efccb136ef0932d6d9f4736bc6f7f98be98088d4 languageName: node linkType: hard @@ -8923,7 +8923,7 @@ __metadata: resolution: "root-workspace-0b6124@workspace:." dependencies: "@babel/core": "npm:^7.24.0" - "@testing-library/react-native": "npm:^12.5.2" + "@testing-library/react-native": "npm:^12.7.1" "@types/eslint": "npm:^8.56.10" "@types/jest": "npm:^29.5.12" "@types/react": "npm:~18.2.79" diff --git a/examples/cookbook/package.json b/examples/cookbook/package.json index 64f440c33..2468698c2 100644 --- a/examples/cookbook/package.json +++ b/examples/cookbook/package.json @@ -30,7 +30,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@expo/metro-runtime": "~3.2.1", - "@testing-library/react-native": "^12.5.2", + "@testing-library/react-native": "^12.7.1", "@types/eslint": "^8.56.10", "@types/jest": "^29.5.12", "@types/react": "~18.2.45", diff --git a/examples/cookbook/yarn.lock b/examples/cookbook/yarn.lock index 992200595..66fef55ce 100644 --- a/examples/cookbook/yarn.lock +++ b/examples/cookbook/yarn.lock @@ -2720,9 +2720,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.5.2": - version: 12.5.3 - resolution: "@testing-library/react-native@npm:12.5.3" +"@testing-library/react-native@npm:^12.7.1": + version: 12.7.1 + resolution: "@testing-library/react-native@npm:12.7.1" dependencies: jest-matcher-utils: "npm:^29.7.0" pretty-format: "npm:^29.7.0" @@ -2735,7 +2735,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 10c0/6e404bfee5677dfa54405f30e91a24fccb50cc6cf98d0e296ae4ebccb71641a1a1dcefc2ffaa9c3c05eacf2b39c99431f6099ed0227696de4ec914768aa70279 + checksum: 10c0/caaa4bdf97834b307b72af05c447ce40a2ba2ff40b464050bc29535caadf81981ea2873668445e633fdb3d13efccb136ef0932d6d9f4736bc6f7f98be98088d4 languageName: node linkType: hard @@ -9499,7 +9499,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@expo/metro-runtime": "npm:~3.2.1" - "@testing-library/react-native": "npm:^12.5.2" + "@testing-library/react-native": "npm:^12.7.1" "@types/eslint": "npm:^8.56.10" "@types/jest": "npm:^29.5.12" "@types/react": "npm:~18.2.45" From 7ba47b812d9e54dc8b608d5c291a8b9697ef07a9 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 12 Sep 2024 11:54:37 +0200 Subject: [PATCH 07/86] fix: use native state across the queries and matchers (#1667) * fix: improve text input value getting in type, clear, paste * chore: migrate other use-cases to use `getTextInputValue` * chore: add relevant tests * refactor: self code review * refactor: self code review --- src/fire-event.ts | 4 ++-- src/matchers/types.ts | 2 +- src/queries/__tests__/display-value.test.tsx | 21 ++++++++++++++------ src/user-event/__tests__/clear.test.tsx | 4 ++-- src/user-event/__tests__/paste.test.tsx | 4 ++-- src/user-event/clear.ts | 4 ++-- src/user-event/paste.ts | 4 ++-- src/user-event/setup/setup.ts | 2 +- src/user-event/type/__tests__/type.test.tsx | 9 ++++++--- src/user-event/type/type.ts | 8 ++++---- 10 files changed, 37 insertions(+), 25 deletions(-) diff --git a/src/fire-event.ts b/src/fire-event.ts index ac7d8802b..98c7745a3 100644 --- a/src/fire-event.ts +++ b/src/fire-event.ts @@ -173,10 +173,10 @@ function setNativeStateIfNeeded(element: ReactTestInstance, eventName: string, v } } -function tryGetContentOffset(value: unknown): Point | null { +function tryGetContentOffset(event: unknown): Point | null { try { // @ts-expect-error: try to extract contentOffset from the event value - const contentOffset = value?.nativeEvent?.contentOffset; + const contentOffset = event?.nativeEvent?.contentOffset; const x = contentOffset?.x; const y = contentOffset?.y; if (typeof x === 'number' || typeof y === 'number') { diff --git a/src/matchers/types.ts b/src/matchers/types.ts index e2b0ead01..1aed70110 100644 --- a/src/matchers/types.ts +++ b/src/matchers/types.ts @@ -218,7 +218,7 @@ export interface JestNativeMatchers { toHaveAccessibleName(expectedName?: TextMatch, options?: TextMatchOptions): R; /** - * Assert whether a host `TextInput` element has a given display value based on `value` and `defaultValue` props. + * Assert whether a host `TextInput` element has a given display value based on `value` prop, unmanaged native state, and `defaultValue` prop. * * @see * [Jest Matchers docs](https://callstack.github.io/react-native-testing-library/docs/jest-matchers#tohavedisplayvalue) diff --git a/src/queries/__tests__/display-value.test.tsx b/src/queries/__tests__/display-value.test.tsx index aa63b2391..fb8d5e68c 100644 --- a/src/queries/__tests__/display-value.test.tsx +++ b/src/queries/__tests__/display-value.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { TextInput, View } from 'react-native'; - -import { render, screen } from '../..'; +import { fireEvent, render, screen } from '../..'; +import '../../matchers/extend-expect'; const PLACEHOLDER_FRESHNESS = 'Add custom freshness'; const PLACEHOLDER_CHEF = 'Who inspected freshness?'; @@ -30,13 +30,12 @@ const Banana = () => ( test('getByDisplayValue, queryByDisplayValue', () => { render(); - const input = screen.getByDisplayValue(/custom/i); - expect(input.props.value).toBe(INPUT_FRESHNESS); + const input = screen.getByDisplayValue(/custom/i); + expect(input).toHaveDisplayValue(INPUT_FRESHNESS); const sameInput = screen.getByDisplayValue(INPUT_FRESHNESS); - - expect(sameInput.props.value).toBe(INPUT_FRESHNESS); + expect(sameInput).toHaveDisplayValue(INPUT_FRESHNESS); expect(() => screen.getByDisplayValue('no value')).toThrow( 'Unable to find an element with displayValue: no value', ); @@ -203,3 +202,13 @@ test('error message renders the element tree, preserving only helpful props', as />" `); }); + +test('supports unmanaged TextInput element', () => { + render(); + + const input = screen.getByDisplayValue(''); + expect(input).toHaveDisplayValue(''); + + fireEvent.changeText(input, 'Hello!'); + expect(input).toHaveDisplayValue('Hello!'); +}); diff --git a/src/user-event/__tests__/clear.test.tsx b/src/user-event/__tests__/clear.test.tsx index 27d713a1d..c7f4b1d95 100644 --- a/src/user-event/__tests__/clear.test.tsx +++ b/src/user-event/__tests__/clear.test.tsx @@ -113,7 +113,7 @@ describe('clear()', () => { const user = userEvent.setup(); await user.clear(textInput); - expect(textInput.props.value).toBe('Hello!'); + expect(textInput).toHaveDisplayValue('Hello!'); }); it('does respect pointer-events prop', async () => { @@ -125,7 +125,7 @@ describe('clear()', () => { const user = userEvent.setup(); await user.clear(textInput); - expect(textInput.props.value).toBe('Hello!'); + expect(textInput).toHaveDisplayValue('Hello!'); }); it('supports multiline', async () => { diff --git a/src/user-event/__tests__/paste.test.tsx b/src/user-event/__tests__/paste.test.tsx index 702edbb21..9226a6595 100644 --- a/src/user-event/__tests__/paste.test.tsx +++ b/src/user-event/__tests__/paste.test.tsx @@ -130,7 +130,7 @@ describe('paste()', () => { const user = userEvent.setup(); await user.paste(textInput, 'Hi!'); - expect(textInput.props.value).toBe('Hello!'); + expect(textInput).toHaveDisplayValue('Hello!'); }); it('does respect pointer-events prop', async () => { @@ -142,7 +142,7 @@ describe('paste()', () => { const user = userEvent.setup(); await user.paste(textInput, 'Hi!'); - expect(textInput.props.value).toBe('Hello!'); + expect(textInput).toHaveDisplayValue('Hello!'); }); it('supports multiline', async () => { diff --git a/src/user-event/clear.ts b/src/user-event/clear.ts index 42ba54644..9b4ce555f 100644 --- a/src/user-event/clear.ts +++ b/src/user-event/clear.ts @@ -1,7 +1,7 @@ import { ReactTestInstance } from 'react-test-renderer'; import { ErrorWithStack } from '../helpers/errors'; import { isHostTextInput } from '../helpers/host-component-names'; -import { isTextInputEditable } from '../helpers/text-input'; +import { getTextInputValue, isTextInputEditable } from '../helpers/text-input'; import { isPointerEventEnabled } from '../helpers/pointer-events'; import { EventBuilder } from './event-builder'; import { UserEventInstance } from './setup'; @@ -24,7 +24,7 @@ export async function clear(this: UserEventInstance, element: ReactTestInstance) dispatchEvent(element, 'focus', EventBuilder.Common.focus()); // 2. Select all - const textToClear = element.props.value ?? element.props.defaultValue ?? ''; + const textToClear = getTextInputValue(element); const selectionRange = { start: 0, end: textToClear.length, diff --git a/src/user-event/paste.ts b/src/user-event/paste.ts index 856501bfa..7ead1d1f3 100644 --- a/src/user-event/paste.ts +++ b/src/user-event/paste.ts @@ -2,7 +2,7 @@ import { ReactTestInstance } from 'react-test-renderer'; import { ErrorWithStack } from '../helpers/errors'; import { isHostTextInput } from '../helpers/host-component-names'; import { isPointerEventEnabled } from '../helpers/pointer-events'; -import { isTextInputEditable } from '../helpers/text-input'; +import { getTextInputValue, isTextInputEditable } from '../helpers/text-input'; import { nativeState } from '../native-state'; import { EventBuilder } from './event-builder'; import { UserEventInstance } from './setup'; @@ -28,7 +28,7 @@ export async function paste( dispatchEvent(element, 'focus', EventBuilder.Common.focus()); // 2. Select all - const textToClear = element.props.value ?? element.props.defaultValue ?? ''; + const textToClear = getTextInputValue(element); const rangeToClear = { start: 0, end: textToClear.length }; dispatchEvent(element, 'selectionChange', EventBuilder.TextInput.selectionChange(rangeToClear)); diff --git a/src/user-event/setup/setup.ts b/src/user-event/setup/setup.ts index 53a4befa8..c56e642ae 100644 --- a/src/user-event/setup/setup.ts +++ b/src/user-event/setup/setup.ts @@ -95,7 +95,7 @@ export interface UserEventInstance { * input. * * The exact events sent depend on the props of the TextInput (`editable`, - * `multiline`, value, defaultValue, etc) and passed options. + * `multiline`, etc) and passed options. * * @param element TextInput element to type on * @param text Text to type diff --git a/src/user-event/type/__tests__/type.test.tsx b/src/user-event/type/__tests__/type.test.tsx index 0be7f35fa..8e55c7744 100644 --- a/src/user-event/type/__tests__/type.test.tsx +++ b/src/user-event/type/__tests__/type.test.tsx @@ -374,14 +374,17 @@ describe('type()', () => { }); }); - it('sets native state value for unmanaged text inputs', async () => { + it('unmanaged text inputs preserve their native state', async () => { render(); const user = userEvent.setup(); const input = screen.getByTestId('input'); expect(input).toHaveDisplayValue(''); - await user.type(input, 'abc'); - expect(input).toHaveDisplayValue('abc'); + await user.type(input, 'Hello'); + expect(input).toHaveDisplayValue('Hello'); + + await user.type(input, ' World'); + expect(input).toHaveDisplayValue('Hello World'); }); }); diff --git a/src/user-event/type/type.ts b/src/user-event/type/type.ts index 540a28792..19fa66cc2 100644 --- a/src/user-event/type/type.ts +++ b/src/user-event/type/type.ts @@ -3,7 +3,7 @@ import { isHostTextInput } from '../../helpers/host-component-names'; import { nativeState } from '../../native-state'; import { EventBuilder } from '../event-builder'; import { ErrorWithStack } from '../../helpers/errors'; -import { isTextInputEditable } from '../../helpers/text-input'; +import { getTextInputValue, isTextInputEditable } from '../../helpers/text-input'; import { isPointerEventEnabled } from '../../helpers/pointer-events'; import { UserEventConfig, UserEventInstance } from '../setup'; import { dispatchEvent, wait, getTextContentSize } from '../utils'; @@ -45,9 +45,9 @@ export async function type( dispatchEvent(element, 'pressOut', EventBuilder.Common.touch()); } - let currentText = element.props.value ?? element.props.defaultValue ?? ''; + let currentText = getTextInputValue(element); for (const key of keys) { - const previousText = element.props.value ?? currentText; + const previousText = getTextInputValue(element); const proposedText = applyKey(previousText, key); const isAccepted = isTextChangeAccepted(element, proposedText); currentText = isAccepted ? proposedText : previousText; @@ -60,7 +60,7 @@ export async function type( }); } - const finalText = element.props.value ?? currentText; + const finalText = getTextInputValue(element); await wait(this.config); if (options?.submitEditing) { From 60dd2e6c45a1667f09d25b948bb18d124f7e00c8 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 12 Sep 2024 11:58:34 +0200 Subject: [PATCH 08/86] chore: release 12.7.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6720c3c31..ffc4c4e65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@testing-library/react-native", - "version": "12.7.1", + "version": "12.7.2", "description": "Simple and complete React Native testing utilities that encourage good testing practices.", "main": "build/index.js", "types": "build/index.d.ts", From bd98be05c66c7e9915cd129a4ba7890da12f0eea Mon Sep 17 00:00:00 2001 From: Steve Galili Date: Wed, 18 Sep 2024 09:51:53 +0200 Subject: [PATCH 09/86] docs(cookbook): network requests recipes (#1655) * squash prev commits * remove unneeded axios mock * set maxWorkers=2 * run with a slow test reporter * revert: run with a slow test reporter * Add url check to mock and further reading and alternatives * use MSW for all API calls in cookbook test suits * Comments with implem. explanation * Arrange docs initially to reflect new scenario and remove jest.setTimeout * updating docs (1) * updating docs (2) * updating docs with global guarding and conclusion --------- Co-authored-by: stevegalili --- examples/cookbook/app/index.tsx | 5 +- .../app/network-requests/PhoneBook.tsx | 52 +++ .../__tests__/PhoneBook.test.tsx | 40 ++ .../network-requests/__tests__/test-utils.ts | 109 +++++ .../network-requests/api/getAllContacts.ts | 10 + .../network-requests/api/getAllFavorites.ts | 10 + .../components/ContactsList.tsx | 60 +++ .../components/FavoritesList.tsx | 59 +++ .../cookbook/app/network-requests/index.tsx | 6 + .../cookbook/app/network-requests/types.ts | 18 + examples/cookbook/jest-setup.ts | 8 + examples/cookbook/package.json | 1 + examples/cookbook/yarn.lock | 327 ++++++++++++++- website/docs/12.x/cookbook/_meta.json | 5 + .../docs/12.x/cookbook/advanced/_meta.json | 1 + .../cookbook/advanced/network-requests.md | 380 ++++++++++++++++++ .../12.x/cookbook/state-management/jotai.md | 12 +- 17 files changed, 1091 insertions(+), 12 deletions(-) create mode 100644 examples/cookbook/app/network-requests/PhoneBook.tsx create mode 100644 examples/cookbook/app/network-requests/__tests__/PhoneBook.test.tsx create mode 100644 examples/cookbook/app/network-requests/__tests__/test-utils.ts create mode 100644 examples/cookbook/app/network-requests/api/getAllContacts.ts create mode 100644 examples/cookbook/app/network-requests/api/getAllFavorites.ts create mode 100644 examples/cookbook/app/network-requests/components/ContactsList.tsx create mode 100644 examples/cookbook/app/network-requests/components/FavoritesList.tsx create mode 100644 examples/cookbook/app/network-requests/index.tsx create mode 100644 examples/cookbook/app/network-requests/types.ts create mode 100644 website/docs/12.x/cookbook/advanced/_meta.json create mode 100644 website/docs/12.x/cookbook/advanced/network-requests.md diff --git a/examples/cookbook/app/index.tsx b/examples/cookbook/app/index.tsx index 025a57d29..06564b31a 100644 --- a/examples/cookbook/app/index.tsx +++ b/examples/cookbook/app/index.tsx @@ -82,6 +82,7 @@ type Recipe = { }; const recipes: Recipe[] = [ - { id: 2, title: 'Welcome Screen with Custom Render', path: 'custom-render/' }, - { id: 1, title: 'Task List with Jotai', path: 'jotai/' }, + { id: 1, title: 'Welcome Screen with Custom Render', path: 'custom-render/' }, + { id: 2, title: 'Task List with Jotai', path: 'state-management/jotai/' }, + { id: 3, title: 'Phone book with\na Variety of Net. Req. Methods', path: 'advanced/' }, ]; diff --git a/examples/cookbook/app/network-requests/PhoneBook.tsx b/examples/cookbook/app/network-requests/PhoneBook.tsx new file mode 100644 index 000000000..fe25520da --- /dev/null +++ b/examples/cookbook/app/network-requests/PhoneBook.tsx @@ -0,0 +1,52 @@ +import React, { useEffect, useState } from 'react'; +import { Text } from 'react-native'; +import { User } from './types'; +import ContactsList from './components/ContactsList'; +import FavoritesList from './components/FavoritesList'; +import getAllContacts from './api/getAllContacts'; +import getAllFavorites from './api/getAllFavorites'; + +export default () => { + const [usersData, setUsersData] = useState([]); + const [favoritesData, setFavoritesData] = useState([]); + const [error, setError] = useState(null); + + useEffect(() => { + const _getAllContacts = async () => { + const _data = await getAllContacts(); + setUsersData(_data); + }; + const _getAllFavorites = async () => { + const _data = await getAllFavorites(); + setFavoritesData(_data); + }; + + const run = async () => { + try { + await Promise.all([_getAllContacts(), _getAllFavorites()]); + } catch (e) { + const message = isErrorWithMessage(e) ? e.message : 'Something went wrong'; + setError(message); + } + }; + + void run(); + }, []); + + if (error) { + return An error occurred: {error}; + } + + return ( + <> + + + + ); +}; + +const isErrorWithMessage = ( + e: unknown, +): e is { + message: string; +} => typeof e === 'object' && e !== null && 'message' in e; diff --git a/examples/cookbook/app/network-requests/__tests__/PhoneBook.test.tsx b/examples/cookbook/app/network-requests/__tests__/PhoneBook.test.tsx new file mode 100644 index 000000000..f3665391e --- /dev/null +++ b/examples/cookbook/app/network-requests/__tests__/PhoneBook.test.tsx @@ -0,0 +1,40 @@ +import { render, screen, waitForElementToBeRemoved } from '@testing-library/react-native'; +import React from 'react'; +import PhoneBook from '../PhoneBook'; +import { + mockServerFailureForGetAllContacts, + mockServerFailureForGetAllFavorites, +} from './test-utils'; + +jest.setTimeout(10000); + +describe('PhoneBook', () => { + it('fetches all contacts and favorites successfully and renders lists in sections correctly', async () => { + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect(await screen.findByText('Name: Mrs Ida Kristensen')).toBeOnTheScreen(); + expect(await screen.findByText('Email: ida.kristensen@example.com')).toBeOnTheScreen(); + expect(await screen.findAllByText(/name/i)).toHaveLength(3); + expect(await screen.findByText(/my favorites/i)).toBeOnTheScreen(); + expect(await screen.findAllByLabelText('favorite-contact-avatar')).toHaveLength(3); + }); + + it('fails to fetch all contacts and renders error message', async () => { + mockServerFailureForGetAllContacts(); + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect( + await screen.findByText(/an error occurred: error fetching contacts/i), + ).toBeOnTheScreen(); + }); + + it('fails to fetch favorites and renders error message', async () => { + mockServerFailureForGetAllFavorites(); + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/figuring out your favorites/i)); + expect(await screen.findByText(/error fetching favorites/i)).toBeOnTheScreen(); + }); +}); diff --git a/examples/cookbook/app/network-requests/__tests__/test-utils.ts b/examples/cookbook/app/network-requests/__tests__/test-utils.ts new file mode 100644 index 000000000..c14edd6b5 --- /dev/null +++ b/examples/cookbook/app/network-requests/__tests__/test-utils.ts @@ -0,0 +1,109 @@ +import { User } from '../types'; +import {http, HttpResponse} from "msw"; +import {setupServer} from "msw/node"; + +// Define request handlers and response resolvers for random user API. +// By default, we always return the happy path response. +const handlers = [ + http.get('https://randomuser.me/api/*', () => { + return HttpResponse.json(DATA); + }), +]; + +export const server = setupServer(...handlers); + +export const mockServerFailureForGetAllContacts = () => { + server.use( + http.get('https://randomuser.me/api/', ({ request }) => { + // Construct a URL instance out of the intercepted request. + const url = new URL(request.url); + // Read the "results" URL query parameter using the "URLSearchParams" API. + const resultsLength = url.searchParams.get('results'); + // Simulate a server error for the get all contacts request. + // We check if the "results" query parameter is set to "25" + // to know it's the correct request to mock, in our case get all contacts. + if (resultsLength === '25') { + return new HttpResponse(null, { status: 500 }); + } + + return HttpResponse.json(DATA); + }), + ); +}; + +export const mockServerFailureForGetAllFavorites = () => { + server.use( + http.get('https://randomuser.me/api/', ({ request }) => { + // Construct a URL instance out of the intercepted request. + const url = new URL(request.url); + // Read the "results" URL query parameter using the "URLSearchParams" API. + const resultsLength = url.searchParams.get('results'); + // Simulate a server error for the get all favorites request. + // We check if the "results" query parameter is set to "10" + // to know it's the correct request to mock, in our case get all favorites. + if (resultsLength === '10') { + return new HttpResponse(null, { status: 500 }); + } + + return HttpResponse.json(DATA); + }), + ); +}; +export const DATA: { results: User[] } = { + results: [ + { + name: { + title: 'Mrs', + first: 'Ida', + last: 'Kristensen', + }, + email: 'ida.kristensen@example.com', + id: { + name: 'CPR', + value: '250562-5730', + }, + picture: { + large: 'https://randomuser.me/api/portraits/women/26.jpg', + medium: 'https://randomuser.me/api/portraits/med/women/26.jpg', + thumbnail: 'https://randomuser.me/api/portraits/thumb/women/26.jpg', + }, + cell: '123-4567-890', + }, + { + name: { + title: 'Mr', + first: 'Elijah', + last: 'Ellis', + }, + email: 'elijah.ellis@example.com', + id: { + name: 'TFN', + value: '138117486', + }, + picture: { + large: 'https://randomuser.me/api/portraits/men/53.jpg', + medium: 'https://randomuser.me/api/portraits/med/men/53.jpg', + thumbnail: 'https://randomuser.me/api/portraits/thumb/men/53.jpg', + }, + cell: '123-4567-890', + }, + { + name: { + title: 'Mr', + first: 'Miro', + last: 'Halko', + }, + email: 'miro.halko@example.com', + id: { + name: 'HETU', + value: 'NaNNA945undefined', + }, + picture: { + large: 'https://randomuser.me/api/portraits/men/17.jpg', + medium: 'https://randomuser.me/api/portraits/med/men/17.jpg', + thumbnail: 'https://randomuser.me/api/portraits/thumb/men/17.jpg', + }, + cell: '123-4567-890', + }, + ], +}; diff --git a/examples/cookbook/app/network-requests/api/getAllContacts.ts b/examples/cookbook/app/network-requests/api/getAllContacts.ts new file mode 100644 index 000000000..118f242da --- /dev/null +++ b/examples/cookbook/app/network-requests/api/getAllContacts.ts @@ -0,0 +1,10 @@ +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=25'); + if (!res.ok) { + throw new Error(`Error fetching contacts`); + } + const json = await res.json(); + return json.results; +}; diff --git a/examples/cookbook/app/network-requests/api/getAllFavorites.ts b/examples/cookbook/app/network-requests/api/getAllFavorites.ts new file mode 100644 index 000000000..954d11dc5 --- /dev/null +++ b/examples/cookbook/app/network-requests/api/getAllFavorites.ts @@ -0,0 +1,10 @@ +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=10'); + if (!res.ok) { + throw new Error(`Error fetching favorites`); + } + const json = await res.json(); + return json.results; +}; diff --git a/examples/cookbook/app/network-requests/components/ContactsList.tsx b/examples/cookbook/app/network-requests/components/ContactsList.tsx new file mode 100644 index 000000000..f62f99f00 --- /dev/null +++ b/examples/cookbook/app/network-requests/components/ContactsList.tsx @@ -0,0 +1,60 @@ +import { FlatList, Image, StyleSheet, Text, View } from 'react-native'; +import React, { useCallback } from 'react'; +import type { ListRenderItem } from '@react-native/virtualized-lists'; +import { User } from '../types'; + +export default ({ users }: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback( + ({ item: { name, email, picture, cell }, index }) => { + const { title, first, last } = name; + const backgroundColor = index % 2 === 0 ? '#f9f9f9' : '#fff'; + return ( + + + + + Name: {title} {first} {last} + + Email: {email} + Mobile: {cell} + + + ); + }, + [], + ); + + if (users.length === 0) return ; + + return ( + + + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; +const FullScreenLoader = () => { + return ( + + Users data not quite there yet... + + ); +}; + +const styles = StyleSheet.create({ + userContainer: { + padding: 16, + flexDirection: 'row', + alignItems: 'center', + }, + userImage: { + width: 50, + height: 50, + borderRadius: 24, + marginRight: 16, + }, + loaderContainer: { flex: 1, justifyContent: 'center', alignItems: 'center' }, +}); diff --git a/examples/cookbook/app/network-requests/components/FavoritesList.tsx b/examples/cookbook/app/network-requests/components/FavoritesList.tsx new file mode 100644 index 000000000..17503200c --- /dev/null +++ b/examples/cookbook/app/network-requests/components/FavoritesList.tsx @@ -0,0 +1,59 @@ +import { FlatList, Image, StyleSheet, Text, View } from 'react-native'; +import React, { useCallback } from 'react'; +import type { ListRenderItem } from '@react-native/virtualized-lists'; +import { User } from '../types'; + +export default ({ users }: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback(({ item: { picture } }) => { + return ( + + + + ); + }, []); + + if (users.length === 0) return ; + + return ( + + ⭐My Favorites + + horizontal + showsHorizontalScrollIndicator={false} + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; +const FullScreenLoader = () => { + return ( + + Figuring out your favorites... + + ); +}; + +const styles = StyleSheet.create({ + outerContainer: { + padding: 8, + }, + userContainer: { + padding: 8, + flexDirection: 'row', + alignItems: 'center', + }, + userImage: { + width: 52, + height: 52, + borderRadius: 36, + borderColor: '#9b6dff', + borderWidth: 2, + }, + loaderContainer: { height: 52, justifyContent: 'center', alignItems: 'center' }, +}); diff --git a/examples/cookbook/app/network-requests/index.tsx b/examples/cookbook/app/network-requests/index.tsx new file mode 100644 index 000000000..86075de32 --- /dev/null +++ b/examples/cookbook/app/network-requests/index.tsx @@ -0,0 +1,6 @@ +import * as React from 'react'; +import PhoneBook from './PhoneBook'; + +export default function Example() { + return ; +} diff --git a/examples/cookbook/app/network-requests/types.ts b/examples/cookbook/app/network-requests/types.ts new file mode 100644 index 000000000..f198d644d --- /dev/null +++ b/examples/cookbook/app/network-requests/types.ts @@ -0,0 +1,18 @@ +export type User = { + name: { + title: string; + first: string; + last: string; + }; + email: string; + id: { + name: string; + value: string; + }; + picture: { + large: string; + medium: string; + thumbnail: string; + }; + cell: string; +}; diff --git a/examples/cookbook/jest-setup.ts b/examples/cookbook/jest-setup.ts index 7f63025d9..d51605250 100644 --- a/examples/cookbook/jest-setup.ts +++ b/examples/cookbook/jest-setup.ts @@ -2,6 +2,14 @@ // Import built-in Jest matchers import '@testing-library/react-native/extend-expect'; +import { server } from './app/network-requests/__tests__/test-utils'; // Silence the warning: Animated: `useNativeDriver` is not supported because the native animated module is missing jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper'); + +// Enable API mocking via Mock Service Worker (MSW) +beforeAll(() => server.listen()); +// Reset any runtime request handlers we may add during the tests +afterEach(() => server.resetHandlers()); +// Disable API mocking after the tests are done +afterAll(() => server.close()); diff --git a/examples/cookbook/package.json b/examples/cookbook/package.json index 2468698c2..71d4fb024 100644 --- a/examples/cookbook/package.json +++ b/examples/cookbook/package.json @@ -37,6 +37,7 @@ "@types/react-native-get-random-values": "^1", "eslint": "^8.57.0", "jest": "^29.7.0", + "msw": "^2.4.4", "react-test-renderer": "18.2.0", "typescript": "~5.3.3" }, diff --git a/examples/cookbook/yarn.lock b/examples/cookbook/yarn.lock index 66fef55ce..09a29ff8e 100644 --- a/examples/cookbook/yarn.lock +++ b/examples/cookbook/yarn.lock @@ -1137,6 +1137,34 @@ __metadata: languageName: node linkType: hard +"@bundled-es-modules/cookie@npm:^2.0.0": + version: 2.0.0 + resolution: "@bundled-es-modules/cookie@npm:2.0.0" + dependencies: + cookie: "npm:^0.5.0" + checksum: 10c0/0655dd331b35d7b5b6dd2301c3bcfb7233018c0e3235a40ced1d53f00463ab92dc01f0091f153812867bc0ef0f8e0a157a30acb16e8d7ef149702bf8db9fe7a6 + languageName: node + linkType: hard + +"@bundled-es-modules/statuses@npm:^1.0.1": + version: 1.0.1 + resolution: "@bundled-es-modules/statuses@npm:1.0.1" + dependencies: + statuses: "npm:^2.0.1" + checksum: 10c0/c1a8ede3efa8da61ccda4b98e773582a9733edfbeeee569d4630785f8e018766202edb190a754a3ec7a7f6bd738e857829affc2fdb676b6dab4db1bb44e62785 + languageName: node + linkType: hard + +"@bundled-es-modules/tough-cookie@npm:^0.1.6": + version: 0.1.6 + resolution: "@bundled-es-modules/tough-cookie@npm:0.1.6" + dependencies: + "@types/tough-cookie": "npm:^4.0.5" + tough-cookie: "npm:^4.1.4" + checksum: 10c0/28bcac878bff6b34719ba3aa8341e9924772ee55de5487680ebe784981ec9fccb70ed5d46f563e2404855a04de606f9e56aa4202842d4f5835bc04a4fe820571 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1630,6 +1658,53 @@ __metadata: languageName: node linkType: hard +"@inquirer/confirm@npm:^3.0.0": + version: 3.2.0 + resolution: "@inquirer/confirm@npm:3.2.0" + dependencies: + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + checksum: 10c0/a2cbfc8ae9c880bba4cce1993f5c399fb0d12741fdd574917c87fceb40ece62ffa60e35aaadf4e62d7c114f54008e45aee5d6d90497bb62d493996c02725d243 + languageName: node + linkType: hard + +"@inquirer/core@npm:^9.1.0": + version: 9.1.0 + resolution: "@inquirer/core@npm:9.1.0" + dependencies: + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.3" + "@types/mute-stream": "npm:^0.0.4" + "@types/node": "npm:^22.5.2" + "@types/wrap-ansi": "npm:^3.0.0" + ansi-escapes: "npm:^4.3.2" + cli-spinners: "npm:^2.9.2" + cli-width: "npm:^4.1.0" + mute-stream: "npm:^1.0.0" + signal-exit: "npm:^4.1.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^6.2.0" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/c86cbd1980788dee4151002ed717b5664a79eec1d925e1b38896bbad079647af5c423eaaa39a2291ba4fdf78a33c541ea3f69cbbf030f03815eb523fa05230f8 + languageName: node + linkType: hard + +"@inquirer/figures@npm:^1.0.5": + version: 1.0.5 + resolution: "@inquirer/figures@npm:1.0.5" + checksum: 10c0/ec9ba23db42cb33fa18eb919abf2a18e750e739e64c1883ce4a98345cd5711c60cac12d1faf56a859f52d387deb221c8d3dfe60344ee07955a9a262f8b821fe3 + languageName: node + linkType: hard + +"@inquirer/type@npm:^1.5.3": + version: 1.5.3 + resolution: "@inquirer/type@npm:1.5.3" + dependencies: + mute-stream: "npm:^1.0.0" + checksum: 10c0/da92a7410efcb20cf12422558fb8e00136e2ff1746ae1d17ea05511e77139bf2044527d37a70e77f188f158099f7751ed808ca3f82769cbe99c1052509481e95 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -1975,6 +2050,20 @@ __metadata: languageName: node linkType: hard +"@mswjs/interceptors@npm:^0.35.0": + version: 0.35.0 + resolution: "@mswjs/interceptors@npm:0.35.0" + dependencies: + "@open-draft/deferred-promise": "npm:^2.2.0" + "@open-draft/logger": "npm:^0.3.0" + "@open-draft/until": "npm:^2.0.0" + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.3" + strict-event-emitter: "npm:^0.5.1" + checksum: 10c0/7e1a03a32afb9dafd6bdd8a77b838d4c6cff61a9d0aecf76a898ca2715c9068a8dfd3a40869dfaf42c834bc833fc057ccc096c2819c8f9a3212469fddc543b66 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2024,6 +2113,30 @@ __metadata: languageName: node linkType: hard +"@open-draft/deferred-promise@npm:^2.2.0": + version: 2.2.0 + resolution: "@open-draft/deferred-promise@npm:2.2.0" + checksum: 10c0/eafc1b1d0fc8edb5e1c753c5e0f3293410b40dde2f92688211a54806d4136887051f39b98c1950370be258483deac9dfd17cf8b96557553765198ef2547e4549 + languageName: node + linkType: hard + +"@open-draft/logger@npm:^0.3.0": + version: 0.3.0 + resolution: "@open-draft/logger@npm:0.3.0" + dependencies: + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.0" + checksum: 10c0/90010647b22e9693c16258f4f9adb034824d1771d3baa313057b9a37797f571181005bc50415a934eaf7c891d90ff71dcd7a9d5048b0b6bb438f31bef2c7c5c1 + languageName: node + linkType: hard + +"@open-draft/until@npm:^2.0.0, @open-draft/until@npm:^2.1.0": + version: 2.1.0 + resolution: "@open-draft/until@npm:2.1.0" + checksum: 10c0/61d3f99718dd86bb393fee2d7a785f961dcaf12f2055f0c693b27f4d0cd5f7a03d498a6d9289773b117590d794a43cd129366fd8e99222e4832f67b1653d54cf + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -2855,6 +2968,15 @@ __metadata: languageName: node linkType: hard +"@types/mute-stream@npm:^0.0.4": + version: 0.0.4 + resolution: "@types/mute-stream@npm:0.0.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/944730fd7b398c5078de3c3d4d0afeec8584283bc694da1803fdfca14149ea385e18b1b774326f1601baf53898ce6d121a952c51eb62d188ef6fcc41f725c0dc + languageName: node + linkType: hard + "@types/node-forge@npm:^1.3.0": version: 1.3.11 resolution: "@types/node-forge@npm:1.3.11" @@ -2882,6 +3004,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.5.2": + version: 22.5.4 + resolution: "@types/node@npm:22.5.4" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/b445daa7eecd761ad4d778b882d6ff7bcc3b4baad2086ea9804db7c5d4a4ab0298b00d7f5315fc640a73b5a1d52bbf9628e09c9fec0cf44dbf9b4df674a8717d + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.12 resolution: "@types/prop-types@npm:15.7.12" @@ -2913,6 +3044,27 @@ __metadata: languageName: node linkType: hard +"@types/statuses@npm:^2.0.4": + version: 2.0.5 + resolution: "@types/statuses@npm:2.0.5" + checksum: 10c0/4dacec0b29483a44be902a022a11a22b339de7a6e7b2059daa4f7add10cb6dbcc28d02d2a416fe9687e48d335906bf983065391836d4e7c847e55ddef4de8fad + languageName: node + linkType: hard + +"@types/tough-cookie@npm:^4.0.5": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: 10c0/68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 + languageName: node + linkType: hard + +"@types/wrap-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/wrap-ansi@npm:3.0.0" + checksum: 10c0/8d8f53363f360f38135301a06b596c295433ad01debd082078c33c6ed98b05a5c8fe8853a88265432126096084f4a135ec1564e3daad631b83296905509f90b3 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -3872,13 +4024,20 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.9.2": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 languageName: node linkType: hard +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f + languageName: node + linkType: hard + "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -4114,6 +4273,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:^0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d + languageName: node + linkType: hard + "cookie@npm:^0.6.0": version: 0.6.0 resolution: "cookie@npm:0.6.0" @@ -5763,6 +5929,13 @@ __metadata: languageName: node linkType: hard +"graphql@npm:^16.8.1": + version: 16.9.0 + resolution: "graphql@npm:16.9.0" + checksum: 10c0/a8850f077ff767377237d1f8b1da2ec70aeb7623cdf1dfc9e1c7ae93accc0c8149c85abe68923be9871a2934b1bce5a2496f846d4d56e1cfb03eaaa7ddba9b6a + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -5825,6 +5998,13 @@ __metadata: languageName: node linkType: hard +"headers-polyfill@npm:^4.0.2": + version: 4.0.3 + resolution: "headers-polyfill@npm:4.0.3" + checksum: 10c0/53e85b2c6385f8d411945fb890c5369f1469ce8aa32a6e8d28196df38568148de640c81cf88cbc7c67767103dd9acba48f4f891982da63178fc6e34560022afe + languageName: node + linkType: hard + "hermes-estree@npm:0.19.1": version: 0.19.1 resolution: "hermes-estree@npm:0.19.1" @@ -6316,6 +6496,13 @@ __metadata: languageName: node linkType: hard +"is-node-process@npm:^1.2.0": + version: 1.2.0 + resolution: "is-node-process@npm:1.2.0" + checksum: 10c0/5b24fda6776d00e42431d7bcd86bce81cb0b6cabeb944142fe7b077a54ada2e155066ad06dbe790abdb397884bdc3151e04a9707b8cd185099efbc79780573ed + languageName: node + linkType: hard + "is-number-object@npm:^1.0.4": version: 1.0.7 resolution: "is-number-object@npm:1.0.7" @@ -8105,6 +8292,45 @@ __metadata: languageName: node linkType: hard +"msw@npm:^2.4.4": + version: 2.4.4 + resolution: "msw@npm:2.4.4" + dependencies: + "@bundled-es-modules/cookie": "npm:^2.0.0" + "@bundled-es-modules/statuses": "npm:^1.0.1" + "@bundled-es-modules/tough-cookie": "npm:^0.1.6" + "@inquirer/confirm": "npm:^3.0.0" + "@mswjs/interceptors": "npm:^0.35.0" + "@open-draft/until": "npm:^2.1.0" + "@types/cookie": "npm:^0.6.0" + "@types/statuses": "npm:^2.0.4" + chalk: "npm:^4.1.2" + graphql: "npm:^16.8.1" + headers-polyfill: "npm:^4.0.2" + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.2" + path-to-regexp: "npm:^6.2.0" + strict-event-emitter: "npm:^0.5.1" + type-fest: "npm:^4.9.0" + yargs: "npm:^17.7.2" + peerDependencies: + typescript: ">= 4.8.x" + peerDependenciesMeta: + typescript: + optional: true + bin: + msw: cli/index.js + checksum: 10c0/0be51fbd6ef1b4fd8906353b6e40473f9466ea7ef9cc805e49c5937886721db20801b2322535b456d523040c012afb34e0e76a5beaa4891cbdde2408d2652094 + languageName: node + linkType: hard + +"mute-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "mute-stream@npm:1.0.0" + checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c + languageName: node + linkType: hard + "mz@npm:^2.7.0": version: 2.7.0 resolution: "mz@npm:2.7.0" @@ -8493,6 +8719,13 @@ __metadata: languageName: node linkType: hard +"outvariant@npm:^1.4.0, outvariant@npm:^1.4.2, outvariant@npm:^1.4.3": + version: 1.4.3 + resolution: "outvariant@npm:1.4.3" + checksum: 10c0/5976ca7740349cb8c71bd3382e2a762b1aeca6f33dc984d9d896acdf3c61f78c3afcf1bfe9cc633a7b3c4b295ec94d292048f83ea2b2594fae4496656eba992c + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -8677,6 +8910,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^6.2.0": + version: 6.2.2 + resolution: "path-to-regexp@npm:6.2.2" + checksum: 10c0/4b60852d3501fd05ca9dd08c70033d73844e5eca14e41f499f069afa8364f780f15c5098002f93bd42af8b3514de62ac6e82a53b5662de881d2b08c9ef21ea6b + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -8887,6 +9127,13 @@ __metadata: languageName: node linkType: hard +"psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 10c0/6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab + languageName: node + linkType: hard + "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -8939,6 +9186,13 @@ __metadata: languageName: node linkType: hard +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 10c0/3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -9356,6 +9610,13 @@ __metadata: languageName: node linkType: hard +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -9513,6 +9774,7 @@ __metadata: expo-status-bar: "npm:~1.12.1" jest: "npm:^29.7.0" jotai: "npm:^2.8.4" + msw: "npm:^2.4.4" nanoid: "npm:^3.3.7" react: "npm:18.2.0" react-dom: "npm:18.2.0" @@ -9821,7 +10083,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -10020,7 +10282,7 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1": +"statuses@npm:2.0.1, statuses@npm:^2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 @@ -10048,6 +10310,13 @@ __metadata: languageName: node linkType: hard +"strict-event-emitter@npm:^0.5.1": + version: 0.5.1 + resolution: "strict-event-emitter@npm:0.5.1" + checksum: 10c0/f5228a6e6b6393c57f52f62e673cfe3be3294b35d6f7842fc24b172ae0a6e6c209fa83241d0e433fc267c503bc2f4ffdbe41a9990ff8ffd5ac425ec0489417f7 + languageName: node + linkType: hard + "strict-uri-encode@npm:^2.0.0": version: 2.0.0 resolution: "strict-uri-encode@npm:2.0.0" @@ -10498,6 +10767,18 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:^4.1.4": + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10c0/aca7ff96054f367d53d1e813e62ceb7dd2eda25d7752058a74d64b7266fd07be75908f3753a32ccf866a2f997604b414cfb1916d6e7f69bc64d9d9939b0d6c45 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -10588,6 +10869,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^4.9.0": + version: 4.26.1 + resolution: "type-fest@npm:4.26.1" + checksum: 10c0/d2719ff8d380befe8a3c61068f37f28d6fa2849fd140c5d2f0f143099e371da6856aad7c97e56b83329d45bfe504afe9fd936a7cff600cc0d46aa9ffb008d6c6 + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -10707,6 +10995,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + "undici@npm:^6.11.1": version: 6.19.7 resolution: "undici@npm:6.19.7" @@ -10788,6 +11083,13 @@ __metadata: languageName: node linkType: hard +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: 10c0/cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe + languageName: node + linkType: hard + "universalify@npm:^1.0.0": version: 1.0.0 resolution: "universalify@npm:1.0.0" @@ -10839,6 +11141,16 @@ __metadata: languageName: node linkType: hard +"url-parse@npm:^1.5.3": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: "npm:^2.1.1" + requires-port: "npm:^1.0.0" + checksum: 10c0/bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 + languageName: node + linkType: hard + "use-latest-callback@npm:^0.2.1": version: 0.2.1 resolution: "use-latest-callback@npm:0.2.1" @@ -11329,7 +11641,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.3.1, yargs@npm:^17.6.2": +"yargs@npm:^17.3.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -11350,3 +11662,10 @@ __metadata: checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f languageName: node linkType: hard + +"yoctocolors-cjs@npm:^2.1.2": + version: 2.1.2 + resolution: "yoctocolors-cjs@npm:2.1.2" + checksum: 10c0/a0e36eb88fea2c7981eab22d1ba45e15d8d268626e6c4143305e2c1628fa17ebfaa40cd306161a8ce04c0a60ee0262058eab12567493d5eb1409780853454c6f + languageName: node + linkType: hard diff --git a/website/docs/12.x/cookbook/_meta.json b/website/docs/12.x/cookbook/_meta.json index 2aae97071..deb5689d7 100644 --- a/website/docs/12.x/cookbook/_meta.json +++ b/website/docs/12.x/cookbook/_meta.json @@ -5,6 +5,11 @@ "name": "basics", "label": "Basic Recipes" }, + { + "type": "dir", + "name": "advanced", + "label": "Advanced Recipes" + }, { "type": "dir", "name": "state-management", diff --git a/website/docs/12.x/cookbook/advanced/_meta.json b/website/docs/12.x/cookbook/advanced/_meta.json new file mode 100644 index 000000000..9d0399cc6 --- /dev/null +++ b/website/docs/12.x/cookbook/advanced/_meta.json @@ -0,0 +1 @@ +["network-requests"] diff --git a/website/docs/12.x/cookbook/advanced/network-requests.md b/website/docs/12.x/cookbook/advanced/network-requests.md new file mode 100644 index 000000000..08002ef92 --- /dev/null +++ b/website/docs/12.x/cookbook/advanced/network-requests.md @@ -0,0 +1,380 @@ +# Network Requests + +## Introduction + +Mocking network requests is an essential part of testing React Native applications. By mocking +network +requests, you can control the data that is returned from the server and test how your application +behaves in different scenarios, such as when the request is successful or when it fails. + +In this guide, we will show you how to mock network requests and guard your test suits from unwanted +and unmocked/unhandled network requests + +:::info +To simulate a real-world scenario, we will use the [Random User Generator API](https://randomuser.me/) that provides random user data. +::: + +## Phonebook Example + +Let's assume we have a simple phonebook application that +uses [`fetch`](https://reactnative.dev/docs/network#using-fetch) for fetching Data from a server. +In our case, we have a list of contacts and favorites that we want to display in our application. + +This is how the root of the application looks like: + +```tsx title=network-requests/Phonebook.tsx +import React, { useEffect, useState } from 'react'; +import { Text } from 'react-native'; +import { User } from './types'; +import ContactsList from './components/ContactsList'; +import FavoritesList from './components/FavoritesList'; +import getAllContacts from './api/getAllContacts'; +import getAllFavorites from './api/getAllFavorites'; + +export default () => { + const [usersData, setUsersData] = useState([]); + const [favoritesData, setFavoritesData] = useState([]); + const [error, setError] = useState(null); + + useEffect(() => { + const _getAllContacts = async () => { + const _data = await getAllContacts(); + setUsersData(_data); + }; + const _getAllFavorites = async () => { + const _data = await getAllFavorites(); + setFavoritesData(_data); + }; + + const run = async () => { + try { + await Promise.all([_getAllContacts(), _getAllFavorites()]); + } catch (e) { + const message = isErrorWithMessage(e) ? e.message : 'Something went wrong'; + setError(message); + } + }; + + void run(); + }, []); + + if (error) { + return An error occurred: {error}; + } + + return ( + <> + + + + ); +}; +``` + +We fetch the contacts from the server using the `getAllFavorites` function that utilizes `fetch`. + +```tsx title=network-requests/api/getAllContacts.ts +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=25'); + if (!res.ok) { + throw new Error(`Error fetching contacts`); + } + const json = await res.json(); + return json.results; +}; +``` + +We have similar function for fetching the favorites, but this time limiting the results to 10. + +```tsx title=network-requests/api/getAllFavorites.ts +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=10'); + if (!res.ok) { + throw new Error(`Error fetching favorites`); + } + const json = await res.json(); + return json.results; +}; +``` + +Our `FavoritesList` component is a simple component that displays the list of favorite contacts and +their avatars horizontally. + +```tsx title=network-requests/components/FavoritesList.tsx +import {FlatList, Image, StyleSheet, Text, View} from 'react-native'; +import React, {useCallback} from 'react'; +import type {ListRenderItem} from '@react-native/virtualized-lists'; +import {User} from '../types'; + +export default ({users}: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback(({item: {picture}}) => { + return ( + + + + ); + }, []); + + if (users.length === 0) return ( + + Figuring out your favorites... + + ); + + return ( + + ⭐My Favorites + + horizontal + showsHorizontalScrollIndicator={false} + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; + +// Looking for styles? +// Check examples/cookbook/app/advanced/components/FavoritesList.tsx +const styles = +... +``` + +Our `ContactsList` component is similar to the `FavoritesList` component, but it displays the list +of +all contacts vertically. + +```tsx title=network-requests/components/ContactsList.tsx +import { FlatList, Image, StyleSheet, Text, View } from 'react-native'; +import React, { useCallback } from 'react'; +import type { ListRenderItem } from '@react-native/virtualized-lists'; +import { User } from '../types'; + +export default ({ users }: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback( + ({ item: { name, email, picture, cell }, index }) => { + const { title, first, last } = name; + const backgroundColor = index % 2 === 0 ? '#f9f9f9' : '#fff'; + return ( + + + + + Name: {title} {first} {last} + + Email: {email} + Mobile: {cell} + + + ); + }, + [], + ); + + if (users.length === 0) return ; + + return ( + + + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; + +// Looking for styles or FullScreenLoader component? +// Check examples/cookbook/app/advanced/components/ContactsList.tsx +const FullScreenLoader = () => ... +const styles = ... +``` + +## Start testing with a simple test + +In our initial test we would like to test if the `PhoneBook` component renders the `FavoritesList` +and `ContactsList` components correctly. +We will need to mock the network requests and their corresponding responses to ensure that the component behaves as +expected. To mock the network requests we will use [MSW (Mock Service Worker)](https://mswjs.io/docs/getting-started). + +:::note +We recommend using the Mock Service Worker (MSW) library to declaratively mock API communication in your tests instead of stubbing `fetch`, or relying on third-party adapters. +::: + +:::info +You can install MSW by running `npm install msw --save-dev` or `yarn add msw --dev`. +More info regarding installation can be found in [MSW's getting started guide](https://mswjs.io/docs/getting-started#step-1-install). + +Please make sure you're also aware of [MSW's setup guide](https://mswjs.io/docs/integrations/react-native). +Please be minded that the MSW's setup guide is potentially incomplete and might contain discrepancies/missing pieces. +::: + +```tsx title=network-requests/Phonebook.test.tsx +import { render, screen, waitForElementToBeRemoved } from '@testing-library/react-native'; +import React from 'react'; +import PhoneBook from '../PhoneBook'; +import { User } from '../types'; +import {http, HttpResponse} from "msw"; +import {setupServer} from "msw/node"; + +// Define request handlers and response resolvers for random user API. +// By default, we always return the happy path response. +const handlers = [ + http.get('https://randomuser.me/api/*', () => { + return HttpResponse.json(DATA); + }), +]; + +// Setup a request interception server with the given request handlers. +const server = setupServer(...handlers); + +// Enable API mocking via Mock Service Worker (MSW) +beforeAll(() => server.listen()); +// Reset any runtime request handlers we may add during the tests +afterEach(() => server.resetHandlers()); +// Disable API mocking after the tests are done +afterAll(() => server.close()); + +describe('PhoneBook', () => { + it('fetches all contacts and favorites successfully and renders lists in sections correctly', async () => { + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect(await screen.findByText('Name: Mrs Ida Kristensen')).toBeOnTheScreen(); + expect(await screen.findByText('Email: ida.kristensen@example.com')).toBeOnTheScreen(); + expect(await screen.findAllByText(/name/i)).toHaveLength(3); + expect(await screen.findByText(/my favorites/i)).toBeOnTheScreen(); + expect(await screen.findAllByLabelText('favorite-contact-avatar')).toHaveLength(3); + }); +}); + +const DATA: { results: User[] } = { + results: [ + { + name: { + title: 'Mrs', + first: 'Ida', + last: 'Kristensen', + }, + email: 'ida.kristensen@example.com', + id: { + name: 'CPR', + value: '250562-5730', + }, + picture: { + large: 'https://randomuser.me/api/portraits/women/26.jpg', + medium: 'https://randomuser.me/api/portraits/med/women/26.jpg', + thumbnail: 'https://randomuser.me/api/portraits/thumb/women/26.jpg', + }, + cell: '123-4567-890', + }, + // For brevity, we have omitted the rest of the users, you can still find them in + // examples/cookbook/app/network-requests/__tests__/test-utils.ts + ... + ], +}; +``` + +:::info +More info regarding how to describe the network using request handlers, intercepting a request and handling its response can be found in the [MSW's documentation](https://mswjs.io/docs/getting-started#step-2-describe). +::: + +## Testing error handling + +As we are dealing with network requests, and things can go wrong, we should also cover the case when +the API request fails. In this case, we would like to test how our application behaves when the API request fails. + +:::info +The nature of the network can be highly dynamic, which makes it challenging to describe it completely in a fixed list of request handlers. +MSW provides us the means to override any particular network behavior using the designated `.use()` API. +More info can be found in [MSW's Network behavior overrides documentation](https://mswjs.io/docs/best-practices/network-behavior-overrides) +::: + +```tsx title=network-requests/Phonebook.test.tsx +... + +const mockServerFailureForGetAllContacts = () => { + server.use( + http.get('https://randomuser.me/api/', ({ request }) => { + // Construct a URL instance out of the intercepted request. + const url = new URL(request.url); + // Read the "results" URL query parameter using the "URLSearchParams" API. + const resultsLength = url.searchParams.get('results'); + // Simulate a server error for the get all contacts request. + // We check if the "results" query parameter is set to "25" + // to know it's the correct request to mock, in our case get all contacts. + if (resultsLength === '25') { + return new HttpResponse(null, { status: 500 }); + } + // Return the default response for all other requests that match URL and verb. (in our case get favorites) + return HttpResponse.json(DATA); + }), + ); +}; + +describe('PhoneBook', () => { +... + it('fails to fetch all contacts and renders error message', async () => { + mockServerFailureForGetAllContacts(); + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect( + await screen.findByText(/an error occurred: error fetching contacts/i), + ).toBeOnTheScreen(); + }); +}); + +```` + +## Global guarding against unwanted API requests + +As mistakes may happen, we might forget to mock a network request in one of our tests in the future. +To prevent us from happening, and alert when a certain network request is left unhandled, you may choose to +move MSW's server management from `PhoneBook.test.tsx` to Jest's setup file via [`setupFilesAfterEnv`](https://jestjs.io/docs/configuration#setupfilesafterenv-array). + +```tsx title=examples/cookbook/jest-setup.ts +// Enable API mocking via Mock Service Worker (MSW) +beforeAll(() => server.listen()); +// Reset any runtime request handlers we may add during the tests +afterEach(() => server.resetHandlers()); +// Disable API mocking after the tests are done +afterAll(() => server.close()); + +// ... rest of your setup file +``` + +This setup will ensure you have the MSW server running before any test suite starts and stops it after all tests are done. +Which will result in a warning in the console if you forget to mock an API request in your test suite. + +```bash +[MSW] Warning: intercepted a request without a matching request handler: + • GET https://randomuser.me/api/?results=25?results=25 +``` + +## Conclusion + +Testing a component that makes network requests in combination with MSW takes some initial preparation to configure and describe the overridden networks. +We can achieve that by using MSW's request handlers and intercepting APIs. + +Once up and running we gain full grip over the network requests, their responses, statuses. +Doing so is crucial to be able to test how our application behaves in different +scenarios, such as when the request is successful or when it fails. + +When global configuration is in place, MSW's will also warn us when an unhandled network requests has occurred throughout a test suite. + +## Further Reading and Alternatives + +Explore more advanced scenarios for mocking network requests with MSW: + +- MSW's Basics - [Intercepting requests](https://mswjs.io/docs/basics/intercepting-requests) and/or [Mocking responses](https://mswjs.io/docs/basics/mocking-responses) +- MSW's Network behavior - how to describe [REST](https://mswjs.io/docs/network-behavior/rest) and/or [GraphQL](https://mswjs.io/docs/network-behavior/graphql) APIs diff --git a/website/docs/12.x/cookbook/state-management/jotai.md b/website/docs/12.x/cookbook/state-management/jotai.md index 902074226..8471367c0 100644 --- a/website/docs/12.x/cookbook/state-management/jotai.md +++ b/website/docs/12.x/cookbook/state-management/jotai.md @@ -12,7 +12,7 @@ the developer experience. Let's assume we have a simple task list component that uses Jotai for state management. The component has a list of tasks, a text input for typing new task name and a button to add a new task to the list. -```tsx title=jotai/index.test.tsx +```tsx title=state-management/jotai/TaskList.tsx import * as React from 'react'; import { Pressable, Text, TextInput, View } from 'react-native'; import { useAtom } from 'jotai'; @@ -65,7 +65,7 @@ We can test our `TaskList` component using React Native Testing Library's (RNTL) function. Although it is sufficient to test the empty state of the `TaskList` component, it is not enough to test the component with initial tasks present in the list. -```tsx title=jotai/index.test.tsx +```tsx title=status-management/jotai/__tests__/TaskList.test.tsx import * as React from 'react'; import { render, screen, userEvent } from '@testing-library/react-native'; import { renderWithAtoms } from './test-utils'; @@ -88,7 +88,7 @@ initial values. We can create a custom render function that uses Jotai's `useHyd hydrate the atoms with initial values. This function will accept the initial atoms and their corresponding values as an argument. -```tsx title=test-utils.tsx +```tsx title=status-management/jotai/test-utils.tsx import * as React from 'react'; import { render } from '@testing-library/react-native'; import { useHydrateAtoms } from 'jotai/utils'; @@ -144,7 +144,7 @@ We can now use the `renderWithAtoms` function to render the `TaskList` component In our test, we populated only one atom and its initial value, but you can add other Jotai atoms and their corresponding values to the initialValues array as needed. ::: -```tsx title=jotai/index.test.tsx +```tsx title=status-management/jotai/__tests__/TaskList.test.tsx ======= const INITIAL_TASKS: Task[] = [{ id: '1', title: 'Buy bread' }]; @@ -173,7 +173,7 @@ test('renders a to do list with 1 items initially, and adds a new item', async ( In several cases, you might need to change an atom's state outside a React component. In our case, we have a set of functions to get tasks and set tasks, which change the state of the task list atom. -```tsx title=state.ts +```tsx title=state-management/jotai/state.ts import { atom, createStore } from 'jotai'; import { Task } from './types'; @@ -201,7 +201,7 @@ the initial to-do items in the store and then checking if the functions work as No special setup is required to test these functions, as `store.set` is available by default by Jotai. -```tsx title=jotai/index.test.tsx +```tsx title=state-management/jotai/__tests__/TaskList.test.tsx import { addTask, getAllTasks, store, tasksAtom } from './state'; //... From f314fe007ffe2b6951d5c84d9fd0be74b8ebb8a7 Mon Sep 17 00:00:00 2001 From: Steve Galili Date: Mon, 30 Sep 2024 09:28:19 +0200 Subject: [PATCH 10/86] docs: cookbook shoutout ready (#1672) * update cookbook app libs. and fix navigation to network requests examples * Update cookbook/README.md * Update README.md (2) * Update Cookbook's Intro. sec. in docs * upload readme banner * arranging readme assets --------- Co-authored-by: stevegalili --- examples/cookbook/README.md | 26 ++++- examples/cookbook/app/index.tsx | 2 +- examples/cookbook/assets/readme/banner.png | Bin 0 -> 105130 bytes .../assets/readme/home-screenshot.png | Bin 0 -> 217065 bytes .../assets/readme/phonebook-screenshot.png | Bin 0 -> 793028 bytes examples/cookbook/package.json | 8 +- examples/cookbook/yarn.lock | 94 +++++++++--------- website/docs/12.x/cookbook/index.md | 28 +++++- 8 files changed, 102 insertions(+), 56 deletions(-) create mode 100644 examples/cookbook/assets/readme/banner.png create mode 100644 examples/cookbook/assets/readme/home-screenshot.png create mode 100644 examples/cookbook/assets/readme/phonebook-screenshot.png diff --git a/examples/cookbook/README.md b/examples/cookbook/README.md index 303e50a54..0b87a8b02 100644 --- a/examples/cookbook/README.md +++ b/examples/cookbook/README.md @@ -1,10 +1,30 @@ -# RNTL Cookbook +

+ banner +

-This example app gathers recipes from -the [RNTL Cookbook](https://callstack.github.io/react-native-testing-library/cookbook). +# React Native Testing Library Cookbook App +Welcome to the React Native Testing Library (RNTL) Cookbook! This app is designed to provide developers with a collection of best practices, ready-made recipes, and tips & tricks to help you effectively test your React Native applications. Whether you’re just starting out with testing or looking to deepen your skills, this cookbook offers something for everyone. Each recipe described in the Cookbook should have a corresponding code example screen in this repo. Note: Since examples will showcase usage of different dependencies, the dependencies in `package.json` file will grow much larger that in a normal React Native. This is fine 🐶☕️🔥. + +## Running the App +1. Clone the repo `git clone git@github.com:callstack/react-native-testing-library.git` +2. Go to the `examples/cookbook` directory `cd examples/cookbook` +3. Install dependencies `yarn` +4. Run the app `yarn start` +5. Run the app either on iOS or Android by clicking on `i` or `a` in the terminal. + +## How to Contribute +We invite all developers, from beginners to experts, to contribute your own recipes! If you have a clever solution, best practice, or useful tip, we encourage you to: + +1. Submit a Pull Request with your recipe. +2. Join the conversation on GitHub [here](https://github.com/callstack/react-native-testing-library/issues/1624) to discuss ideas, ask questions, or provide feedback. + +## Screenshots From the App +| Home Screen | Phonebook with Net. Req. Example | +|-------------------------------------------------------|-----------------------------------------------------------------| +| ![home-screenshot](assets/readme/home-screenshot.png) | ![phonebook-screenshot](assets/readme/phonebook-screenshot.png) | diff --git a/examples/cookbook/app/index.tsx b/examples/cookbook/app/index.tsx index 06564b31a..c6955de1f 100644 --- a/examples/cookbook/app/index.tsx +++ b/examples/cookbook/app/index.tsx @@ -84,5 +84,5 @@ type Recipe = { const recipes: Recipe[] = [ { id: 1, title: 'Welcome Screen with Custom Render', path: 'custom-render/' }, { id: 2, title: 'Task List with Jotai', path: 'state-management/jotai/' }, - { id: 3, title: 'Phone book with\na Variety of Net. Req. Methods', path: 'advanced/' }, + { id: 3, title: 'Phone book with\na Variety of Net. Req. Methods', path: 'network-requests/' }, ]; diff --git a/examples/cookbook/assets/readme/banner.png b/examples/cookbook/assets/readme/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..f51b4198fe88739e315a1df17fb1fd378f990d59 GIT binary patch literal 105130 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

N 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%0DLcOstMW+pe2D4l$S0B|*m92zDhU2iTuNJk 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 TS(x)R@JC5b^?8Ym@jw3ue)!%h literal 0 HcmV?d00001 diff --git a/examples/cookbook/assets/readme/home-screenshot.png b/examples/cookbook/assets/readme/home-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e83af1401cb0affbf6fac67ded7a2e911c27769e GIT binary patch literal 217065 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 z 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 P@J~)g>0#l0!`J@{2`t=X literal 0 HcmV?d00001 diff --git a/examples/cookbook/assets/readme/phonebook-screenshot.png b/examples/cookbook/assets/readme/phonebook-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..a0184530be96f1b88247a007e5c804fdfad0c6d8 GIT binary patch literal 793028 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

NLYg&VnOzv`6I*`6kuV;mf$kd)CqPT12U+Qou22 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
  • 6Os?`UDrPb{anl7@7>kzc%BZX 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�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

    ;$ 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%0D2!$ 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 O-~(6IhLtN?KK&n2wx8Po literal 0 HcmV?d00001 diff --git a/examples/cookbook/package.json b/examples/cookbook/package.json index 71d4fb024..8c2416cb2 100644 --- a/examples/cookbook/package.json +++ b/examples/cookbook/package.json @@ -11,10 +11,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "expo": "^51.0.26", + "expo": "~51.0.31", "expo-constants": "~16.0.2", "expo-linking": "~6.3.1", - "expo-router": "~3.5.21", + "expo-router": "~3.5.23", "expo-splash-screen": "~0.27.5", "expo-status-bar": "~1.12.1", "jotai": "^2.8.4", @@ -29,8 +29,8 @@ }, "devDependencies": { "@babel/core": "^7.20.0", - "@expo/metro-runtime": "~3.2.1", - "@testing-library/react-native": "^12.7.1", + "@expo/metro-runtime": "~3.2.3", + "@testing-library/react-native": "^12.7.2", "@types/eslint": "^8.56.10", "@types/jest": "^29.5.12", "@types/react": "~18.2.45", diff --git a/examples/cookbook/yarn.lock b/examples/cookbook/yarn.lock index 09a29ff8e..acf5f5385 100644 --- a/examples/cookbook/yarn.lock +++ b/examples/cookbook/yarn.lock @@ -1216,9 +1216,9 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:0.18.28": - version: 0.18.28 - resolution: "@expo/cli@npm:0.18.28" +"@expo/cli@npm:0.18.29": + version: 0.18.29 + resolution: "@expo/cli@npm:0.18.29" dependencies: "@babel/runtime": "npm:^7.20.0" "@expo/code-signing-certificates": "npm:0.0.5" @@ -1299,7 +1299,7 @@ __metadata: ws: "npm:^8.12.1" bin: expo-internal: build/bin/cli - checksum: 10c0/fa956b1ddd2a61b62972058cc28a025a1d032effdb1b177fd27651437c368fa1ff8d93da29ea33f78735fbbc064da82d4111a9e09b4fcc3c496ca305f659229e + checksum: 10c0/6e9e86f37b84da600db01cdd554cd76ea6a94a50103fa54731d441dfb1b3a81ef25760c14da99cf6590588e001f5abbacec1b43b3414b61f862b491c12cf2568 languageName: node linkType: hard @@ -1450,12 +1450,12 @@ __metadata: languageName: node linkType: hard -"@expo/metro-runtime@npm:3.2.1, @expo/metro-runtime@npm:~3.2.1": - version: 3.2.1 - resolution: "@expo/metro-runtime@npm:3.2.1" +"@expo/metro-runtime@npm:3.2.3, @expo/metro-runtime@npm:~3.2.3": + version: 3.2.3 + resolution: "@expo/metro-runtime@npm:3.2.3" peerDependencies: react-native: "*" - checksum: 10c0/8ae119ade669444f6ae89d941b5afde8003750e1666e95fd0d670c52bb839db4ecc0676324db5399c231b3a79f9c11ea667074371d2d1ae702c69b11ded1d52f + checksum: 10c0/a5357c32663e516833feed8f6fd899e1a6ab6acf79b198e860bb82076512e07f95730420eefc87a354d4004d9482b29fbecadcbdcf59b6f8737bba4da03e405e languageName: node linkType: hard @@ -2833,9 +2833,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.7.1": - version: 12.7.1 - resolution: "@testing-library/react-native@npm:12.7.1" +"@testing-library/react-native@npm:^12.7.2": + version: 12.7.2 + resolution: "@testing-library/react-native@npm:12.7.2" dependencies: jest-matcher-utils: "npm:^29.7.0" pretty-format: "npm:^29.7.0" @@ -2848,7 +2848,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 10c0/caaa4bdf97834b307b72af05c447ce40a2ba2ff40b464050bc29535caadf81981ea2873668445e633fdb3d13efccb136ef0932d6d9f4736bc6f7f98be98088d4 + checksum: 10c0/0e4e26bd211056646f8b5c80e9177efc90affe0ddc7e1a2c22742a4e6da7129ec1f9125c7d233adddeb27f429fb3eb91e3f3bfa9e77e176f042475574546b001 languageName: node linkType: hard @@ -3632,9 +3632,9 @@ __metadata: languageName: node linkType: hard -"babel-preset-expo@npm:~11.0.13": - version: 11.0.13 - resolution: "babel-preset-expo@npm:11.0.13" +"babel-preset-expo@npm:~11.0.14": + version: 11.0.14 + resolution: "babel-preset-expo@npm:11.0.14" dependencies: "@babel/plugin-proposal-decorators": "npm:^7.12.9" "@babel/plugin-transform-export-namespace-from": "npm:^7.22.11" @@ -3646,7 +3646,7 @@ __metadata: babel-plugin-react-compiler: "npm:^0.0.0-experimental-592953e-20240517" babel-plugin-react-native-web: "npm:~0.19.10" react-refresh: "npm:^0.14.2" - checksum: 10c0/3a377380dd1cfabeb936082b03514638325563b8d7ee02063ccf254adbd53737e889d0439bafbd42a29b569b5f386768a354a8598e7f61390d14100883615308 + checksum: 10c0/9d5bb94c21555610c67b7dbe0e592f1ab7f53571dfe72a3ed314768f983a847a9b1dd0efd70e9f172bd68e7dee53d3d012601b8dae27f0593fcdf99c41bcc66f languageName: node linkType: hard @@ -5175,14 +5175,14 @@ __metadata: languageName: node linkType: hard -"expo-font@npm:~12.0.9": - version: 12.0.9 - resolution: "expo-font@npm:12.0.9" +"expo-font@npm:~12.0.10": + version: 12.0.10 + resolution: "expo-font@npm:12.0.10" dependencies: fontfaceobserver: "npm:^2.1.0" peerDependencies: expo: "*" - checksum: 10c0/9c7b63b3a3ee89bfcdbc1704451019b956b451208f0eca3bb1e57b53dd5dcdfb4d080d423583b92f864889a2a5d7624985c0e5103c54b36b8daf813471696b41 + checksum: 10c0/49b7da4c5099f74a3641841e8a684a15b743e0d63bfc60355c7b2cf0a5b33b4321b0657c282126795da5ef53778b4d29a765dc9d08fe395e4bc801662305dee8 languageName: node linkType: hard @@ -5205,35 +5205,37 @@ __metadata: languageName: node linkType: hard -"expo-modules-autolinking@npm:1.11.1": - version: 1.11.1 - resolution: "expo-modules-autolinking@npm:1.11.1" +"expo-modules-autolinking@npm:1.11.2": + version: 1.11.2 + resolution: "expo-modules-autolinking@npm:1.11.2" dependencies: chalk: "npm:^4.1.0" commander: "npm:^7.2.0" fast-glob: "npm:^3.2.5" find-up: "npm:^5.0.0" fs-extra: "npm:^9.1.0" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10c0/8d70dda4d63f8ab2323fae13f46191cb8f54d76d6c37f9dc449fbe5a393b5f36f975a9a77ec3257ff880b361999e723be7bc793cbd85eadf9899861cb574469c + checksum: 10c0/3a0da953bcd6f0db6374056216117c8764c8e8cddd51d9fd30990c09080704ecf1abc05425a352a21ae09255d9c9eae99ce34ca6091d27dcd1eb8f0c510e3578 languageName: node linkType: hard -"expo-modules-core@npm:1.12.20": - version: 1.12.20 - resolution: "expo-modules-core@npm:1.12.20" +"expo-modules-core@npm:1.12.24": + version: 1.12.24 + resolution: "expo-modules-core@npm:1.12.24" dependencies: invariant: "npm:^2.2.4" - checksum: 10c0/f4b5a5c6b54b1fd8bd8ce896ffbbbc50cd0e25d7d55e16441c1c63da770f1f51aef16f7b9e4be745c921af48b99878d3ba14f9372cba6155119388060cce5351 + checksum: 10c0/812180ff32f288843592ca38dbebd67878beeb41796a19dd639a2379f0dc728955cff7eabd3e1aedea5ed0c786561334afc41e8fcf206b800c863b8658706d5d languageName: node linkType: hard -"expo-router@npm:~3.5.21": - version: 3.5.21 - resolution: "expo-router@npm:3.5.21" +"expo-router@npm:~3.5.23": + version: 3.5.23 + resolution: "expo-router@npm:3.5.23" dependencies: - "@expo/metro-runtime": "npm:3.2.1" + "@expo/metro-runtime": "npm:3.2.3" "@expo/server": "npm:^0.4.0" "@radix-ui/react-slot": "npm:1.0.1" "@react-navigation/bottom-tabs": "npm:~6.5.7" @@ -5258,7 +5260,7 @@ __metadata: optional: true react-native-reanimated: optional: true - checksum: 10c0/84c279f2d6b36557e74b74195e72af9161ff05f65574fc09176a6988a8d0e3911711c7cc8fa3b92b2a08f97662f4d091f1cd5beb2dca14439e450351aa7b7d15 + checksum: 10c0/b14b3598ed8bcfcb46d356203f5031a6ee7c4d905d951d22ffd45800329a4bbd1e833e50628f65c2c99d85b9aa94aac4625b4cdd272dc10530cc8d6ebc3ebcda languageName: node linkType: hard @@ -5280,28 +5282,28 @@ __metadata: languageName: node linkType: hard -"expo@npm:^51.0.26": - version: 51.0.26 - resolution: "expo@npm:51.0.26" +"expo@npm:~51.0.31": + version: 51.0.32 + resolution: "expo@npm:51.0.32" dependencies: "@babel/runtime": "npm:^7.20.0" - "@expo/cli": "npm:0.18.28" + "@expo/cli": "npm:0.18.29" "@expo/config": "npm:9.0.3" "@expo/config-plugins": "npm:8.0.8" "@expo/metro-config": "npm:0.18.11" "@expo/vector-icons": "npm:^14.0.0" - babel-preset-expo: "npm:~11.0.13" + babel-preset-expo: "npm:~11.0.14" expo-asset: "npm:~10.0.10" expo-file-system: "npm:~17.0.1" - expo-font: "npm:~12.0.9" + expo-font: "npm:~12.0.10" expo-keep-awake: "npm:~13.0.2" - expo-modules-autolinking: "npm:1.11.1" - expo-modules-core: "npm:1.12.20" + expo-modules-autolinking: "npm:1.11.2" + expo-modules-core: "npm:1.12.24" fbemitter: "npm:^3.0.0" whatwg-url-without-unicode: "npm:8.0.0-3" bin: expo: bin/cli - checksum: 10c0/092cd106e48b8f31eb7e21c782c38816569ba5a26d50c08b74f5bf795cb835e4f4f803e636392a87b2f3e703d60ab885f9b2d576796be2aa961b99201e455312 + checksum: 10c0/8a5ba07402451e027b58a8e64a7051b91d45776f1b3397bfd71a1f2a9d7752a0e50d5343baf53b985f497de3e735f5494322b9f4a68c832c7a034b2d81748409 languageName: node linkType: hard @@ -9759,17 +9761,17 @@ __metadata: resolution: "root-workspace-0b6124@workspace:." dependencies: "@babel/core": "npm:^7.20.0" - "@expo/metro-runtime": "npm:~3.2.1" - "@testing-library/react-native": "npm:^12.7.1" + "@expo/metro-runtime": "npm:~3.2.3" + "@testing-library/react-native": "npm:^12.7.2" "@types/eslint": "npm:^8.56.10" "@types/jest": "npm:^29.5.12" "@types/react": "npm:~18.2.45" "@types/react-native-get-random-values": "npm:^1" eslint: "npm:^8.57.0" - expo: "npm:^51.0.26" + expo: "npm:~51.0.31" expo-constants: "npm:~16.0.2" expo-linking: "npm:~6.3.1" - expo-router: "npm:~3.5.21" + expo-router: "npm:~3.5.23" expo-splash-screen: "npm:~0.27.5" expo-status-bar: "npm:~1.12.1" jest: "npm:^29.7.0" diff --git a/website/docs/12.x/cookbook/index.md b/website/docs/12.x/cookbook/index.md index fa49d7c32..da99e2155 100644 --- a/website/docs/12.x/cookbook/index.md +++ b/website/docs/12.x/cookbook/index.md @@ -1,5 +1,29 @@ # Introduction -This cookbook is intended to showcase best practices, tips & tricks, and ready-to-use recipes for using React Native Testing Library. +Welcome to the **React Native Testing Library (RNTL) Cookbook**! +This app is your go-to resource for learning how to effectively test React Native applications. +It provides a collection of **best practices**, **ready-made recipes**, and **tips & tricks** to +simplify and improve your testing workflow. Whether you’re a beginner just getting started or a +seasoned developer looking to sharpen your +skills, the Cookbook has something for everyone. -We invite you to contribute your favorite recipes to the Cookbook. More info [here](https://github.com/callstack/react-native-testing-library/issues/1624). +## What's Inside the Cookbook? + +The Cookbook is currently organized into **three main chapters**: + +- **Basic Recipes**: A great starting point, covering essential testing scenarios such as async + operations and custom render functions. +- **Advanced Recipes**: More complex scenarios like network requests and in the future, navigation + testing and more. +- **State Management Recipes**: Best practices for testing state management libraries + +Each recipe includes a clear explanation along with a corresponding code example to help you get +hands-on with testing. Checkout +the [Cookbook App](https://github.com/callstack/react-native-testing-library/tree/main/examples/cookbook#rntl-cookbook) to see the +recipes in action. + +## What's Next? + +Join the conversation +on [GitHub](https://github.com/callstack/react-native-testing-library/issues/1624) here to discuss +ideas, ask questions, or provide feedback. From 19da22c243b0ee243894e907f7452c6cf0de3b9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:32:49 +0200 Subject: [PATCH 11/86] chore(deps-dev): bump del-cli from 5.1.0 to 6.0.0 (#1673) Bumps [del-cli](https://github.com/sindresorhus/del-cli) from 5.1.0 to 6.0.0. - [Release notes](https://github.com/sindresorhus/del-cli/releases) - [Commits](https://github.com/sindresorhus/del-cli/compare/v5.1.0...v6.0.0) --- updated-dependencies: - dependency-name: del-cli dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 312 ++++++--------------------------------------------- 2 files changed, 38 insertions(+), 276 deletions(-) diff --git a/package.json b/package.json index ffc4c4e65..ade107f18 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "@types/react": "^18.3.3", "@types/react-test-renderer": "^18.3.0", "babel-jest": "^29.7.0", - "del-cli": "^5.1.0", + "del-cli": "^6.0.0", "eslint": "^8.57.0", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-prettier": "^4.2.1", diff --git a/yarn.lock b/yarn.lock index b90fd1e36..d8df7b6c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2877,7 +2877,7 @@ __metadata: "@types/react": "npm:^18.3.3" "@types/react-test-renderer": "npm:^18.3.0" babel-jest: "npm:^29.7.0" - del-cli: "npm:^5.1.0" + del-cli: "npm:^6.0.0" eslint: "npm:^8.57.0" eslint-plugin-flowtype: "npm:^8.0.3" eslint-plugin-prettier: "npm:^4.2.1" @@ -3010,13 +3010,6 @@ __metadata: languageName: node linkType: hard -"@types/minimist@npm:^1.2.2": - version: 1.2.5 - resolution: "@types/minimist@npm:1.2.5" - checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 - languageName: node - linkType: hard - "@types/node-forge@npm:^1.3.0": version: 1.3.11 resolution: "@types/node-forge@npm:1.3.11" @@ -3035,7 +3028,7 @@ __metadata: languageName: node linkType: hard -"@types/normalize-package-data@npm:^2.4.0, @types/normalize-package-data@npm:^2.4.1": +"@types/normalize-package-data@npm:^2.4.1": version: 2.4.4 resolution: "@types/normalize-package-data@npm:2.4.4" checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 @@ -3305,16 +3298,6 @@ __metadata: languageName: node linkType: hard -"aggregate-error@npm:^4.0.0": - version: 4.0.1 - resolution: "aggregate-error@npm:4.0.1" - dependencies: - clean-stack: "npm:^4.0.0" - indent-string: "npm:^5.0.0" - checksum: 10c0/75fd739f5c4c60a667cce35ccaf0edf135e147ef0be9a029cab75de14ac9421779b15339d562e58d25b233ea0ef2bbd4c916f149fdbcb73c2b9a62209e611343 - languageName: node - linkType: hard - "ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -3568,13 +3551,6 @@ __metadata: languageName: node linkType: hard -"arrify@npm:^1.0.1": - version: 1.0.1 - resolution: "arrify@npm:1.0.1" - checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab - languageName: node - linkType: hard - "asap@npm:~2.0.6": version: 2.0.6 resolution: "asap@npm:2.0.6" @@ -4002,18 +3978,6 @@ __metadata: languageName: node linkType: hard -"camelcase-keys@npm:^7.0.0": - version: 7.0.2 - resolution: "camelcase-keys@npm:7.0.2" - dependencies: - camelcase: "npm:^6.3.0" - map-obj: "npm:^4.1.0" - quick-lru: "npm:^5.1.1" - type-fest: "npm:^1.2.1" - checksum: 10c0/ae86a51168643e9e8a2f2c7bfa17850729979ec3dafc5253056a7d97931cbb0e3ef5b4185e59d54b7a56c54405dee2874b0c82033498d8626e512ff9034cb05c - languageName: node - linkType: hard - "camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" @@ -4021,7 +3985,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0, camelcase@npm:^6.3.0": +"camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 @@ -4166,15 +4130,6 @@ __metadata: languageName: node linkType: hard -"clean-stack@npm:^4.0.0": - version: 4.2.0 - resolution: "clean-stack@npm:4.2.0" - dependencies: - escape-string-regexp: "npm:5.0.0" - checksum: 10c0/2bdf981a0fef0a23c14255df693b30eb9ae27eedf212470d8c400a0c0b6fb82fbf1ff8c5216ccd5721e3670b700389c886b1dce5070776dc9fbcc040957758c0 - languageName: node - linkType: hard - "cli-boxes@npm:^3.0.0": version: 3.0.0 resolution: "cli-boxes@npm:3.0.0" @@ -4783,30 +4738,13 @@ __metadata: languageName: node linkType: hard -"decamelize-keys@npm:^1.1.0": - version: 1.1.1 - resolution: "decamelize-keys@npm:1.1.1" - dependencies: - decamelize: "npm:^1.1.0" - map-obj: "npm:^1.0.0" - checksum: 10c0/4ca385933127437658338c65fb9aead5f21b28d3dd3ccd7956eb29aab0953b5d3c047fbc207111672220c71ecf7a4d34f36c92851b7bbde6fca1a02c541bdd7d - languageName: node - linkType: hard - -"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": +"decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 languageName: node linkType: hard -"decamelize@npm:^5.0.0": - version: 5.0.1 - resolution: "decamelize@npm:5.0.1" - checksum: 10c0/3da71022bc1e85487810fa0833138effb599fa331ca21e179650e93a765d0c4dabeb1ecdd6ad1474fa0bacd2457953c63ea335afb6e53b35f2b4bf779514e2a3 - languageName: node - linkType: hard - "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -4922,32 +4860,30 @@ __metadata: languageName: node linkType: hard -"del-cli@npm:^5.1.0": - version: 5.1.0 - resolution: "del-cli@npm:5.1.0" +"del-cli@npm:^6.0.0": + version: 6.0.0 + resolution: "del-cli@npm:6.0.0" dependencies: - del: "npm:^7.1.0" - meow: "npm:^10.1.3" + del: "npm:^8.0.0" + meow: "npm:^13.2.0" bin: del: cli.js del-cli: cli.js - checksum: 10c0/555dfbbdf254ec758f86eaa3960779ae378c11fb9f734ba9f09b1019237919a66ffdaa286dad4b8df3cb8f315157fd41b6ff63afb7fa46a6c61eed7bbac04488 + checksum: 10c0/920a57efd804afab7799b8304de97d3ebbaf98dc0a524a4938115a494d67bf116674e3b38375c9cd091cf7caa8b4c2a32cbda3a032f66e0554d30d03ed5eddbe languageName: node linkType: hard -"del@npm:^7.1.0": - version: 7.1.0 - resolution: "del@npm:7.1.0" +"del@npm:^8.0.0": + version: 8.0.0 + resolution: "del@npm:8.0.0" dependencies: - globby: "npm:^13.1.2" - graceful-fs: "npm:^4.2.10" + globby: "npm:^14.0.2" is-glob: "npm:^4.0.3" is-path-cwd: "npm:^3.0.0" is-path-inside: "npm:^4.0.0" - p-map: "npm:^5.5.0" - rimraf: "npm:^3.0.2" - slash: "npm:^4.0.0" - checksum: 10c0/5ad2777b69e386b414ba77f5eba23bb52422c096f4c084c0d1d829ee4776d1a025a6f69765906907c4137026e9bd071ee9d422fd531b1417ef546adc7eb6fada + p-map: "npm:^7.0.2" + slash: "npm:^5.1.0" + checksum: 10c0/dd9099dc245173caad16a6372c7c9eb316e19e75e7bebfdce86ee59572c2591be5e569e15e8768108bb451f5319c57407cfa7adf74424f150d4d29c7f6da5601 languageName: node linkType: hard @@ -5307,13 +5243,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 - languageName: node - linkType: hard - "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -5807,7 +5736,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -6350,7 +6279,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:14.0.2": +"globby@npm:14.0.2, globby@npm:^14.0.2": version: 14.0.2 resolution: "globby@npm:14.0.2" dependencies: @@ -6378,19 +6307,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.2": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.3.0" - ignore: "npm:^5.2.4" - merge2: "npm:^1.4.1" - slash: "npm:^4.0.0" - checksum: 10c0/a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 - languageName: node - linkType: hard - "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -6426,7 +6342,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -6458,13 +6374,6 @@ __metadata: languageName: node linkType: hard -"hard-rejection@npm:^2.1.0": - version: 2.1.0 - resolution: "hard-rejection@npm:2.1.0" - checksum: 10c0/febc3343a1ad575aedcc112580835b44a89a89e01f400b4eda6e8110869edfdab0b00cd1bd4c3bfec9475a57e79e0b355aecd5be46454b6a62b9a359af60e564 - languageName: node - linkType: hard - "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -6559,15 +6468,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^4.0.1": - version: 4.1.0 - resolution: "hosted-git-info@npm:4.1.0" - dependencies: - lru-cache: "npm:^6.0.0" - checksum: 10c0/150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07 - languageName: node - linkType: hard - "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -6744,13 +6644,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:^5.0.0": - version: 5.0.0 - resolution: "indent-string@npm:5.0.0" - checksum: 10c0/8ee77b57d92e71745e133f6f444d6fa3ed503ad0e1bcd7e80c8da08b42375c07117128d670589725ed07b1978065803fa86318c309ba45415b7fe13e7f170220 - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -6911,7 +6804,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.5.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": version: 2.15.0 resolution: "is-core-module@npm:2.15.0" dependencies: @@ -7134,13 +7027,6 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "is-plain-obj@npm:1.1.0" - checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c - languageName: node - linkType: hard - "is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -8127,7 +8013,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": +"kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 @@ -8365,15 +8251,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - "lru-cache@npm:^7.14.1": version: 7.18.3 resolution: "lru-cache@npm:7.18.3" @@ -8436,20 +8313,6 @@ __metadata: languageName: node linkType: hard -"map-obj@npm:^1.0.0": - version: 1.0.1 - resolution: "map-obj@npm:1.0.1" - checksum: 10c0/ccca88395e7d38671ed9f5652ecf471ecd546924be2fb900836b9da35e068a96687d96a5f93dcdfa94d9a27d649d2f10a84595590f89a347fb4dda47629dcc52 - languageName: node - linkType: hard - -"map-obj@npm:^4.1.0": - version: 4.3.0 - resolution: "map-obj@npm:4.3.0" - checksum: 10c0/1c19e1c88513c8abdab25c316367154c6a0a6a0f77e3e8c391bb7c0e093aefed293f539d026dc013d86219e5e4c25f23b0003ea588be2101ccd757bacc12d43b - languageName: node - linkType: hard - "marky@npm:^1.2.2": version: 1.2.5 resolution: "marky@npm:1.2.5" @@ -8464,26 +8327,6 @@ __metadata: languageName: node linkType: hard -"meow@npm:^10.1.3": - version: 10.1.5 - resolution: "meow@npm:10.1.5" - dependencies: - "@types/minimist": "npm:^1.2.2" - camelcase-keys: "npm:^7.0.0" - decamelize: "npm:^5.0.0" - decamelize-keys: "npm:^1.1.0" - hard-rejection: "npm:^2.1.0" - minimist-options: "npm:4.1.0" - normalize-package-data: "npm:^3.0.2" - read-pkg-up: "npm:^8.0.0" - redent: "npm:^4.0.0" - trim-newlines: "npm:^4.0.2" - type-fest: "npm:^1.2.2" - yargs-parser: "npm:^20.2.9" - checksum: 10c0/a513849022edd5ddcc41d28c679d31978abe414d9db5bc457e95e537a4327b2910fd2f699cdd883293f9a5da8951a50939bf60fbd62f7fe12b9ddf96a84b1b27 - languageName: node - linkType: hard - "meow@npm:^12.0.1": version: 12.1.1 resolution: "meow@npm:12.1.1" @@ -8491,6 +8334,13 @@ __metadata: languageName: node linkType: hard +"meow@npm:^13.2.0": + version: 13.2.0 + resolution: "meow@npm:13.2.0" + checksum: 10c0/d5b339ae314715bcd0b619dd2f8a266891928e21526b4800d49b4fba1cc3fff7e2c1ff5edd3344149fac841bc2306157f858e8c4d5eaee4d52ce52ad925664ce + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -8817,7 +8667,7 @@ __metadata: languageName: node linkType: hard -"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": +"min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c @@ -8842,17 +8692,6 @@ __metadata: languageName: node linkType: hard -"minimist-options@npm:4.1.0": - version: 4.1.0 - resolution: "minimist-options@npm:4.1.0" - dependencies: - arrify: "npm:^1.0.1" - is-plain-obj: "npm:^1.1.0" - kind-of: "npm:^6.0.3" - checksum: 10c0/7871f9cdd15d1e7374e5b013e2ceda3d327a06a8c7b38ae16d9ef941e07d985e952c589e57213f7aa90a8744c60aed9524c0d85e501f5478382d9181f2763f54 - languageName: node - linkType: hard - "minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" @@ -9143,18 +8982,6 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^3.0.2": - version: 3.0.3 - resolution: "normalize-package-data@npm:3.0.3" - dependencies: - hosted-git-info: "npm:^4.0.1" - is-core-module: "npm:^2.5.0" - semver: "npm:^7.3.4" - validate-npm-package-license: "npm:^3.0.1" - checksum: 10c0/e5d0f739ba2c465d41f77c9d950e291ea4af78f8816ddb91c5da62257c40b76d8c83278b0d08ffbcd0f187636ebddad20e181e924873916d03e6e5ea2ef026be - languageName: node - linkType: hard - "normalize-package-data@npm:^6.0.0": version: 6.0.2 resolution: "normalize-package-data@npm:6.0.2" @@ -9519,12 +9346,10 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^5.5.0": - version: 5.5.0 - resolution: "p-map@npm:5.5.0" - dependencies: - aggregate-error: "npm:^4.0.0" - checksum: 10c0/410bce846b1e3db6bb2ccab6248372ecf4e635fc2b31331c8f56478e73fec9e146e8b4547585e635703160a3d252a6a65b8f855834aebc2c3408eb5789630cc4 +"p-map@npm:^7.0.2": + version: 7.0.2 + resolution: "p-map@npm:7.0.2" + checksum: 10c0/e10548036648d1c043153f9997112fe5a7de54a319210238628f8ea22ee36587fd6ee740811f88b60bbf29d932e23ae35df7fced40df477116c84c18e797047e languageName: node linkType: hard @@ -10134,29 +9959,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^8.0.0": - version: 8.0.0 - resolution: "read-pkg-up@npm:8.0.0" - dependencies: - find-up: "npm:^5.0.0" - read-pkg: "npm:^6.0.0" - type-fest: "npm:^1.0.1" - checksum: 10c0/cf3905ccbe5cd602f23192cc7ca65ed17561bab117eadb9aed817441d5bfc6b9a11215c2a3e9505f501d046818f3c4180dbea61fa83c42083e0b4e407d5cc745 - languageName: node - linkType: hard - -"read-pkg@npm:^6.0.0": - version: 6.0.0 - resolution: "read-pkg@npm:6.0.0" - dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^3.0.2" - parse-json: "npm:^5.2.0" - type-fest: "npm:^1.0.1" - checksum: 10c0/b51ee5eed75324f4fac34c9a40b5e4b403de4c532242be01959c9bbdb1ff9db1c6c2aefaba569622fec49d1ead866e97ba856ab145f6e11039b11f7bec1318ba - languageName: node - linkType: hard - "read-pkg@npm:^8.0.0, read-pkg@npm:^8.1.0": version: 8.1.0 resolution: "read-pkg@npm:8.1.0" @@ -10242,16 +10044,6 @@ __metadata: languageName: node linkType: hard -"redent@npm:^4.0.0": - version: 4.0.0 - resolution: "redent@npm:4.0.0" - dependencies: - indent-string: "npm:^5.0.0" - strip-indent: "npm:^4.0.0" - checksum: 10c0/a9b640c8f4b2b5b26a1a908706475ff404dd50a97d6f094bc3c59717be922622927cc7d601d4ae2857d897ad243fd979bd76d751a0481cee8be7024e5fb4c662 - languageName: node - linkType: hard - "reflect.getprototypeof@npm:^1.0.4": version: 1.0.6 resolution: "reflect.getprototypeof@npm:1.0.6" @@ -10719,7 +10511,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2": +"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -10900,13 +10692,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^4.0.0": - version: 4.0.0 - resolution: "slash@npm:4.0.0" - checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18 - languageName: node - linkType: hard - "slash@npm:^5.1.0": version: 5.1.0 resolution: "slash@npm:5.1.0" @@ -11293,15 +11078,6 @@ __metadata: languageName: node linkType: hard -"strip-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-indent@npm:4.0.0" - dependencies: - min-indent: "npm:^1.0.1" - checksum: 10c0/6b1fb4e22056867f5c9e7a6f3f45922d9a2436cac758607d58aeaac0d3b16ec40b1c43317de7900f1b8dd7a4107352fa47fb960f2c23566538c51e8585c8870e - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -11506,13 +11282,6 @@ __metadata: languageName: node linkType: hard -"trim-newlines@npm:^4.0.2": - version: 4.1.1 - resolution: "trim-newlines@npm:4.1.1" - checksum: 10c0/70e60e652305efd0dda1f2bce1a5edc9bb5834a2e00d05dfde178715ec48faa8264a2bc1a7efc593b7936d03f6d42c398616329eef44b7bd5070180a02056981 - languageName: node - linkType: hard - "ts-api-utils@npm:^1.3.0": version: 1.3.0 resolution: "ts-api-utils@npm:1.3.0" @@ -11578,7 +11347,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^1.0.1, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2": +"type-fest@npm:^1.0.1": version: 1.4.0 resolution: "type-fest@npm:1.4.0" checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 @@ -11890,7 +11659,7 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": +"validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" dependencies: @@ -12254,13 +12023,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - "yargs@npm:^15.1.0": version: 15.4.1 resolution: "yargs@npm:15.4.1" From 0e8555066e7dd344c08fc53f76f5b3c31b194227 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 18 Oct 2024 11:10:22 +0200 Subject: [PATCH 12/86] chore: React Native 0.76 support (#1664) --- .eslintignore | 3 + .eslintrc | 1 - CONTRIBUTING.md | 6 +- babel.config.js | 3 +- jest-setup.ts | 2 - package.json | 2 +- .../__snapshots__/render-debug.test.tsx.snap | 4 +- yarn.lock | 3850 +++++++---------- 8 files changed, 1479 insertions(+), 2392 deletions(-) diff --git a/.eslintignore b/.eslintignore index d67234f68..b90903602 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,6 @@ flow-typed/ build/ experiments-rtl/ +website/ + +jest-setup.ts diff --git a/.eslintrc b/.eslintrc index 77223809f..d09bfda8d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,6 @@ { "extends": "@callstack", "rules": { - "flowtype/no-weak-types": 0, "react-native/no-raw-text": 0, "no-console": 1, "react/no-multi-comp": 0, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 48d513b8f..ddd4bc1d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,9 +32,9 @@ Our pre-commit hooks verify that your commit message matches this format when co ### Linting and tests -We use `flow` for type checking, `eslint` with `prettier` for linting and formatting the code, and `jest` for testing. Our pre-commit hooks verify that the linter and tests pass when committing. You can also run the following commands manually: +We use TypeScript for type checking, `eslint` with `prettier` for linting and formatting the code, and `jest` for testing. Our pre-commit hooks verify that the linter and tests pass when committing. You can also run the following commands manually: -- `yarn flow`: run flow on all files. +- `yarn typecheck`: run TypeScript compiler on all files. - `yarn lint`: run eslint and prettier. - `yarn test`: run tests. @@ -43,7 +43,7 @@ We use `flow` for type checking, `eslint` with `prettier` for linting and format When you're sending a pull request: - Prefer small pull requests focused on one change. -- Verify that `flow`, `eslint` and tests are passing. +- Verify that `typecheck`, `eslint` and tests are passing. - Preview the documentation to make sure it looks good. - Follow the pull request template when opening a pull request. diff --git a/babel.config.js b/babel.config.js index 9d2067630..a21450b2c 100644 --- a/babel.config.js +++ b/babel.config.js @@ -14,8 +14,7 @@ module.exports = { ], env: { test: { - // https://github.com/react-native-community/upgrade-support/issues/152 - plugins: ['@babel/plugin-transform-flow-strip-types'], + presets: ['@react-native/babel-preset'], }, }, }; diff --git a/jest-setup.ts b/jest-setup.ts index 5d2c4d5b2..f120a77e7 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -1,7 +1,5 @@ import { resetToDefaults } from './src/pure'; -jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper'); - beforeEach(() => { resetToDefaults(); }); diff --git a/package.json b/package.json index ade107f18..8c7e22a79 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "jest": "^29.7.0", "prettier": "^2.8.8", "react": "18.3.1", - "react-native": "0.75.1", + "react-native": "0.76.0-rc.6", "react-test-renderer": "18.3.1", "release-it": "^17.6.0", "strip-ansi": "^6.0.1", diff --git a/src/__tests__/__snapshots__/render-debug.test.tsx.snap b/src/__tests__/__snapshots__/render-debug.test.tsx.snap index 25106295b..561b363ae 100644 --- a/src/__tests__/__snapshots__/render-debug.test.tsx.snap +++ b/src/__tests__/__snapshots__/render-debug.test.tsx.snap @@ -396,7 +396,7 @@ exports[`debug: shallow 1`] = ` value="" /> Change freshness! @@ -447,7 +447,7 @@ exports[`debug: shallow with message 1`] = ` value="" /> Change freshness! diff --git a/yarn.lock b/yarn.lock index d8df7b6c4..b1220188e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,12 +16,12 @@ __metadata: linkType: hard "@babel/cli@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/cli@npm:7.24.8" + version: 7.25.7 + resolution: "@babel/cli@npm:7.25.7" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" - chokidar: "npm:^3.4.0" + chokidar: "npm:^3.6.0" commander: "npm:^6.2.0" convert-source-map: "npm:^2.0.0" fs-readdir-recursive: "npm:^1.1.0" @@ -38,53 +38,53 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: 10c0/b7f464ccb00db60aed63d71e980df823900d20c740bc2d9eb36c3abd4b3e2402cc438818382344085ef6603aeea2e6ee19af8f0ecb934966eccf077b87af7c7c + checksum: 10c0/bbbc53eef15844b0bfb737d7d134f979d42c51a269e2aee994b02eb9216a22e8dd3d790d5ae9f5b5c003e01eccfc164c14aaa1ad989695e0154f66a588f77d42 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/code-frame@npm:7.25.7" dependencies: - "@babel/highlight": "npm:^7.24.7" + "@babel/highlight": "npm:^7.25.7" picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/compat-data@npm:7.25.2" - checksum: 10c0/5bf1f14d6e5f0d37c19543e99209ff4a94bb97915e1ce01e5334a144aa08cd56b6e62ece8135dac77e126723d63d4d4b96fc603a12c43b88c28f4b5e070270c5 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/compat-data@npm:7.25.8" + checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.0, @babel/core@npm:^7.22.20, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.22.20, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": + version: 7.25.8 + resolution: "@babel/core@npm:7.25.8" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" + "@babel/code-frame": "npm:^7.25.7" + "@babel/generator": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helpers": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.8" + "@babel/template": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.8" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/a425fa40e73cb72b6464063a57c478bc2de9dbcc19c280f1b55a3d88b35d572e87e8594e7d7b4880331addb6faef641bbeb701b91b41b8806cd4deae5d74f401 + checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 languageName: node linkType: hard "@babel/eslint-parser@npm:^7.22.15": - version: 7.25.1 - resolution: "@babel/eslint-parser@npm:7.25.1" + version: 7.25.8 + resolution: "@babel/eslint-parser@npm:7.25.8" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -92,81 +92,81 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/9f98351b32edfced9e6308a80ad69af1210d9c9780f19339cb286d0c9be0a9afac80d1df3b3793112e720675ce5b927920b19454d0f48ddf8370d08ab62d0dc2 + checksum: 10c0/3f62111b83f367652a690eb0e8714696a97df875b4df4ddabb58f3fcec628ae6501a3742f6af6c2a1f4b6b4df00d38e9063082bb82dae43b319e56afd884dae7 languageName: node linkType: hard -"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.7.2": - version: 7.25.0 - resolution: "@babel/generator@npm:7.25.0" +"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.7, @babel/generator@npm:^7.7.2": + version: 7.25.7 + resolution: "@babel/generator@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.25.0" + "@babel/types": "npm:^7.25.7" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/d0e2dfcdc8bdbb5dded34b705ceebf2e0bc1b06795a1530e64fb6a3ccf313c189db7f60c1616effae48114e1a25adc75855bc4496f3779a396b3377bae718ce7 + jsesc: "npm:^3.0.2" + checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + "@babel/types": "npm:^7.25.7" + checksum: 10c0/2f020b0fa9d336b5778485cc2de3141561ec436a7591b685457a5bcdae4ce41d9ddee68169c95504e0789e5a4327e73b8b7e72e5b60e82e96d730c4d19255248 languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0ed84abf848c79fb1cd4c1ddac12c771d32c1904d87fc3087f33cfdeb0c2e0db4e7892b74b407d9d8d0c000044f3645a7391a781f788da8410c290bb123a1f13 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/e9dc5a7920a1d74150dec53ccd5e34f2b31ae307df7cdeec6289866f7bda97ecb1328b49a7710ecde5db5b6daad768c904a030f9a0fa3184963b0017622c42aa languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-compilation-targets@npm:7.25.7" dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" + "@babel/compat-data": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/de10e986b5322c9f807350467dc845ec59df9e596a5926a3b5edbb4710d8e3b8009d4396690e70b88c3844fe8ec4042d61436dd4b92d1f5f75655cf43ab07e99 + checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.0" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-member-expression-to-functions": "npm:^7.25.7" + "@babel/helper-optimise-call-expression": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/2f8ac36cfeb45d462432acea64c78312cc9180dda7aa9337b77017961e373c323065362d2452f3d6f8bffeb254ff3f7346ac1b25c8ad7b81db813a95924f4053 + checksum: 10c0/405c3c1a137acda1206380a96993cf2cfd808b3bee1c11c4af47ee0f03a20858497aa53394d6adc5431793c543be5e02010620e871a5ab39d938ae90a54b50f2 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0": - version: 7.25.2 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - regexpu-core: "npm:^5.3.1" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + regexpu-core: "npm:^6.1.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/85a7e3639c118856fb1113f54fb7e3bf7698171ddfd0cd6fccccd5426b3727bc1434fe7f69090441dcde327feef9de917e00d35e47ab820047057518dd675317 + checksum: 10c0/75919fd5a67cd7be8497b56f7b9ed6b4843cb401956ba8d403aa9ae5b005bc28e35c7f27e704d820edbd1154394ed7a7984d4719916795d89d716f6980fe8bd4 languageName: node linkType: hard @@ -185,223 +185,223 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" +"@babel/helper-member-expression-to-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7" dependencies: - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.8" - checksum: 10c0/7e14a5acc91f6cd26305a4441b82eb6f616bd70b096a4d2099a968f16b26d50207eec0b9ebfc466fefd62bd91587ac3be878117cdfec819b7151911183cb0e5a + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/1e948162ab48d84593a7c6ec9570d14c906146f1697144fc369c59dbeb00e4a062da67dd06cb0d8f98a044cd8389002dcf2ab6f5613d99c35748307846ec63fc languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-module-imports@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-module-imports@npm:7.25.7" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" +"@babel/helper-module-transforms@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-module-transforms@npm:7.25.7" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.2" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-simple-access": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/adaa15970ace0aee5934b5a633789b5795b6229c6a9cf3e09a7e80aa33e478675eee807006a862aa9aa517935d81f88a6db8a9f5936e3a2a40ec75f8062bc329 + checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/types": "npm:^7.25.7" + checksum: 10c0/19b4cc7e77811b1fedca4928dbc14026afef913c2ba4142e5e110ebdcb5c3b2efc0f0fbee9f362c23a194674147b9d627adea71c289b9be08b9067bc0085308b languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.25.7 + resolution: "@babel/helper-plugin-utils@npm:7.25.7" + checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" +"@babel/helper-remap-async-to-generator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-wrap-function": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-wrap-function": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/0d17b5f7bb6a607edc9cc62fff8056dd9f341bf2f919884f97b99170d143022a5e7ae57922c4891e4fc360ad291e708d2f8cd8989f1d3cd7a17600159984f5a6 + checksum: 10c0/972d84876adce6ab61c87a2df47e1afc790b73cff0d1767d0a1c5d9f7aa5e91d8c581a272b66b2051a26cfbb167d8a780564705e488e3ce1f477f1c15059bc5f languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" +"@babel/helper-replace-supers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-replace-supers@npm:7.25.7" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-member-expression-to-functions": "npm:^7.25.7" + "@babel/helper-optimise-call-expression": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b4b6650ab3d56c39a259367cd97f8df2f21c9cebb3716fea7bca40a150f8847bfb82f481e98927c7c6579b48a977b5a8f77318a1c6aeb497f41ecd6dbc3fdfef + checksum: 10c0/761d64ee74429f7326a6aa65e2cd5bfcb8de9e3bc3f1efb14b8f610d2410f003b0fca52778dc801d49ff8fbc90b057e8f51b27c62b0b05c95eaf23140ca1287b languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" +"@babel/helper-simple-access@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-simple-access@npm:7.25.7" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/5804adb893849a9d8cfb548e3812566a81d95cb0c9a10d66b52912d13f488e577c33063bf19bc06ac70e6333162a7370d67ba1a1c3544d37fb50d5f4a00db4de languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-string-parser@npm:7.24.8" - checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 +"@babel/helper-string-parser@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-string-parser@npm:7.25.7" + checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 +"@babel/helper-validator-identifier@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-validator-identifier@npm:7.25.7" + checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f +"@babel/helper-validator-option@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-validator-option@npm:7.25.7" + checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-wrap-function@npm:7.25.0" +"@babel/helper-wrap-function@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-wrap-function@npm:7.25.7" dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/d54601a98384c191cbc1ff07b03a19e288ef8d5c6bfafe270b2a303d96e7304eb296002921ed464cc1b105a547d1db146eb86b0be617924dee1ba1b379cdc216 + "@babel/template": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/b5d412f72697f4a4ce4cb9784fbaf82501c63cf95066c0eadd3179e3439cbbf0aa5fa4858d93590083671943cd357aeb87286958df34aa56fdf8a4c9dea39755 languageName: node linkType: hard -"@babel/helpers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helpers@npm:7.25.0" +"@babel/helpers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helpers@npm:7.25.7" dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/b7fe007fc4194268abf70aa3810365085e290e6528dcb9fbbf7a765d43c74b6369ce0f99c5ccd2d44c413853099daa449c9a0123f0b212ac8d18643f2e8174b8 + "@babel/template": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/highlight@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/highlight@npm:7.25.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/parser@npm:7.25.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/parser@npm:7.25.8" dependencies: - "@babel/types": "npm:^7.25.2" + "@babel/types": "npm:^7.25.8" bin: parser: ./bin/babel-parser.js - checksum: 10c0/874b01349aedb805d6694f867a752fdc7469778fad76aca4548d2cc6ce96087c3ba5fb917a6f8d05d2d1a74aae309b5f50f1a4dba035f5a2c9fcfe6e106d2c4e + checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/814b4d3f102e7556a5053d1acf57ef601cfcff39a2c81b8cdc6a5c842e3cb9838f5925d1466a5f1e6416e74c9c83586a3c07fbd7fb8610a396c2becdf9ae5790 + checksum: 10c0/c6ba97c39973897a2ab021c4a77221e1e93e853a5811d498db325da1bd692e41fa521db6d91bb709ccafd4e54ddd00869ffb35846923c3ccd49d46124b316904 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/9645a1f47b3750acadb1353c02e71cc712d072aafe5ce115ed3a886bc14c5d9200cfb0b5b5e60e813baa549b800cf798f8714019fd246c699053cf68c428e426 + checksum: 10c0/ac284868bf410f952c6959b0d77708464127160416f003b05c8127d30e64792d671abc167ebf778b17707e32174223ea8d3ff487276991fa90297d92f0dac6e2 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ed1ce1c90cac46c01825339fd0f2a96fa071b016fb819d8dfaf8e96300eae30e74870cb47e4dc80d4ce2fb287869f102878b4f3b35bc927fec8b1d0d76bcf612 + checksum: 10c0/1bffc0a20c8c82b4c77515eb4c99b961b38184116f008bb42bed4e12d3379ba7b2bc6cf299bcea8118d645bb7a5e0caa83969842f16dd1fce49fb3a050e4ac65 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/aeb6e7aa363a47f815cf956ea1053c5dd8b786a17799f065c9688ba4b0051fe7565d258bbe9400bfcbfb3114cb9fda66983e10afe4d750bc70ff75403e15dd36 + checksum: 10c0/32223f012614a0b2657579317ded7d0d09af2aa316285715c5012f974d0f15c2ce2fe0d8e80fdd9bac6c10c21c93cc925a9dfd6c8e21ce7ba1a9fe06a58088b4 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/45988025537a9d4a27b610fd696a18fd9ba9336621a69b4fb40560eeb10c79657f85c92a37f30c7c8fb29c22970eea0b373315795a891f1a05549a6cfe5a6bfe + checksum: 10c0/aa2ee7a5954d187de6cbcca0e0b64cfb79c4d224c332d1eb1e0e4afd92ef1a1f4bc4af24f66154097ccb348c08121a875456f47baed220b1b9e93584e6a19b65 languageName: node linkType: hard @@ -417,15 +417,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-export-default-from@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-proposal-export-default-from@npm:7.24.7" +"@babel/plugin-proposal-export-default-from@npm:^7.24.7": + version: 7.25.8 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ebc98b1bc0b9334a82030f8fe93f9a9de546982c5402b936c8cfae3eec63742ceb862d95104ac8976293aa2dd9c1b7a8cbebc44da3d63bbf3896517ad47616a4 + checksum: 10c0/aec7a35c8bcd2b6d0fa5b73c996dae521380ae3dcba8594df750d59123cf7c4c0d2e46930ee26e68614770f8aa450b93c41d122435cd13d5c8c3a19d42d31b35 languageName: node linkType: hard @@ -485,7 +484,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -507,7 +506,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.0, @babel/plugin-syntax-dynamic-import@npm:^7.8.3": +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: @@ -518,62 +517,51 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-export-default-from@npm:^7.0.0, @babel/plugin-syntax-export-default-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2748bcd6777d1ef29d568815915df5db043744364a4bc746e8b27f2f461de89a4bdf332764339146ef91b8474440edf04c745e97ef0360effb4ac35e750379a4 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" +"@babel/plugin-syntax-export-default-from@npm:^7.24.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + checksum: 10c0/490344179679e380f36349d937b2b5d31bfdbb41b011bbd0a4b5dcb07d0491c3cd69e0e3d01d98482be08e3411bd60c343d32b9cd137c899d7d6da3ff5e910d0 languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.18.0, @babel/plugin-syntax-flow@npm:^7.22.5, @babel/plugin-syntax-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-flow@npm:7.24.7" +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.22.5, @babel/plugin-syntax-flow@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-flow@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f0cb7a78379029707e61f6665634a5b758c8b4ccb602a72d798e41d36b0647c2f2de59f90e0c1d522b026962918e54d82f3aee0c194dc87cd340455aa58562a + checksum: 10c0/36799e0af9cab97b688c46caef0fc596323dea7f8772abea229267be9a2c205db27b74bdac26e29ea4f9f116a0337fc40e7b96644a87f26572e6ba1723ed0bbb languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.7" +"@babel/plugin-syntax-import-assertions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b82c53e095274ee71c248551352d73441cf65b3b3fc0107258ba4e9aef7090772a425442b3ed1c396fa207d0efafde8929c87a17d3c885b3ca2021316e87e246 + checksum: 10c0/0fee0d971f3c654749fdf92e09b6556bba26ab014c8e99b7252f6a7f1ca108f17edd7ceefb5401d7b7008e98ab1b6f8c3c6a5db72862e7c7b2fcd649d000d690 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eccc54d0f03c96d0eec7a6e2fa124dadbc7298345b62ffc4238f173308c4325b5598f139695ff05a95cf78412ef6903599e4b814496612bf39aad4715a16375b + checksum: 10c0/fe00cdb96fd289ab126830a98e1dcf5ab7b529a6ef1c01a72506b5e7b1197d6e46c3c4d029cd90d1d61eb9a15ef77c282d156d0c02c7e32f168bb09d84150db4 languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -595,18 +583,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.25.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + checksum: 10c0/17db499c31fcfaa94d5408726d943955d51d478353d1e2dd84eda6024f7e3d104b9456a77f8aabfae0db7f4dc32f810d08357112f7fcbe305e7c9fcf5b3cac13 languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -617,7 +605,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.0.0, @babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" dependencies: @@ -628,7 +616,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -661,7 +649,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-optional-chaining@npm:^7.0.0, @babel/plugin-syntax-optional-chaining@npm:^7.8.3": +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" dependencies: @@ -683,7 +671,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -694,14 +682,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" +"@babel/plugin-syntax-typescript@npm:^7.25.7, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.25.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cdabd2e8010fb0ad15b49c2c270efc97c4bfe109ead36c7bbcf22da7a74bc3e49702fc4f22f12d2d6049e8e22a5769258df1fd05f0420ae45e11bdd5bc07805a + checksum: 10c0/ed51fd81a5cf571a89fc4cf4c0e3b0b91285c367237374c133d2e5e718f3963cfa61b81997df39220a8837dc99f9e9a8ab7701d259c09fae379e4843d9db60c2 languageName: node linkType: hard @@ -717,812 +705,785 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.0.0, @babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" +"@babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 + checksum: 10c0/c8d75ead93f130bf113b6d29493aca695092661ef039336d2a227169c3b7895aa5e9bcc548c42a95a6eaaaf49e512317b00699940bd40ccefd77443e703d3935 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.3, @babel/plugin-transform-async-generator-functions@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.0" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-remap-async-to-generator": "npm:^7.25.0" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-remap-async-to-generator": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5348c3a33d16e0d62f13482c6fa432185ba096d58880b08d42450f7db662d6b03e6149d495c8620897dcd3da35061068cbd6c09da7d0ec95743e55a788809e4e + checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.20.0, @babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" +"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-remap-async-to-generator": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/83c82e243898875af8457972a26ab29baf8a2078768ee9f35141eb3edff0f84b165582a2ff73e90a9e08f5922bf813dbf15a85c1213654385198f4591c0dc45d + checksum: 10c0/1dbefba9c1455f7a92b8c59a93c622091db945294c936fc2c09b1648308c5b4cb2ecaae92baae0d07a324ab890a8a2ee27ceb046bc120932845d27aede275821 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd + checksum: 10c0/b1e77492295d1b271ef850a81b0404cf3d0dd6a2bcbeab28a0fd99e61c6de4bda91dff583bb42138eec61bf71282bdd3b1bebcb53b7e373035e77fd6ba66caeb languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" +"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/382931c75a5d0ea560387e76cb57b03461300527e4784efcb2fb62f36c1eb0ab331327b6034def256baa0cad9050925a61f9c0d56261b6afd6a29c3065fb0bd4 + checksum: 10c0/b2057e00535cd0e8bd5ee5d4640aa2e952564aeafb1bcf4e7b6de33442422877bb0ca8669ad0a48262ec077271978c61eae87b6b3bc8f472d830fa781d6f7e44 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.1, @babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" +"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.7" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75018a466c7ede3d2397e158891c224ba7fca72864506ce067ddbc02fc65191d44da4d6379c996d0c7f09019e26b5c3f5f1d3a639cd98366519723886f0689d0 + checksum: 10c0/1f41e6934b20ad3e05df63959cff9bc600ff3119153b9acbbd44c1731e7df04866397e6e17799173f4c53cdee6115e155632859aee20bf47ec7dcef3f2168a47 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" +"@babel/plugin-transform-class-static-block@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/b0ade39a3d09dce886f79dbd5907c3d99b48167eddb6b9bbde24a0598129654d7017e611c20494cdbea48b07ac14397cd97ea34e3754bbb2abae4e698128eccb + checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-classes@npm:7.25.0" +"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-classes@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4451dccf8a7979427ae042afe381233f30764a8072faf0de1337a4fc297c6d7cb40df9e28931ac096e5b56392d0cd97d3ce10aee68288150a8701624d362a791 + checksum: 10c0/8121781e1d8acd80e6169019106f73a399475ad9c895c1988a344dfed5a6ddd340938ac55123dc1e423bb8f25f255f5d11031116ad756ba3c314595a97c973af languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" +"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/template": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/25636dbc1f605c0b8bc60aa58628a916b689473d11551c9864a855142e36742fe62d4a70400ba3b74902338e77fb3d940376c0a0ba154b6b7ec5367175233b49 + checksum: 10c0/7ad0a1c126f50935a02e77d438ebc39078a9d644b3a60de60bec32c5d9f49e7f2b193fcecb8c61bb1bc3cdd4af1e93f72d022d448511fa76a171527c633cd1bf languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/804968c1d5f5072c717505296c1e5d5ec33e90550423de66de82bbcb78157156e8470bbe77a04ab8c710a88a06360a30103cf223ac7eff4829adedd6150de5ce + checksum: 10c0/a563123b2fb267e03aa50104005f00b56226a685938906c42c1b251462e0cc9fc89e587d5656d3324159071eb8ebda8c68a6011f11d5a00fb1436cb5a5411b7b languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" +"@babel/plugin-transform-dotall-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/793f14c9494972d294b7e7b97b747f47874b6d57d7804d3443c701becf5db192c9311be6a1835c07664486df1f5c60d33196c36fb7e11a53015e476b4c145b33 + checksum: 10c0/7f1db3ec20b7fae46db4a9c4c257d75418b0896b72c0a3de20b3044f952801480f0a2e75ebb0d64f13e8cd4db0e49aa42c5c0edff372b23c41679b1ea5dd3ed4 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75ff7ec1117ac500e77bf20a144411d39c0fdd038f108eec061724123ce6d1bb8d5bd27968e466573ee70014f8be0043361cdb0ef388f8a182d1d97ad67e51b9 + checksum: 10c0/b4079981e2db19737a0f1a00254e7388e2d3c01ce36e9fd826e4d86d3c1755339495e29c71fd7c84a068201ec24687328d48f3bf53b32b6d6224f51d9a34da74 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/1c9b57ddd9b33696e88911d0e7975e1573ebc46219c4b30eb1dc746cbb71aedfac6f6dab7fdfdec54dd58f31468bf6ab56b157661ea4ffe58f906d71f89544c8 + checksum: 10c0/e4946090ff6d88d54b78265ee653079ec34c117ac046e22f66f7c4ac44249cdc2dfca385bc5bf4386db668b9948eeb12985589500188bc252e684c7714c31475 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" +"@babel/plugin-transform-dynamic-import@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eeda48372efd0a5103cb22dadb13563c975bce18ae85daafbb47d57bb9665d187da9d4fe8d07ac0a6e1288afcfcb73e4e5618bf75ff63fddf9736bfbf225203b + checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ace3e11c94041b88848552ba8feb39ae4d6cad3696d439ff51445bd2882d8b8775d85a26c2c0edb9b5e38c9e6013cc11b0dea89ec8f93c7d9d7ee95e3645078c + checksum: 10c0/c8537b9f3cddc5a8d3710f6980196dc7a0f4389f8f82617312a5f7b8b15bcd8ddaeba783c687c3ac6031eb0a4ba0bc380a98da6bf7efe98e225602a98ad42a1e languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4e144d7f1c57bc63b4899dbbbdfed0880f2daa75ea9c7251c7997f106e4b390dc362175ab7830f11358cb21f6b972ca10a43a2e56cd789065f7606b082674c0c + checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.24.7, @babel/plugin-transform-flow-strip-types@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/plugin-syntax-flow": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/plugin-syntax-flow": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/821f5ccdb8104e09764d8a24d4c0dd4fe9e264d95e6477269c911e15240a63343d3fe71b6cf9382273766a0e86a015c2867d26fd75e5827134d990c93fa9e605 + checksum: 10c0/01afd2196c99ace415d58d939cc568a17e9925fcc4cbf8ff16a659053be3f7ce2b1fa254b5662aa36e6a3300620bcc81d9399d849288a012fe2dc337e4efa49e languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.0.0, @babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" +"@babel/plugin-transform-for-of@npm:^7.24.7, @babel/plugin-transform-for-of@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-for-of@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 + checksum: 10c0/08a37a1742368a422d095c998ed76f60f6bf3f9cc060033be121d803fd2dddc08fe543e48ee49c022bdc9ed80893ca79d084958d83d30684178b088774754277 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.25.1": - version: 7.25.1 - resolution: "@babel/plugin-transform-function-name@npm:7.25.1" +"@babel/plugin-transform-function-name@npm:^7.25.1, @babel/plugin-transform-function-name@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-function-name@npm:7.25.7" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.1" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e74912174d5e33d1418b840443c2e226a7b76cc017c1ed20ee30a566e4f1794d4a123be03180da046241576e8b692731807ba1f52608922acf1cb2cb6957593f + checksum: 10c0/ca98e1116c0ada7211ed43e4b7f21ca15f95bbbdad70f2fbe1ec2d90a97daedf9f22fcb0a25c8b164a5e394f509f2e4d1f7609d26dc938a58d37c5ee9b80088a languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" +"@babel/plugin-transform-json-strings@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/17c72cd5bf3e90e722aabd333559275f3309e3fa0b9cea8c2944ab83ae01502c71a2be05da5101edc02b3fc8df15a8dbb9b861cbfcc8a52bf5e797cf01d3a40a + checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/plugin-transform-literals@npm:7.25.2" +"@babel/plugin-transform-literals@npm:^7.25.2, @babel/plugin-transform-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0796883217b0885d37e7f6d350773be349e469a812b6bf11ccf862a6edf65103d3e7c849529d65381b441685c12e756751d8c2489a0fd3f8139bb5ef93185f58 + checksum: 10c0/c2c2488102f33e566f45becdcb632e53bd052ecfb2879deb07a614b3e9437e3b624c3b16d080096d50b0b622edebd03e438acbf9260bcc41167897963f64560e languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.1, @babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dbe882eb9053931f2ab332c50fc7c2a10ef507d6421bd9831adbb4cb7c9f8e1e5fbac4fbd2e007f6a1bf1df1843547559434012f118084dc0bf42cda3b106272 + checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 10c0/d6936b98ae4d3daed850dc4e064042ea4375f815219ba9d8591373bf1fba4cfdb5be42623ae8882f2d666cc34af650a4855e2a5ad89e3c235d73a6f172f9969c languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" +"@babel/plugin-transform-modules-amd@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6df7de7fce34117ca4b2fa07949b12274c03668cbfe21481c4037b6300796d50ae40f4f170527b61b70a67f26db906747797e30dbd0d9809a441b6e220b5728f + checksum: 10c0/c0bc999206c3834c090e6559a6c8a55d7672d3573104e832223ebe7df99bd1b82fc850e15ba32f512c84b0db1cdb613b66fa60abe9abb9c7e8dcbff91649b356 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" +"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-simple-access": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f1cf552307ebfced20d3907c1dd8be941b277f0364aa655e2b5fee828c84c54065745183104dae86f1f93ea0406db970a463ef7ceaaed897623748e99640e5a7 + checksum: 10c0/2f1c945fc3c9b690b0ddcf2c80156b2e4fbf2cf15aac43ac8fe6e4b34125869528839a53d07c564e62e4aed394ebdc1d2c3b796b547374455522581c11b7599c languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fca6198da71237e4bb1274b3b67a0c81d56013c9535361242b6bfa87d70a9597854aadb45d4d8203369be4a655e158be2a5d20af0040b1f8d1bfc47db3ad7b68 + checksum: 10c0/95eaea7082636710c61e49e58b3907e85ec79db4327411d3784f28592509fbe94a53cc3d20a36a1cf245efc6d3f0017eae15b45ffd645c1ab949bb4e1670e6bb languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" +"@babel/plugin-transform-modules-umd@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7791d290121db210e4338b94b4a069a1a79e4c7a8d7638d8159a97b281851bbed3048dac87a4ae718ad963005e6c14a5d28e6db2eeb2b04e031cee92fb312f85 + checksum: 10c0/8849ab04eecdb73cd37e2d7289449fa5256331832b0304c220b2a6aaa12e2d2dd87684f2813412d1fc5bdb3d6b55cc08c6386d3273fe05a65177c09bee5b6769 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.0.0, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/41a0b0f2d0886318237440aa3b489f6d0305361d8671121777d9ff89f9f6de9d0c02ce93625049061426c8994064ef64deae8b819d1b14c00374a6a2336fb5d9 + checksum: 10c0/eb55fec55dc930cd122911f3e4a421320fa8b1b4de85bfd7ef11b46c611ec69b0213c114a6e1c6bc224d6b954ff183a0caa7251267d5258ecc0f00d6d9ca1d52 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" +"@babel/plugin-transform-new-target@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-new-target@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2540808a35e1a978e537334c43dab439cf24c93e7beb213a2e71902f6710e60e0184316643790c0a6644e7a8021e52f7ab8165e6b3e2d6651be07bdf517b67df + checksum: 10c0/8e5dce6d027e0f3fd394578ea1af7f515de157793a15c23a5aad7034a6d8a4005ef280238e67a232bb4dd4fafd3a264fed462deb149128ddd9ce59ff6f575cff languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7243c8ff734ed5ef759dd8768773c4b443c12e792727e759a1aec2c7fa2bfdd24f1ecb42e292a7b3d8bd3d7f7b861cf256a8eb4ba144fc9cc463892c303083d9 + checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" +"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e18e09ca5a6342645d00ede477731aa6e8714ff357efc9d7cda5934f1703b3b6fb7d3298dce3ce3ba53e9ff1158eab8f1aadc68874cc21a6099d33a1ca457789 + checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.5, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/plugin-transform-parameters": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9ad64bc003f583030f9da50614b485852f8edac93f8faf5d1cd855201a4852f37c5255ae4daf70dd4375bdd4874e16e39b91f680d4668ec219ba05441ce286eb + checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" +"@babel/plugin-transform-object-super@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-object-super@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + checksum: 10c0/7f2968d4da997101b63fd3b74445c9b16f56bd32cd8a0a16c368af9d3e983e7675c1b05d18601f32307cb06e7d884ee11d13ff18a1f6830c0db243a9a852afab languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.1, @babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1e2f10a018f7d03b3bde6c0b70d063df8d5dd5209861d4467726cf834f5e3d354e2276079dc226aa8e6ece35f5c9b264d64b8229a8bb232829c01e561bcfb07a + checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4ffbe1aad7dec7c9aa2bf6ceb4b2f91f96815b2784f2879bde80e46934f59d64a12cb2c6262e40897c4754d77d2c35d8a5cfed63044fdebf94978b1ed3d14b17 + checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-parameters@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + checksum: 10c0/b40ba70278842ce1e800d7ab400df730994941550da547ef453780023bd61a9b8acf4b9fb8419c1b5bcbe09819a1146ff59369db11db07eb71870bef86a12422 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.5, @babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.7" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5b7bf923b738fbe3ad6c33b260e0a7451be288edfe4ef516303fa787a1870cd87533bfbf61abb779c22ed003c2fc484dec2436fe75a48756f686c0241173d364 + checksum: 10c0/92e076f63f7c4696e1321dafdd56c4212eb41784cdadba0ebc39091f959a76d357c3df61a6c668be81d6b6ad8964ee458e85752ab0c6cfbbaf2066903edda732 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.22.11, @babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c6fa7defb90b1b0ed46f24ff94ff2e77f44c1f478d1090e81712f33cf992dda5ba347016f030082a2f770138bac6f4a9c2c1565e9f767a125901c77dd9c239ba + checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" +"@babel/plugin-transform-property-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + checksum: 10c0/6d5bccdc772207906666ad5201bd91e4e132e1d806dbcf4163a1d08e18c57cc3795578c4e10596514bcd6afaf9696f478ea4f0dea890176d93b9cb077b9e5c55 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.0.0, @babel/plugin-transform-react-display-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" +"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 10c0/a0c537cc7c328ed7468d3b6a37bf0d9cb15d94afcdf3f2849ce6e5a68494fc61f0fa4fc529482a6b95b00f3c5c734f310bf18085293bff40702789f06c816f36 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.7" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fce647db50f90a5291681f0f97865d9dc76981262dff71d6d0332e724b85343de5860c26f9e9a79e448d61e1d70916b07ce91e8c7f2b80dceb4b16aee41794d8 + checksum: 10c0/a3dc14644d09a6d22875af7b5584393ab53e467e0531cd192fc6242504dacaffa421e89265ba7f84fd4edef2b7b100d2e2ebf092a4dce2b55cf9c5fe29390c18 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.7" +"@babel/plugin-transform-react-jsx-self@npm:^7.24.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcf3b732401f47f06bb29d6016e48066f66de00029a0ded98ddd9983c770a00a109d91cd04d2700d15ee0bcec3ae3027a5f12d69e15ec56efc0bcbfac65e92cb + checksum: 10c0/51ab0302f808186b671722db40ef25d6f691f969aeaa8f7ef8565c5ca227c8b4dbd1002997478414d3f6984b1fd80a01303e98853fd8bd9606c35bcd72c94065 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.7" +"@babel/plugin-transform-react-jsx-source@npm:^7.24.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/970ef1264c7c6c416ab11610665d5309aec2bd2b9086ae394e1132e65138d97b060a7dc9d31054e050d6dc475b5a213938c9707c0202a5022d55dcb4c5abe28f + checksum: 10c0/c014de49a466c18ab77bea409542f40409a6a561afc8879ecbeca6a4618161b5aa71ab0825b733c5c87bebe09a19455a79bc1bed86488a84ef712e42e1ed2875 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.2" +"@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/types": "npm:^7.25.2" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/plugin-syntax-jsx": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8c5b515f38118471197605e02bea54a8a4283010e3c55bad8cfb78de59ad63612b14d40baca63689afdc9d57b147aac4c7794fe5f7736c9e1ed6dd38784be624 + checksum: 10c0/6766b0357b8bbfcb77fca5350f06cf822c89bbe75ddcaea24614601ef23957504da24e76597d743038ce8fa081373b0663c8ad0c86d7c7226e8185f0680b8b56 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fae517d293d9c93b7b920458c3e4b91cb0400513889af41ba184a5f3acc8bfef27242cc262741bb8f87870df376f1733a0d0f52b966d342e2aaaf5607af8f73d + checksum: 10c0/d92c9b511850fb6dea71966a0d4f313d67e317db7fc3633a7ff2e27d6df2e95cbc91c4c25abdb6c8db651fcda842a0cb7433835a8a9d4a3fdc5d452068428101 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.20.0, @babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d2dc2c788fdae9d97217e70d46ba8ca9db0035c398dc3e161552b0c437113719a75c04f201f9c91ddc8d28a1da60d0b0853f616dead98a396abb9c845c44892b + checksum: 10c0/7ee3a57c4050bc908ef7ac392d810826b294970a7182f4ec34a8ca93dbe36deb21bc862616d46a6f3d881d6b5749930e1679e875b638a00866d844a4250df212 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" +"@babel/plugin-transform-reserved-words@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2229de2768615e7f5dc0bbc55bc121b5678fd6d2febd46c74a58e42bb894d74cd5955c805880f4e02d0e1cf94f6886270eda7fafc1be9305a1ec3b9fd1d063f5 + checksum: 10c0/920c98130daff6c1288fb13a9a2d2e45863bba93e619cb88d90e1f5b5cb358a3ee8880a425a3adb1b4bd5dbb6bd0500eea3370fc612633045eec851b08cc586c languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.0.0": - version: 7.24.7 - resolution: "@babel/plugin-transform-runtime@npm:7.24.7" +"@babel/plugin-transform-runtime@npm:^7.24.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-runtime@npm:7.25.7" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.1" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a33f5095872bbba00b8ee553dfe6941477e69a017a2e65e9dd86e80dab5c627635093b796eb1eb22aaaf2f874704f63ad1d99b952b83b59ef6b368ae04e5bb41 + checksum: 10c0/9b2514e9079361ac8e7e500ffd522dad869d61a3894302da7e29bbac80de00276c8a1b4394d1dcf0b51c57b2c854919928df9648be336139fdf1d6ecd6d1bb32 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.0.0, @babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + checksum: 10c0/4250f89a0072f0f400be7a2e3515227b8e2518737899bd57d497e5173284a0e05d812e4a3c219ffcd484e9fa9a01c19fce5acd77bbb898f4d594512c56701eb4 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" +"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-spread@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 10c0/258bd1b52388cd7425d0ae25fa39538734f7540ea503a1d8a72211d33f6f214cb4e3b73d6cd03016cbcff5d41169f1e578b9ea331965ad224d223591983e90a7 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.0.0, @babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" +"@babel/plugin-transform-sticky-regex@npm:^7.24.7, @babel/plugin-transform-sticky-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5a74ed2ed0a3ab51c3d15fcaf09d9e2fe915823535c7a4d7b019813177d559b69677090e189ec3d5d08b619483eb5ad371fbcfbbff5ace2a76ba33ee566a1109 + checksum: 10c0/0e466cfc3ca1e0db4bb11eb630215b0e1f43066d7678325e5ddadcf5a118b2351a528f67205729c32ac5b78ab68ab7f40517dd33bcb1fb6b456509f5f54ce097 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" +"@babel/plugin-transform-template-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 + checksum: 10c0/a3455303b6841cb536ac66d1a2d03c194b9f371519482d8d1e8edbd33bf5ca7cdd5db1586b2b0ea5f909ebf74a0eafacf0fb28d257e4905445282dcdccfa6139 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f570a4fbbdc5fd85f48165a97452826560051e3b8efb48c3bb0a0a33ee8485633439e7b71bfe3ef705583a1df43f854f49125bd759abdedc195b2cf7e60012a + checksum: 10c0/ce1a0744a900b05de1372a70508c4148f17eb941c482da26eb369b9f0347570dce45470c8a86d907bc3a0443190344da1e18489ecfecb30388ab6178e8a9916b languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7, @babel/plugin-transform-typescript@npm:^7.5.0": - version: 7.25.2 - resolution: "@babel/plugin-transform-typescript@npm:7.25.2" +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-typescript@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/plugin-syntax-typescript": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b3c941da39ee7ecf72df1b78a01d4108160438245f2ab61befe182f51d17fd0034733c6d079b7efad81e03a66438aa3881a671cd68c5eb0fc775df86b88df996 + checksum: 10c0/5fa839b9560221698edff5e00b5cccc658c7875efaa7971c66d478f5b026770f12dd47b1be024463a44f9e29b4e14e8ddddbf4a2b324b0b94f58370dd5ae7195 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b18e2e66af33471a6971289492beff5c240e56727331db1d34c4338a6a368a82a7ed6d57ec911001b6d65643aed76531e1e7cac93265fb3fb2717f54d845e69 + checksum: 10c0/8b1f71fda0a832c6e26ba4c00f99e9033e6f9b36ced542a512921f4ad861a70e2fec2bd54a91a5ca2efa46aaa8c8893e4c602635c4ef172bd3ed6eef3178c70b languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bc57656eb94584d1b74a385d378818ac2b3fca642e3f649fead8da5fb3f9de22f8461185936915dfb33d5a9104e62e7a47828331248b09d28bb2d59e9276de3e + checksum: 10c0/b4bfcf7529138d00671bf5cdfe606603d52cfe57ec1be837da57683f404fc0b0c171834a02515eb03379e5c806121866d097b90e31cb437d21d0ea59368ad82b languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.0.0, @babel/plugin-transform-unicode-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/83f72a345b751566b601dc4d07e9f2c8f1bc0e0c6f7abb56ceb3095b3c9d304de73f85f2f477a09f8cc7edd5e65afd0ff9e376cdbcbea33bc0c28f3705b38fd9 + checksum: 10c0/73ae34c02ea8b7ac7e4efa690f8c226089c074e3fef658d2a630ad898a93550d84146ce05e073c271c8b2bbba61cbbfd5a2002a7ea940dcad3274e5b5dcb6bcf languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/7457c0ee8e80a80cb6fdc1fe54ab115b52815627616ce9151be8ef292fc99d04a910ec24f11382b4f124b89374264396892b086886bd2a9c2317904d87c9b21b + checksum: 10c0/39e45ae3db7adfc3457b1d6ba5608ffbace957ad019785967e5357a6639f261765bda12363f655d39265f5a2834af26327037751420191d0b73152ccc7ce3c35 languageName: node linkType: hard "@babel/preset-env@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/preset-env@npm:7.25.3" - dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-validator-option": "npm:^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.0" + version: 7.25.8 + resolution: "@babel/preset-env@npm:7.25.8" + dependencies: + "@babel/compat-data": "npm:^7.25.8" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" + "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.0" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.0" - "@babel/plugin-transform-class-properties": "npm:^7.24.7" - "@babel/plugin-transform-class-static-block": "npm:^7.24.7" - "@babel/plugin-transform-classes": "npm:^7.25.0" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.8" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.0" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.7" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.7" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.25.1" - "@babel/plugin-transform-json-strings": "npm:^7.24.7" - "@babel/plugin-transform-literals": "npm:^7.25.2" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" - "@babel/plugin-transform-modules-amd": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.0" - "@babel/plugin-transform-modules-umd": "npm:^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-new-target": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-object-super": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.24.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-property-literals": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-reserved-words": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@babel/plugin-transform-template-literals": "npm:^7.24.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.8" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.7" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.7" + "@babel/plugin-transform-class-properties": "npm:^7.25.7" + "@babel/plugin-transform-class-static-block": "npm:^7.25.8" + "@babel/plugin-transform-classes": "npm:^7.25.7" + "@babel/plugin-transform-computed-properties": "npm:^7.25.7" + "@babel/plugin-transform-destructuring": "npm:^7.25.7" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" + "@babel/plugin-transform-for-of": "npm:^7.25.7" + "@babel/plugin-transform-function-name": "npm:^7.25.7" + "@babel/plugin-transform-json-strings": "npm:^7.25.8" + "@babel/plugin-transform-literals": "npm:^7.25.7" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" + "@babel/plugin-transform-modules-amd": "npm:^7.25.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7" + "@babel/plugin-transform-modules-umd": "npm:^7.25.7" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" + "@babel/plugin-transform-new-target": "npm:^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" + "@babel/plugin-transform-object-super": "npm:^7.25.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" + "@babel/plugin-transform-parameters": "npm:^7.25.7" + "@babel/plugin-transform-private-methods": "npm:^7.25.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" + "@babel/plugin-transform-property-literals": "npm:^7.25.7" + "@babel/plugin-transform-regenerator": "npm:^7.25.7" + "@babel/plugin-transform-reserved-words": "npm:^7.25.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7" + "@babel/plugin-transform-spread": "npm:^7.25.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.7" + "@babel/plugin-transform-template-literals": "npm:^7.25.7" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.7" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.4" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.37.1" + core-js-compat: "npm:^3.38.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9287dc2e296fe2aa3367d84c2a799db17c9d1e48bba86525f47c6f51f5ba2e2cce454f45f4ae2ef928f9077c0640b04556b55b94835675ceeca94a0c5133205e + checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 languageName: node linkType: hard "@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-flow@npm:7.24.7" + version: 7.25.7 + resolution: "@babel/preset-flow@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-flow-strip-types": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2a99333b9aac17033cefe17fb9d8c41b20c4f2cd3eab34f56c20d7c1c528cc1cca7e6d909de92fc700739a505b43166c9de62423f8a30b484161ebdf9474e217 + checksum: 10c0/c0d533628ea9e92558d705e1ecfec51e465e9f251b9dcbd2b4b8ec5007b3238feb1a5cd3e14739f12984a35ccd71a422c92696010b71e69216dfd9389c3cf51c languageName: node linkType: hard @@ -1540,39 +1501,39 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" + version: 7.25.7 + resolution: "@babel/preset-react@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.24.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-transform-react-display-name": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.7" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9658b685b25cedaadd0b65c4e663fbc7f57394b5036ddb4c99b1a75b0711fb83292c1c625d605c05b73413fc7a6dc20e532627f6a39b6dc8d4e00415479b054c + checksum: 10c0/b133b1a2f46c70a337d8b1ef442e09e3dbdaecb0d6bed8f1cb64dfddc31c16e248b017385ab909caeebd8462111c9c0e1c5409deb10f2be5cb5bcfdaa4d27718 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" + version: 7.25.7 + resolution: "@babel/preset-typescript@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-syntax-jsx": "npm:^7.25.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" + "@babel/plugin-transform-typescript": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/986bc0978eedb4da33aba8e1e13a3426dd1829515313b7e8f4ba5d8c18aff1663b468939d471814e7acf4045d326ae6cff37239878d169ac3fe53a8fde71f8ee + checksum: 10c0/8dc1258e3c5230bbe42ff9811f08924509238e6bd32fa0b7b0c0a6c5e1419512a8e1f733e1b114454d367b7c164beca2cf33acf2ed9e0d99be010c1c5cdbef0c languageName: node linkType: hard "@babel/register@npm:^7.13.16": - version: 7.24.6 - resolution: "@babel/register@npm:7.24.6" + version: 7.25.7 + resolution: "@babel/register@npm:7.25.7" dependencies: clone-deep: "npm:^4.0.1" find-cache-dir: "npm:^2.0.0" @@ -1581,60 +1542,53 @@ __metadata: source-map-support: "npm:^0.5.16" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e0c6d6c8945dd792f83dc7bd6be468246b3aedd62b32620e56a3f3328389b577a6261d4338a9de9519f4eadddfef5aa0fdc1f92082c778dedddcc5854e357f09 - languageName: node - linkType: hard - -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a + checksum: 10c0/af32db39edb2ed0c46d05bcb09cb2c14f8ee452d112f08a96a2e2daeaddc127d4f2269354aa968d0c01cd286523ad7e865b0abed1da9229833fd440ee6831199 languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.8.4": - version: 7.25.0 - resolution: "@babel/runtime@npm:7.25.0" +"@babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.8.4": + version: 7.25.7 + resolution: "@babel/runtime@npm:7.25.7" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/bd3faf246170826cef2071a94d7b47b49d532351360ecd17722d03f6713fd93a3eb3dbd9518faa778d5e8ccad7392a7a604e56bd37aaad3f3aa68d619ccd983d + checksum: 10c0/86b7829d2fc9343714a9afe92757cf96c4dc799006ca61d73cda62f4b9e29bfa1ce36794955bc6cb4c188f5b10db832c949339895e1bbe81a69022d9d578ce29 languageName: node linkType: hard -"@babel/template@npm:^7.0.0, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": - version: 7.25.0 - resolution: "@babel/template@npm:7.25.0" +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.7, @babel/template@npm:^7.3.3": + version: 7.25.7 + resolution: "@babel/template@npm:7.25.7" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/4e31afd873215744c016e02b04f43b9fa23205d6d0766fb2e93eb4091c60c1b88897936adb895fb04e3c23de98dfdcbe31bc98daaa1a4e0133f78bb948e1209b + "@babel/code-frame": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 languageName: node linkType: hard -"@babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/traverse@npm:7.25.3" +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/traverse@npm:7.25.7" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.3" - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.2" + "@babel/code-frame": "npm:^7.25.7" + "@babel/generator": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.7" + "@babel/template": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/4c8a1966fa90b53a783a4afd2fcdaa6ab1a912e6621dca9fcc6633e80ccb9491620e88caf73b537da4e16cefd537b548c87d7087868d5b0066414dea375c0e9b + checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.2 - resolution: "@babel/types@npm:7.25.2" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.8 + resolution: "@babel/types@npm:7.25.8" dependencies: - "@babel/helper-string-parser": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-string-parser": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" to-fast-properties: "npm:^2.0.0" - checksum: 10c0/e489435856be239f8cc1120c90a197e4c2865385121908e5edb7223cfdff3768cba18f489adfe0c26955d9e7bbb1fb10625bc2517505908ceb0af848989bd864 + checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f languageName: node linkType: hard @@ -1676,6 +1630,24 @@ __metadata: languageName: node linkType: hard +"@conventional-changelog/git-client@npm:^1.0.0": + version: 1.0.1 + resolution: "@conventional-changelog/git-client@npm:1.0.1" + dependencies: + "@types/semver": "npm:^7.5.5" + semver: "npm:^7.5.2" + peerDependencies: + conventional-commits-filter: ^5.0.0 + conventional-commits-parser: ^6.0.0 + peerDependenciesMeta: + conventional-commits-filter: + optional: true + conventional-commits-parser: + optional: true + checksum: 10c0/6f048b2595977f28741ddea911870b25bcb4344a6185b7fe06a9cc641a17e7da996efd01227fa9c078180f77b12e074d72f280bdccc627332d06de610ba9165b + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1688,16 +1660,21 @@ __metadata: linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.11.0 - resolution: "@eslint-community/regexpp@npm:4.11.0" - checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 + version: 4.11.1 + resolution: "@eslint-community/regexpp@npm:4.11.1" + checksum: 10c0/fbcc1cb65ef5ed5b92faa8dc542e035269065e7ebcc0b39c81a4fe98ad35cfff20b3c8df048641de15a7757e07d69f85e2579c1a5055f993413ba18c055654f8 languageName: node linkType: hard "@eslint/compat@npm:^1.1.1": - version: 1.1.1 - resolution: "@eslint/compat@npm:1.1.1" - checksum: 10c0/ca8aa3811fa22d45913f5724978e6f3ae05fb7685b793de4797c9db3b0e22b530f0f492011b253754bffce879d7cece65762cc3391239b5d2249aef8230edc9a + version: 1.2.0 + resolution: "@eslint/compat@npm:1.2.0" + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/ad79bf1ef14462f829288c4e2ca8eeffdf576fa923d3f8a07e752e821bdbe5fd79360fe6254e9ddfe7eada2e4e3d22a7ee09f5d21763e67bc4fbc331efb3c3e9 languageName: node linkType: hard @@ -1718,37 +1695,21 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@humanwhocodes/object-schema": "npm:^2.0.3" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e languageName: node linkType: hard @@ -1759,7 +1720,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": +"@humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c @@ -1781,9 +1742,9 @@ __metadata: linkType: hard "@inquirer/figures@npm:^1.0.3": - version: 1.0.5 - resolution: "@inquirer/figures@npm:1.0.5" - checksum: 10c0/ec9ba23db42cb33fa18eb919abf2a18e750e739e64c1883ce4a98345cd5711c60cac12d1faf56a859f52d387deb221c8d3dfe60344ee07955a9a262f8b821fe3 + version: 1.0.7 + resolution: "@inquirer/figures@npm:1.0.7" + checksum: 10c0/d7b4cfcd38dd43d1ac79da52c4478aa89145207004a471aa2083856f1d9b99adef45563f09d66c09d6457b09200fcf784527804b70ad3bd517cbc5e11142c2df languageName: node linkType: hard @@ -2053,19 +2014,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/types@npm:26.6.2" - dependencies: - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^15.0.0" - chalk: "npm:^4.0.0" - checksum: 10c0/5b9b957f38a002895eb04bbb8c3dda6fccce8e2551f3f44b02f1f43063a78e8bedce73cd4330b53ede00ae005de5cd805982fbb2ec6ab9feacf96344240d5db2 - languageName: node - linkType: hard - "@jest/types@npm:^29.6.3": version: 29.6.3 resolution: "@jest/types@npm:29.6.3" @@ -2314,11 +2262,11 @@ __metadata: linkType: hard "@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0, @octokit/types@npm:^13.5.0": - version: 13.5.0 - resolution: "@octokit/types@npm:13.5.0" + version: 13.6.1 + resolution: "@octokit/types@npm:13.6.1" dependencies: "@octokit/openapi-types": "npm:^22.2.0" - checksum: 10c0/355ebc6776ce23feace1b1be0927cdda758790fda83068109c4f27b354dcd43d0447d4dc24e5eafdb596465469ea1baed23f3fd63adfec508cc375ccd1dcb0a3 + checksum: 10c0/891334b5786ba6aef953384cec05d53e05132dd577c0c22db124d55eaa69609362d1e3147853b46e91bf226e046ba24d615c55214c8f8f4e7c3a5c38429b38e9 languageName: node linkType: hard @@ -2363,396 +2311,189 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-clean@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-clean@npm:14.0.0" - dependencies: - "@react-native-community/cli-tools": "npm:14.0.0" - chalk: "npm:^4.1.2" - execa: "npm:^5.0.0" - fast-glob: "npm:^3.3.2" - checksum: 10c0/ca8ae272a170b36c0000a7c1cd04d1c22f5591cb00ead96fd82033ec2579c56686681745c6ad71caadd9b4182dceb746f6cdb1fca09f93053294ccabbf9f457d - languageName: node - linkType: hard - -"@react-native-community/cli-config@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-config@npm:14.0.0" - dependencies: - "@react-native-community/cli-tools": "npm:14.0.0" - chalk: "npm:^4.1.2" - cosmiconfig: "npm:^9.0.0" - deepmerge: "npm:^4.3.0" - fast-glob: "npm:^3.3.2" - joi: "npm:^17.2.1" - checksum: 10c0/2160285f74c33e3201d7070d9eb908487a3219a6562df732cb567782d1111e0f08de782e078c444e0e705c9e7a9048f44451eb09c6c8a202a11ad5d70dcf4313 - languageName: node - linkType: hard - -"@react-native-community/cli-debugger-ui@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-debugger-ui@npm:14.0.0" - dependencies: - serve-static: "npm:^1.13.1" - checksum: 10c0/2009875b4a973faccbb6c48115b775c1dbc7545e6fe91fbb93712ad629ccbc87781f8badf14129d70e20ba97eca453ba88f3b143c0734edb13a8b69ac86c636f - languageName: node - linkType: hard - -"@react-native-community/cli-debugger-ui@npm:14.0.0-alpha.11": - version: 14.0.0-alpha.11 - resolution: "@react-native-community/cli-debugger-ui@npm:14.0.0-alpha.11" - dependencies: - serve-static: "npm:^1.13.1" - checksum: 10c0/1282ab14e537be9b723996340d0184be4b2bd8265fdbf5b35916f71c3678c69761f980db43f773f78d339d3b9bcaf5bac560f575cb79cf3302c8d66757b29605 +"@react-native/assets-registry@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/assets-registry@npm:0.76.0-rc.6" + checksum: 10c0/1b56e945d826c30caa9392cf111086ffc88cd9dfe28058d1f85f570f5d8684336633170ad1b9181949c13c7e1b7c3bf8cb1b382219a5426d9988850a2740c709 languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-doctor@npm:14.0.0" +"@react-native/babel-plugin-codegen@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/babel-plugin-codegen@npm:0.76.0-rc.6" dependencies: - "@react-native-community/cli-config": "npm:14.0.0" - "@react-native-community/cli-platform-android": "npm:14.0.0" - "@react-native-community/cli-platform-apple": "npm:14.0.0" - "@react-native-community/cli-platform-ios": "npm:14.0.0" - "@react-native-community/cli-tools": "npm:14.0.0" - chalk: "npm:^4.1.2" - command-exists: "npm:^1.2.8" - deepmerge: "npm:^4.3.0" - envinfo: "npm:^7.13.0" - execa: "npm:^5.0.0" - node-stream-zip: "npm:^1.9.1" - ora: "npm:^5.4.1" - semver: "npm:^7.5.2" - strip-ansi: "npm:^5.2.0" - wcwidth: "npm:^1.0.1" - yaml: "npm:^2.2.1" - checksum: 10c0/8174733525a43f2aa0ad1ab8864f9fda194de4dda2dcf5bcd627adaee31054b49289eea8a53ec7ba9eb883ed059d55ad6b79af1df229a02299e7eb5a4dda7b47 + "@react-native/codegen": "npm:0.76.0-rc.6" + checksum: 10c0/78a3b9d17a3dfb7aace63a30e2fc7970f93f8439ebf4a97ee66058c54d336ace0a723b16edd8666c2f6bf88225b7c449c11934f9731f40b19ebb4657bcaf28ad languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-platform-android@npm:14.0.0" +"@react-native/babel-preset@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/babel-preset@npm:0.76.0-rc.6" dependencies: - "@react-native-community/cli-tools": "npm:14.0.0" - chalk: "npm:^4.1.2" - execa: "npm:^5.0.0" - fast-glob: "npm:^3.3.2" - fast-xml-parser: "npm:^4.2.4" - logkitty: "npm:^0.7.1" - checksum: 10c0/0f748e809444a369f71b4954e4e2357fa4c82a005a90107c92b54964d27c42258acf447866955aa76aeafb21008ba9a92b944cc64ce60d8dea53c89e038b9d51 - languageName: node - linkType: hard - -"@react-native-community/cli-platform-apple@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-platform-apple@npm:14.0.0" - dependencies: - "@react-native-community/cli-tools": "npm:14.0.0" - chalk: "npm:^4.1.2" - execa: "npm:^5.0.0" - fast-glob: "npm:^3.3.2" - fast-xml-parser: "npm:^4.2.4" - ora: "npm:^5.4.1" - checksum: 10c0/057e3f4d366fc8e93895f6ac5f5790b8304bb38cbc340b44bd275a14e9e262f5c91b3c72cfb67b9509ac597759f7ba6bca69a9452a343035cbc9c02d5702696d - languageName: node - linkType: hard - -"@react-native-community/cli-platform-ios@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-platform-ios@npm:14.0.0" - dependencies: - "@react-native-community/cli-platform-apple": "npm:14.0.0" - checksum: 10c0/e0bc03abdfac3bd77b8abaaaffe4789900e237f550bdb458fa9e87e7bf6a9333048db7501fbcdd30f722e2c13b303d6125c30145afd69d2502f77191756711c3 - languageName: node - linkType: hard - -"@react-native-community/cli-server-api@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-server-api@npm:14.0.0" - dependencies: - "@react-native-community/cli-debugger-ui": "npm:14.0.0" - "@react-native-community/cli-tools": "npm:14.0.0" - compression: "npm:^1.7.1" - connect: "npm:^3.6.5" - errorhandler: "npm:^1.5.1" - nocache: "npm:^3.0.1" - pretty-format: "npm:^26.6.2" - serve-static: "npm:^1.13.1" - ws: "npm:^6.2.3" - checksum: 10c0/d00e938d473ce6c8e35d175255ef1d9f126deea8226487bcccdcbd80f425b14ea259c465ad066bd692b175ed7859c5b3da79ad7d9fcd80b6a66c6397693d60c5 - languageName: node - linkType: hard - -"@react-native-community/cli-server-api@npm:14.0.0-alpha.11": - version: 14.0.0-alpha.11 - resolution: "@react-native-community/cli-server-api@npm:14.0.0-alpha.11" - dependencies: - "@react-native-community/cli-debugger-ui": "npm:14.0.0-alpha.11" - "@react-native-community/cli-tools": "npm:14.0.0-alpha.11" - compression: "npm:^1.7.1" - connect: "npm:^3.6.5" - errorhandler: "npm:^1.5.1" - nocache: "npm:^3.0.1" - pretty-format: "npm:^26.6.2" - serve-static: "npm:^1.13.1" - ws: "npm:^6.2.3" - checksum: 10c0/90386fdf1313c92f77fc9fcaaa1db82d3fccab4fdf91c3e1ea7cb1a6a192a80bf9e339397cb66c37706163f19e07459537a5475dc566eff221faf6f03885dfff - languageName: node - linkType: hard - -"@react-native-community/cli-tools@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-tools@npm:14.0.0" - dependencies: - appdirsjs: "npm:^1.2.4" - chalk: "npm:^4.1.2" - execa: "npm:^5.0.0" - find-up: "npm:^5.0.0" - mime: "npm:^2.4.1" - open: "npm:^6.2.0" - ora: "npm:^5.4.1" - semver: "npm:^7.5.2" - shell-quote: "npm:^1.7.3" - sudo-prompt: "npm:^9.0.0" - checksum: 10c0/7940b4af353b0b4e520c39fc98a438505fd2850931d2d5ec9395ec3deb7bbb5eb33c3817c5364b0eefa2525be069a4301b0b5073b4bae5867e0253d31f2d5f13 - languageName: node - linkType: hard - -"@react-native-community/cli-tools@npm:14.0.0-alpha.11": - version: 14.0.0-alpha.11 - resolution: "@react-native-community/cli-tools@npm:14.0.0-alpha.11" - dependencies: - appdirsjs: "npm:^1.2.4" - chalk: "npm:^4.1.2" - execa: "npm:^5.0.0" - find-up: "npm:^5.0.0" - mime: "npm:^2.4.1" - open: "npm:^6.2.0" - ora: "npm:^5.4.1" - semver: "npm:^7.5.2" - shell-quote: "npm:^1.7.3" - sudo-prompt: "npm:^9.0.0" - checksum: 10c0/ad546e9c3e5b4af8e5a4a19d6db8510de309442198291d69617568554ee3d6e7afa11069411085e6874d1080448e42ee36ae14da4f0bb80862123b2b6ff89bc9 - languageName: node - linkType: hard - -"@react-native-community/cli-types@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli-types@npm:14.0.0" - dependencies: - joi: "npm:^17.2.1" - checksum: 10c0/1abc875f2f49a9d81f4484922ea68dbcbc1f0aa28d35a25a3d5f0a24d5e8161c35e8506d4ae237ac1618c8d2043cb181d0188760201c1824f769dc7d595bc119 - languageName: node - linkType: hard - -"@react-native-community/cli@npm:14.0.0": - version: 14.0.0 - resolution: "@react-native-community/cli@npm:14.0.0" - dependencies: - "@react-native-community/cli-clean": "npm:14.0.0" - "@react-native-community/cli-config": "npm:14.0.0" - "@react-native-community/cli-debugger-ui": "npm:14.0.0" - "@react-native-community/cli-doctor": "npm:14.0.0" - "@react-native-community/cli-server-api": "npm:14.0.0" - "@react-native-community/cli-tools": "npm:14.0.0" - "@react-native-community/cli-types": "npm:14.0.0" - chalk: "npm:^4.1.2" - commander: "npm:^9.4.1" - deepmerge: "npm:^4.3.0" - execa: "npm:^5.0.0" - find-up: "npm:^5.0.0" - fs-extra: "npm:^8.1.0" - graceful-fs: "npm:^4.1.3" - prompts: "npm:^2.4.2" - semver: "npm:^7.5.2" - bin: - rnc-cli: build/bin.js - checksum: 10c0/08325d63cc66f3253c7c4a72bcc15debaff7a5c227e627754e9b2faf50c886486b2b795f491c4685ea7175a66964a9a42f66836bf9530d7711888e2846e6694c - languageName: node - linkType: hard - -"@react-native/assets-registry@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/assets-registry@npm:0.75.1" - checksum: 10c0/8dff74bb3438cff944b84c9444732d87809ffaa374ef969f2ac70d025dcb15ce9ef27a8a83d81d94b31c06c4d9dfbfc4e11544e0f666f64121d2b9fa6f3a24e2 - languageName: node - linkType: hard - -"@react-native/babel-plugin-codegen@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/babel-plugin-codegen@npm:0.75.1" - dependencies: - "@react-native/codegen": "npm:0.75.1" - checksum: 10c0/fd81b17b177f25286c50d6e305fed5427136ae24df5f69a5388b6ec52e4c9fac7e62a13d12c17110f1558bb054df247373a397c6f9eb4bd9150e9928689ca835 - languageName: node - linkType: hard - -"@react-native/babel-preset@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/babel-preset@npm:0.75.1" - dependencies: - "@babel/core": "npm:^7.20.0" - "@babel/plugin-proposal-export-default-from": "npm:^7.0.0" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.0" - "@babel/plugin-syntax-export-default-from": "npm:^7.0.0" - "@babel/plugin-syntax-flow": "npm:^7.18.0" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.0.0" - "@babel/plugin-syntax-optional-chaining": "npm:^7.0.0" - "@babel/plugin-transform-arrow-functions": "npm:^7.0.0" - "@babel/plugin-transform-async-generator-functions": "npm:^7.24.3" - "@babel/plugin-transform-async-to-generator": "npm:^7.20.0" - "@babel/plugin-transform-block-scoping": "npm:^7.0.0" - "@babel/plugin-transform-class-properties": "npm:^7.24.1" - "@babel/plugin-transform-classes": "npm:^7.0.0" - "@babel/plugin-transform-computed-properties": "npm:^7.0.0" - "@babel/plugin-transform-destructuring": "npm:^7.20.0" - "@babel/plugin-transform-flow-strip-types": "npm:^7.20.0" - "@babel/plugin-transform-for-of": "npm:^7.0.0" - "@babel/plugin-transform-function-name": "npm:^7.0.0" - "@babel/plugin-transform-literals": "npm:^7.0.0" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.0.0" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.0.0" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.5" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.5" - "@babel/plugin-transform-parameters": "npm:^7.0.0" - "@babel/plugin-transform-private-methods": "npm:^7.22.5" - "@babel/plugin-transform-private-property-in-object": "npm:^7.22.11" - "@babel/plugin-transform-react-display-name": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx-self": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx-source": "npm:^7.0.0" - "@babel/plugin-transform-regenerator": "npm:^7.20.0" - "@babel/plugin-transform-runtime": "npm:^7.0.0" - "@babel/plugin-transform-shorthand-properties": "npm:^7.0.0" - "@babel/plugin-transform-spread": "npm:^7.0.0" - "@babel/plugin-transform-sticky-regex": "npm:^7.0.0" - "@babel/plugin-transform-typescript": "npm:^7.5.0" - "@babel/plugin-transform-unicode-regex": "npm:^7.0.0" - "@babel/template": "npm:^7.0.0" - "@react-native/babel-plugin-codegen": "npm:0.75.1" + "@babel/core": "npm:^7.25.2" + "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.0" + "@babel/plugin-transform-class-properties": "npm:^7.25.4" + "@babel/plugin-transform-classes": "npm:^7.25.4" + "@babel/plugin-transform-computed-properties": "npm:^7.24.7" + "@babel/plugin-transform-destructuring": "npm:^7.24.8" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" + "@babel/plugin-transform-for-of": "npm:^7.24.7" + "@babel/plugin-transform-function-name": "npm:^7.25.1" + "@babel/plugin-transform-literals": "npm:^7.25.2" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" + "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/plugin-transform-private-methods": "npm:^7.24.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" + "@babel/plugin-transform-react-display-name": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/plugin-transform-react-jsx-self": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx-source": "npm:^7.24.7" + "@babel/plugin-transform-regenerator": "npm:^7.24.7" + "@babel/plugin-transform-runtime": "npm:^7.24.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" + "@babel/plugin-transform-spread": "npm:^7.24.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" + "@babel/plugin-transform-typescript": "npm:^7.25.2" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" + "@babel/template": "npm:^7.25.0" + "@react-native/babel-plugin-codegen": "npm:0.76.0-rc.6" + babel-plugin-syntax-hermes-parser: "npm:^0.23.1" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/87465588e2f83b72d2fc72698ee50f017ff9e0cade429ae8197bfe1f184abe1b544dc83a726b94308dab90eb258b1296fc1188b1a5c64411a68d9915da30de36 + checksum: 10c0/8d7d0eaf9d44c7b797306f040200644e2bcb324b0256e07a859143b14398a3be8b75c79871def21e57d4628268d4adaec11a12cd5d37090f2ebe2897341232c8 languageName: node linkType: hard -"@react-native/codegen@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/codegen@npm:0.75.1" +"@react-native/codegen@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/codegen@npm:0.76.0-rc.6" dependencies: - "@babel/parser": "npm:^7.20.0" + "@babel/parser": "npm:^7.25.3" glob: "npm:^7.1.1" - hermes-parser: "npm:0.22.0" + hermes-parser: "npm:0.23.1" invariant: "npm:^2.2.4" jscodeshift: "npm:^0.14.0" mkdirp: "npm:^0.5.1" nullthrows: "npm:^1.1.1" + yargs: "npm:^17.6.2" peerDependencies: "@babel/preset-env": ^7.1.6 - checksum: 10c0/6d00e4a679114109881aac1e61f770aba53e799edc03f9daf9932a48c5c359b55d32d9d7e387f67107df5f43d77dd89daaca6fed66a3ff8daf79e824a758209d + checksum: 10c0/4f806b77037758040894f88b4db78c6c1600e9e5cbfa7e87a5e369a9b33f10594840d800486ec23e4f93ff0a6ef168d391c85f7ed7e6fab8f6bccb65e1a636d3 languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/community-cli-plugin@npm:0.75.1" +"@react-native/community-cli-plugin@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/community-cli-plugin@npm:0.76.0-rc.6" dependencies: - "@react-native-community/cli-server-api": "npm:14.0.0-alpha.11" - "@react-native-community/cli-tools": "npm:14.0.0-alpha.11" - "@react-native/dev-middleware": "npm:0.75.1" - "@react-native/metro-babel-transformer": "npm:0.75.1" + "@react-native/dev-middleware": "npm:0.76.0-rc.6" + "@react-native/metro-babel-transformer": "npm:0.76.0-rc.6" chalk: "npm:^4.0.0" execa: "npm:^5.1.1" - metro: "npm:^0.80.3" - metro-config: "npm:^0.80.3" - metro-core: "npm:^0.80.3" + invariant: "npm:^2.2.4" + metro: "npm:^0.81.0" + metro-config: "npm:^0.81.0" + metro-core: "npm:^0.81.0" node-fetch: "npm:^2.2.0" - querystring: "npm:^0.2.1" readline: "npm:^1.3.0" - checksum: 10c0/3dea4f033207ccc46dfd95484a95726ef97d941ac32ed27e13e923865624a6de463f8916b457ff4715efa09c50d3878595dacdd5eb5267ab375b840ad33b20c3 + peerDependencies: + "@react-native-community/cli-server-api": "*" + peerDependenciesMeta: + "@react-native-community/cli-server-api": + optional: true + checksum: 10c0/f9282893c10a95ff770a57568d5ef56af8993ef93d1f1008423616f76f0ec486f784779db185619107883eb3d985085f22006478dd35704f097ea52c399288d9 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/debugger-frontend@npm:0.75.1" - checksum: 10c0/73e68cae320ab50608b39964318c44af438ae4c7973db5f45b898970482cb05cdd7874ccc7896d70b12e039a1d5e3738dcb66bbe564de6057b478a657d9cc7bb +"@react-native/debugger-frontend@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/debugger-frontend@npm:0.76.0-rc.6" + checksum: 10c0/f7165edf061faa9cc4f70b5b537f84489f6cecfe6e11995a32fac1e699db0eaef9c6a8756596a2e0ee2d07269b3d5eaadc1e680b2d61a60162b2663e30c0cba6 languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/dev-middleware@npm:0.75.1" +"@react-native/dev-middleware@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/dev-middleware@npm:0.76.0-rc.6" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.75.1" + "@react-native/debugger-frontend": "npm:0.76.0-rc.6" chrome-launcher: "npm:^0.15.2" chromium-edge-launcher: "npm:^0.2.0" connect: "npm:^3.6.5" debug: "npm:^2.2.0" - node-fetch: "npm:^2.2.0" nullthrows: "npm:^1.1.1" open: "npm:^7.0.3" selfsigned: "npm:^2.4.1" serve-static: "npm:^1.13.1" - ws: "npm:^6.2.2" - checksum: 10c0/21c95dce8b1d65f22ccd03fb04054150e8cbe83b0093b96cdd3884213fff1fc95fefc033188c92d65955afb5c717c2fe6106cc1248d532c85185cc22c3826fb1 + ws: "npm:^6.2.3" + checksum: 10c0/e2e61b8bbfef3dd4e1d7e18019884c63e5880f208b43b365a17a8acd0e4787fb0cae47a925de41ff2f7d48fd577d44ec00f6262f854e67c769a8e55382a11db9 languageName: node linkType: hard "@react-native/eslint-plugin@npm:^0.74.0 || ^0.73.0 || ^0.72.0": - version: 0.74.87 - resolution: "@react-native/eslint-plugin@npm:0.74.87" - checksum: 10c0/590a3277dff82e7770bc52f040dd2f126b37d48ca791097096a0c7e0688f46b776dbe9ccd3ecd57d7e6085117233b426ba9d90eb285144f03d74e3898699b441 + version: 0.74.88 + resolution: "@react-native/eslint-plugin@npm:0.74.88" + checksum: 10c0/5faa37461ab39ca6ba93ff6d6ac4069aac8773f57b0684b8f71283769a7b6782875126d938fc3ba003bc68ac6514defafbbe7a157358901a833ceb3807745514 languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/gradle-plugin@npm:0.75.1" - checksum: 10c0/c7b09db8abdc5c23ed8beb905b8d3208e25b71f479acf1dfd80deace39b140ab3c8dd10375927abb77c8aca7f51b0aa7f0677824f729cca2152f5d13335eefb3 +"@react-native/gradle-plugin@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/gradle-plugin@npm:0.76.0-rc.6" + checksum: 10c0/709fca442b5f361f17f4e11b6933d6ff3f2218068fd362f4dd869a6561b18a42d2fdc6697c5bdebd78481a03a5859b394f47256f89ffbc0ae3194fcc33b7f5c3 languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/js-polyfills@npm:0.75.1" - checksum: 10c0/931f77705c4080bf42627ac50fb30c1192f8df7bede46839dfaaa1fa6fa363f70fffe0b0e68f450d0fe15140ccf21fb2ac3977447c1ccfc1593e16c40f35543e +"@react-native/js-polyfills@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/js-polyfills@npm:0.76.0-rc.6" + checksum: 10c0/1f52ea386de0ee00bad058dd3036a7f7470518720bbc2d1d0041ecf48ace7b2906bd7611c448c433592866a3373b84a65f40457506c54d40a73a1e9e947c04da languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/metro-babel-transformer@npm:0.75.1" +"@react-native/metro-babel-transformer@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/metro-babel-transformer@npm:0.76.0-rc.6" dependencies: - "@babel/core": "npm:^7.20.0" - "@react-native/babel-preset": "npm:0.75.1" - hermes-parser: "npm:0.22.0" + "@babel/core": "npm:^7.25.2" + "@react-native/babel-preset": "npm:0.76.0-rc.6" + hermes-parser: "npm:0.23.1" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10c0/fc806284c0e0991fe682fa179375acad5451ab070a8f3593d0ba6b37d7214223b17f5aed15da83d36375971bfe0619b314f6b690e5e8f0d5935e4d4acfcdbf59 + checksum: 10c0/1b3d927f5abc930851f11811a3204c450918cd7ae64b560c35c6015333e8b5b9d2f611d5deb1897c9c1b006103d9032bf13872b7885dd64786a6dd9419868e0a languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/normalize-colors@npm:0.75.1" - checksum: 10c0/a88df13bd5c4a117f594611745a65f5b448e69fbfbb5266945ed387e49fe4fab96ca562139fd58d7138bd1b830bfb13f24e07087ec86764c7a5a35a72540b13c +"@react-native/normalize-colors@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/normalize-colors@npm:0.76.0-rc.6" + checksum: 10c0/648f1aef7ed9b3036f05664948bf0fc95aba11ba8412a188891427cc45a0198d523f1bdecbb41e195a1f2806d86eed62e3bd29a2aec288d94513c5e390d07e12 languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.75.1": - version: 0.75.1 - resolution: "@react-native/virtualized-lists@npm:0.75.1" +"@react-native/virtualized-lists@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "@react-native/virtualized-lists@npm:0.76.0-rc.6" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" @@ -2763,21 +2504,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/aef83991e8cc8b315be7083103102d044ed9fff474e0d412c31c48ee446474b99b39637f0c13f161d7991e80a2f785bc36193366c3d77e164c94b416eb6577e1 + checksum: 10c0/1e87281b87105d6d8198644dc7b0eefe9996dc9c29f4ae585e87a2e66344f3874115dd7ab1fe2625643529ecb43b4b1e8b0af5bcb69b878c227273147863e07c languageName: node linkType: hard "@release-it/conventional-changelog@npm:^8.0.1": - version: 8.0.1 - resolution: "@release-it/conventional-changelog@npm:8.0.1" + version: 8.0.2 + resolution: "@release-it/conventional-changelog@npm:8.0.2" dependencies: concat-stream: "npm:^2.0.0" conventional-changelog: "npm:^5.1.0" conventional-recommended-bump: "npm:^9.0.0" - semver: "npm:^7.5.4" + git-semver-tags: "npm:^8.0.0" + semver: "npm:^7.6.3" peerDependencies: release-it: ^17.0.0 - checksum: 10c0/b6057038b91c665129e37af1d297dad68abbe2095cc10e9d507be6dcc1432bc6b7545c1bbdf6eab4c35eeafca223c5a43a567ba1cdfdd774aa62bb6220c5ebe6 + checksum: 10c0/55cef6179a6874865ee393e1e1445af1b5bf46bf76c6fe2e7942f2dc95ca0fcda7be8b314e84e0fd9238011b2fecb104158ae83f536772a1ad531f22618bfabe languageName: node linkType: hard @@ -2788,26 +2530,10 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b languageName: node linkType: hard @@ -2818,13 +2544,6 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/is@npm:^5.2.0": - version: 5.6.0 - resolution: "@sindresorhus/is@npm:5.6.0" - checksum: 10c0/66727344d0c92edde5760b5fd1f8092b717f2298a162a5f7f29e4953e001479927402d9d387e245fb9dc7d3b37c72e335e93ed5875edfc5203c53be8ecba1b52 - languageName: node - linkType: hard - "@sindresorhus/merge-streams@npm:^2.1.0": version: 2.3.0 resolution: "@sindresorhus/merge-streams@npm:2.3.0" @@ -2850,15 +2569,6 @@ __metadata: languageName: node linkType: hard -"@szmarczak/http-timer@npm:^5.0.1": - version: 5.0.1 - resolution: "@szmarczak/http-timer@npm:5.0.1" - dependencies: - defer-to-connect: "npm:^2.0.1" - checksum: 10c0/4629d2fbb2ea67c2e9dc03af235c0991c79ebdddcbc19aed5d5732fb29ce01c13331e9b1a491584b9069bd6ecde6581dcbf871f11b7eefdebbab34de6cf2197e - languageName: node - linkType: hard - "@testing-library/react-native@workspace:.": version: 0.0.0-use.local resolution: "@testing-library/react-native@workspace:." @@ -2887,7 +2597,7 @@ __metadata: prettier: "npm:^2.8.8" pretty-format: "npm:^29.7.0" react: "npm:18.3.1" - react-native: "npm:0.75.1" + react-native: "npm:0.76.0-rc.6" react-test-renderer: "npm:18.3.1" redent: "npm:^3.0.0" release-it: "npm:^17.6.0" @@ -2961,13 +2671,6 @@ __metadata: languageName: node linkType: hard -"@types/http-cache-semantics@npm:^4.0.2": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 - languageName: node - linkType: hard - "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -2994,12 +2697,12 @@ __metadata: linkType: hard "@types/jest@npm:^29.5.12": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" + version: 29.5.13 + resolution: "@types/jest@npm:29.5.13" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f + checksum: 10c0/9c31af0b155387b9860908830de63c6b79011d7c87c8b61b39da124e26e55423dd51b006749aafe4f0ef3a065016619a1f93ef4b055157d43727f448e67824b7 languageName: node linkType: hard @@ -3020,11 +2723,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.2.0 - resolution: "@types/node@npm:22.2.0" + version: 22.7.6 + resolution: "@types/node@npm:22.7.6" dependencies: - undici-types: "npm:~6.13.0" - checksum: 10c0/c17900b34faecfec204f72970bd658d0c217aaf739c1bf7690c969465b6b26b77a8be1cd9ba735aadbd1dd20b5c3e4f406ec33528bf7c6eec90744886c5d5608 + undici-types: "npm:~6.19.2" + checksum: 10c0/d4406a63afce981c363fb1d1954aaf1759ad2d487c0833ebf667565ea4e45ff217d6fab4b5343badbdeccdf9d2e4a0841d633e0c929ceabcb33c288663dd0c73 languageName: node linkType: hard @@ -3036,9 +2739,9 @@ __metadata: linkType: hard "@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 + version: 15.7.13 + resolution: "@types/prop-types@npm:15.7.13" + checksum: 10c0/1b20fc67281902c6743379960247bc161f3f0406ffc0df8e7058745a85ea1538612109db0406290512947f9632fe9e10e7337bf0ce6338a91d6c948df16a7c61 languageName: node linkType: hard @@ -3052,12 +2755,19 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:^18.3.3": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" + version: 18.3.11 + resolution: "@types/react@npm:18.3.11" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 + checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.5": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa languageName: node linkType: hard @@ -3075,15 +2785,6 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^15.0.0": - version: 15.0.19 - resolution: "@types/yargs@npm:15.0.19" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/9fe9b8645304a628006cbba2d1990fb015e2727274d0e3853f321a379a1242d1da2c15d2f56cff0d4313ae94f0383ccf834c3bded9fb3589608aefb3432fcf00 - languageName: node - linkType: hard - "@types/yargs@npm:^17.0.8": version: 17.0.33 resolution: "@types/yargs@npm:17.0.33" @@ -3094,14 +2795,14 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.0.1": - version: 8.2.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.2.0" + version: 8.10.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.10.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/type-utils": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/type-utils": "npm:8.10.0" + "@typescript-eslint/utils": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -3112,68 +2813,68 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/17243ee1b34d78723fe3e1a308c64490eee49bd83301e3abe8a6f05bce05434d70f56caf75756b8cffa051154dc89cdf485114ede6781fc087f0aaca37a026ec + checksum: 10c0/4b77ba9c865a2a14e238cd330b5901f0274b8ce1c13324fccd0339b8eea82a50a4709394c903fd8cd5bd0d3aebace0761ff9a4a19fa20b00bb61349b7671c035 languageName: node linkType: hard "@typescript-eslint/parser@npm:^8.0.1": - version: 8.2.0 - resolution: "@typescript-eslint/parser@npm:8.2.0" + version: 8.10.0 + resolution: "@typescript-eslint/parser@npm:8.10.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/bb4ebc0a40b5e68c5287de17af3acf3045e2ef7886ebee8d1c4a6fd07bd6d55e9fc12bc7b89d07d15a2a4182cbf6380b50ad148d4a37e93d2e54930aa386a3bf + checksum: 10c0/7becb2457c085c239838d301796074b790f46dd38c9fbc14ec1dec8e993c7115cd8a66cdc07983c3a68a2dd92e24e8acc49d69a4ebcc29e9869957eb52d1cb74 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/scope-manager@npm:8.2.0" +"@typescript-eslint/scope-manager@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/scope-manager@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" - checksum: 10c0/8026e11d9cfbb674c62eb38929d08d42c4a373f3463c2591ed6603c496d3d00321f553edce47f1d7504b55fcbe9664ea2bdcaa3131c8c834bde1b1f07497af5d + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" + checksum: 10c0/b8bb8635c4d6c00a3578d6265e3ee0f5d96d0c9dee534ed588aa411c3f4497fd71cce730c3ae7571e52453d955b191bc9edcc47c9af21a20c90e9a20f2371108 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/type-utils@npm:8.2.0" +"@typescript-eslint/type-utils@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/type-utils@npm:8.10.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" + "@typescript-eslint/utils": "npm:8.10.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/5ff387d39fec3ba47af167ca3e48a200f87e4b97b010170245f495cd3d2e30fd0a5b2a9b27aae2ae929c99f92acabcd07315944dc6f9de963bad1c61ba9ea53c + checksum: 10c0/1af8fce8394279e6ac7bcef449a132072ee36e374c8d557564246ffe7150230844901ca0305e29525bf37c87010e03bf8bedec76fccbfe1e41931cb4f274e208 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/types@npm:8.2.0" - checksum: 10c0/2ffba0d0183dfdd2f859fb414013d17d009f5e886664823f973aaa1145243fceb52cfe26aa7c50208af7833b3703b7788337f1aab136c9a4eb36d905493847d1 +"@typescript-eslint/types@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/types@npm:8.10.0" + checksum: 10c0/f27dd43c8383e02e914a254257627e393dfc0f08b0f74a253c106813ae361f090271b2f3f2ef588fa3ca1329897d873da595bb5641fe8e3091b25eddca24b5d2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.2.0" +"@typescript-eslint/typescript-estree@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/visitor-keys": "npm:8.10.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" @@ -3181,31 +2882,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/f49aabc78e396908307394812fdebc4015ca407983efc361be106d3e2d58971dec4a1a725362fcfbd637f3d8150baa0735eb5929fd170172b7f2a65e06eeb3d2 + checksum: 10c0/535a740fe25be0e28fe68c41e3264273d1e5169c9f938e08cc0e3415c357726f43efa44621960108c318fc3305c425d29f3223b6e731d44d67f84058a8947304 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.2.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.2.0 - resolution: "@typescript-eslint/utils@npm:8.2.0" +"@typescript-eslint/utils@npm:8.10.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.10.0 + resolution: "@typescript-eslint/utils@npm:8.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/typescript-estree": "npm:8.10.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10c0/0f3d5cf804c2863ea9432ef76bfdb1cadbb244cbf8a64ac77c0e559c012a1e98382c4535354e54696c564c0abd9c10dffc78d38972c97035e963798d360d1830 + checksum: 10c0/a21a2933517176abd00fcd5d8d80023e35dc3d89d5746bbac43790b4e984ab1f371117db08048bce7f42d54c64f4e0e35161149f8f34fd25a27bff9d1110fd16 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.2.0" +"@typescript-eslint/visitor-keys@npm:8.10.0": + version: 8.10.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.10.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.10.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/788633bd2905c88ea2cf20d9e317a2bc992a70fcf725cb54bbe55a17c42138a6fe877c89fbda41a733e0e8ad6dce893163bada60509a1b856321f4329a316973 + checksum: 10c0/14721c4ac939640d5fd1ee1b6eeb07604b11a6017e319e21dcc71e7aac2992341fc7ae1992d977bad4433b6a1d0d1c0c279e6927316b26245f6e333f922fa458 languageName: node linkType: hard @@ -3244,7 +2945,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.7": +"accepts@npm:^1.3.7": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -3264,11 +2965,11 @@ __metadata: linkType: hard "acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" + version: 8.13.0 + resolution: "acorn@npm:8.13.0" bin: acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + checksum: 10c0/f35dd53d68177c90699f4c37d0bb205b8abe036d955d0eb011ddb7f14a81e6fd0f18893731c457c1b5bd96754683f4c3d80d9a5585ddecaa53cdf84e0b3d68f7 languageName: node linkType: hard @@ -3335,24 +3036,6 @@ __metadata: languageName: node linkType: hard -"ansi-fragments@npm:^0.2.1": - version: 0.2.1 - resolution: "ansi-fragments@npm:0.2.1" - dependencies: - colorette: "npm:^1.0.7" - slice-ansi: "npm:^2.0.0" - strip-ansi: "npm:^5.0.0" - checksum: 10c0/44e97e558ca2f0b2ca895bfd6ebebeb2e77d674d2e4198ac2d3a05b690193fa35fd185db6e16b92dd0ee854299ea8b4387a99e4155ea62bc8ad4c42154542fd4 - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.1 - resolution: "ansi-regex@npm:4.1.1" - checksum: 10c0/d36d34234d077e8770169d980fed7b2f3724bfa2a01da150ccd75ef9707c80e883d27cdf7a0eac2f145ac1d10a785a8a855cffd05b85f778629a0db62e7033da - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -3361,13 +3044,13 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -3392,7 +3075,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": +"ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": version: 6.2.1 resolution: "ansi-styles@npm:6.2.1" checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c @@ -3409,13 +3092,6 @@ __metadata: languageName: node linkType: hard -"appdirsjs@npm:^1.2.4": - version: 1.2.7 - resolution: "appdirsjs@npm:1.2.7" - checksum: 10c0/79dd8d7a764cdde2b47efc4383e054814be917ba0cd661ee324bdf3fd11542834548316faea31344f96a7ebc898b5f89c11d1418f825a1d40c396bf1ecb0902b - languageName: node - linkType: hard - "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -3449,7 +3125,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -3457,16 +3133,9 @@ __metadata: define-properties: "npm:^1.2.1" es-abstract: "npm:^1.23.2" es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - is-string: "npm:^1.0.7" - checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + get-intrinsic: "npm:^1.2.4" + is-string: "npm:^1.0.7" + checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 languageName: node linkType: hard @@ -3484,7 +3153,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3": +"array.prototype.findlastindex@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlastindex@npm:1.2.5" dependencies: @@ -3583,13 +3252,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "astral-regex@npm:1.0.0" - checksum: 10c0/ca460207a19d84c65671e1a85940101522d42f31a450cdb8f93b3464e6daeaf4b58a362826a6c11c57e6cd1976403d197abb0447cfc2087993a29b35c6d63b63 - languageName: node - linkType: hard - "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -3606,6 +3268,16 @@ __metadata: languageName: node linkType: hard +"atomically@npm:^2.0.3": + version: 2.0.3 + resolution: "atomically@npm:2.0.3" + dependencies: + stubborn-fs: "npm:^1.2.5" + when-exit: "npm:^2.1.1" + checksum: 10c0/b9008a74f590d29be947f34b7583dab32034335fedfe340ac3e6458e2e315c770d8af6f15cd3947214702c523d91b5f989498348b1ab49c197bd645dc87d7a94 + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -3679,7 +3351,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.1, babel-plugin-polyfill-corejs3@npm:^0.10.4": +"babel-plugin-polyfill-corejs3@npm:^0.10.6": version: 0.10.6 resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" dependencies: @@ -3702,6 +3374,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:^0.23.1": + version: 0.23.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.23.1" + dependencies: + hermes-parser: "npm:0.23.1" + checksum: 10c0/538ab28721836a6de004d63e3890b481b7ff3eeccf556943eb40619bf9363dc5239e3508881167f83d849458fe88d7696d49388e99e0df59543fdfb7681c87b3 + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -3712,24 +3393,27 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" + version: 1.1.0 + resolution: "babel-preset-current-node-syntax@npm:1.1.0" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + checksum: 10c0/0b838d4412e3322cb4436f246e24e9c00bebcedfd8f00a2f51489db683bd35406bbd55a700759c28d26959c6e03f84dd6a1426f576f440267c1d7a73c5717281 languageName: node linkType: hard @@ -3791,19 +3475,19 @@ __metadata: languageName: node linkType: hard -"boxen@npm:^7.1.1": - version: 7.1.1 - resolution: "boxen@npm:7.1.1" +"boxen@npm:^8.0.1": + version: 8.0.1 + resolution: "boxen@npm:8.0.1" dependencies: ansi-align: "npm:^3.0.1" - camelcase: "npm:^7.0.1" - chalk: "npm:^5.2.0" + camelcase: "npm:^8.0.0" + chalk: "npm:^5.3.0" cli-boxes: "npm:^3.0.0" - string-width: "npm:^5.1.2" - type-fest: "npm:^2.13.0" - widest-line: "npm:^4.0.1" - wrap-ansi: "npm:^8.1.0" - checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 + string-width: "npm:^7.2.0" + type-fest: "npm:^4.21.0" + widest-line: "npm:^5.0.0" + wrap-ansi: "npm:^9.0.0" + checksum: 10c0/8c54f9797bf59eec0b44c9043d9cb5d5b2783dc673e4650235e43a5155c43334e78ec189fd410cf92056c1054aee3758279809deed115b49e68f1a1c6b3faa32 languageName: node linkType: hard @@ -3835,17 +3519,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" +"browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": + version: 4.24.0 + resolution: "browserslist@npm:4.24.0" dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" + caniuse-lite: "npm:^1.0.30001663" + electron-to-chromium: "npm:^1.5.28" node-releases: "npm:^2.0.18" update-browserslist-db: "npm:^1.1.0" bin: browserslist: cli.js - checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 + checksum: 10c0/95e76ad522753c4c470427f6e3c8a4bb5478ff448841e22b3d3e53f89ecaf17b6984666d6c7e715c370f1e7fa0cf684f42e34e554236a8b2fab38ea76b9e4c52 languageName: node linkType: hard @@ -3884,13 +3568,6 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 - languageName: node - linkType: hard - "cacache@npm:^18.0.0": version: 18.0.4 resolution: "cacache@npm:18.0.4" @@ -3911,28 +3588,6 @@ __metadata: languageName: node linkType: hard -"cacheable-lookup@npm:^7.0.0": - version: 7.0.0 - resolution: "cacheable-lookup@npm:7.0.0" - checksum: 10c0/63a9c144c5b45cb5549251e3ea774c04d63063b29e469f7584171d059d3a88f650f47869a974e2d07de62116463d742c287a81a625e791539d987115cb081635 - languageName: node - linkType: hard - -"cacheable-request@npm:^10.2.8": - version: 10.2.14 - resolution: "cacheable-request@npm:10.2.14" - dependencies: - "@types/http-cache-semantics": "npm:^4.0.2" - get-stream: "npm:^6.0.1" - http-cache-semantics: "npm:^4.1.1" - keyv: "npm:^4.5.3" - mimic-response: "npm:^4.0.0" - normalize-url: "npm:^8.0.0" - responselike: "npm:^3.0.0" - checksum: 10c0/41b6658db369f20c03128227ecd219ca7ac52a9d24fc0f499cc9aa5d40c097b48b73553504cebd137024d957c0ddb5b67cf3ac1439b136667f3586257763f88d - languageName: node - linkType: hard - "call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -3978,7 +3633,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": +"camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 @@ -3992,21 +3647,21 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^7.0.1": - version: 7.0.1 - resolution: "camelcase@npm:7.0.1" - checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd +"camelcase@npm:^8.0.0": + version: 8.0.0 + resolution: "camelcase@npm:8.0.0" + checksum: 10c0/56c5fe072f0523c9908cdaac21d4a3b3fb0f608fb2e9ba90a60e792b95dd3bb3d1f3523873ab17d86d146e94171305f73ef619e2f538bd759675bc4a14b4bff3 languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001651 - resolution: "caniuse-lite@npm:1.0.30001651" - checksum: 10c0/7821278952a6dbd17358e5d08083d258f092e2a530f5bc1840657cb140fbbc5ec44293bc888258c44a18a9570cde149ed05819ac8320b9710cf22f699891e6ad +"caniuse-lite@npm:^1.0.30001663": + version: 1.0.30001669 + resolution: "caniuse-lite@npm:1.0.30001669" + checksum: 10c0/f125f23440d3dbb6c25ffb8d55f4ce48af36a84d0932b152b3b74f143a4170cbe92e02b0a9676209c86609bf7bf34119ff10cc2bc7c1b7ea40e936cc16598408 languageName: node linkType: hard -"chalk@npm:5.3.0, chalk@npm:^5.2.0, chalk@npm:^5.3.0": +"chalk@npm:5.3.0, chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 @@ -4048,7 +3703,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.0": +"chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" dependencies: @@ -4116,10 +3771,17 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^4.0.0": + version: 4.0.0 + resolution: "ci-info@npm:4.0.0" + checksum: 10c0/ecc003e5b60580bd081d83dd61d398ddb8607537f916313e40af4667f9c92a1243bd8e8a591a5aa78e418afec245dbe8e90a0e26e39ca0825129a99b978dd3f9 + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.0.0": - version: 1.3.1 - resolution: "cjs-module-lexer@npm:1.3.1" - checksum: 10c0/cd98fbf3c7f4272fb0ebf71d08d0c54bc75ce0e30b9d186114e15b4ba791f3d310af65a339eea2a0318599af2818cdd8886d353b43dfab94468f72987397ad16 + version: 1.4.1 + resolution: "cjs-module-lexer@npm:1.4.1" + checksum: 10c0/5a7d8279629c9ba8ccf38078c2fed75b7737973ced22b9b5a54180efa57fb2fe2bb7bec6aec55e3b8f3f5044f5d7b240347ad9bd285e7c3d0ee5b0a1d0504dfc languageName: node linkType: hard @@ -4146,12 +3808,12 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "cli-cursor@npm:4.0.0" +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" dependencies: - restore-cursor: "npm:^4.0.0" - checksum: 10c0/e776e8c3c6727300d0539b0d25160b2bb56aed1a63942753ba1826b012f337a6f4b7ace3548402e4f2f13b5e16bfd751be672c44b203205e7eca8be94afec42c + restore-cursor: "npm:^5.0.0" + checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 languageName: node linkType: hard @@ -4169,17 +3831,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 10c0/35229b1bb48647e882104cac374c9a18e34bbf0bace0e2cf03000326b6ca3050d6b59545d91e17bfe3705f4a0e2988787aa5cde6331bf5cbbf0164732cef6492 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -4255,17 +3906,10 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^1.0.7": - version: 1.4.0 - resolution: "colorette@npm:1.4.0" - checksum: 10c0/4955c8f7daafca8ae7081d672e4bd89d553bd5782b5846d5a7e05effe93c2f15f7e9c0cb46f341b59f579a39fcf436241ff79594899d75d5f3460c03d607fe9e - languageName: node - linkType: hard - -"command-exists@npm:^1.2.8": - version: 1.2.9 - resolution: "command-exists@npm:1.2.9" - checksum: 10c0/75040240062de46cd6cd43e6b3032a8b0494525c89d3962e280dde665103f8cc304a8b313a5aa541b91da2f5a9af75c5959dc3a77893a2726407a5e9a0234c16 +"commander@npm:^12.0.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 languageName: node linkType: hard @@ -4283,13 +3927,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.4.1": - version: 9.5.0 - resolution: "commander@npm:9.5.0" - checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -4307,30 +3944,6 @@ __metadata: languageName: node linkType: hard -"compressible@npm:~2.0.16": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: "npm:>= 1.43.0 < 2" - checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 - languageName: node - linkType: hard - -"compression@npm:^1.7.1": - version: 1.7.4 - resolution: "compression@npm:1.7.4" - dependencies: - accepts: "npm:~1.3.5" - bytes: "npm:3.0.0" - compressible: "npm:~2.0.16" - debug: "npm:2.6.9" - on-headers: "npm:~1.0.2" - safe-buffer: "npm:5.1.2" - vary: "npm:~1.1.2" - checksum: 10c0/138db836202a406d8a14156a5564fb1700632a76b6e7d1546939472895a5304f2b23c80d7a22bf44c767e87a26e070dbc342ea63bb45ee9c863354fa5556bbbc - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -4360,16 +3973,15 @@ __metadata: languageName: node linkType: hard -"configstore@npm:^6.0.0": - version: 6.0.0 - resolution: "configstore@npm:6.0.0" +"configstore@npm:^7.0.0": + version: 7.0.0 + resolution: "configstore@npm:7.0.0" dependencies: - dot-prop: "npm:^6.0.1" - graceful-fs: "npm:^4.2.6" - unique-string: "npm:^3.0.0" - write-file-atomic: "npm:^3.0.3" - xdg-basedir: "npm:^5.0.1" - checksum: 10c0/6681a96038ab3e0397cbdf55e6e1624ac3dfa3afe955e219f683df060188a418bda043c9114a59a337e7aec9562b0a0c838ed7db24289e6d0c266bc8313b9580 + atomically: "npm:^2.0.3" + dot-prop: "npm:^9.0.0" + graceful-fs: "npm:^4.2.11" + xdg-basedir: "npm:^5.1.0" + checksum: 10c0/46639ddcebe94e58ab903d1bcfaddf297585469ee11fb2900975531cf6e59f495fa1324bf594d6bf13c5daf02e1110e9f0634caecc11203c52283ff26e2a4d8b languageName: node linkType: hard @@ -4558,12 +4170,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": - version: 3.38.0 - resolution: "core-js-compat@npm:3.38.0" +"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": + version: 3.38.1 + resolution: "core-js-compat@npm:3.38.1" dependencies: browserslist: "npm:^4.23.3" - checksum: 10c0/9d653a448b8a491034358d2f052e63dda86f75fb65646e2d313a938212470ba1c2f5a83bf31cc583d6c87a9e8d7b0d49458447cab2ff36c4caa097ae381de336 + checksum: 10c0/d8bc8a35591fc5fbf3e376d793f298ec41eb452619c7ef9de4ea59b74be06e9fda799e0dcbf9ba59880dae87e3b41fb191d744ffc988315642a1272bb9442b31 languageName: node linkType: hard @@ -4574,7 +4186,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:9.0.0, cosmiconfig@npm:^9.0.0": +"cosmiconfig@npm:9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" dependencies: @@ -4631,15 +4243,6 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" - dependencies: - type-fest: "npm:^1.0.1" - checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 - languageName: node - linkType: hard - "csstype@npm:^3.0.2": version: 3.1.3 resolution: "csstype@npm:3.1.3" @@ -4654,13 +4257,6 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b - languageName: node - linkType: hard - "data-uri-to-buffer@npm:^6.0.2": version: 6.0.2 resolution: "data-uri-to-buffer@npm:6.0.2" @@ -4701,13 +4297,6 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.8.15": - version: 1.11.12 - resolution: "dayjs@npm:1.11.12" - checksum: 10c0/9673d37f3f9ad8a91caaeae9b3fea9a0010c81c7f58599fb9d860bc3359b86632fbff8eb7dddc86c2acaab01c5e6860bc672952f17b58c9286140c52b077c8e4 - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -4718,14 +4307,14 @@ __metadata: linkType: hard "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.6 - resolution: "debug@npm:4.3.6" + version: 4.3.7 + resolution: "debug@npm:4.3.7" dependencies: - ms: "npm:2.1.2" + ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b languageName: node linkType: hard @@ -4738,22 +4327,6 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - "dedent@npm:^1.0.0": version: 1.5.3 resolution: "dedent@npm:1.5.3" @@ -4780,7 +4353,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.0": +"deepmerge@npm:^4.2.2": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 @@ -4813,13 +4386,6 @@ __metadata: languageName: node linkType: hard -"defer-to-connect@npm:^2.0.1": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -4929,15 +4495,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -4965,12 +4522,12 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" +"dot-prop@npm:^9.0.0": + version: 9.0.0 + resolution: "dot-prop@npm:9.0.0" dependencies: - is-obj: "npm:^2.0.0" - checksum: 10c0/30e51ec6408978a6951b21e7bc4938aad01a86f2fdf779efe52330205c6bb8a8ea12f35925c2029d6dc9d1df22f916f32f828ce1e9b259b1371c580541c22b5a + type-fest: "npm:^4.18.2" + checksum: 10c0/4bac49a2f559156811862ac92813906f70529c50da918eaab81b38dd869743c667d578e183607f5ae11e8ae2a02e43e98e32c8a37bc4cae76b04d5b576e3112f languageName: node linkType: hard @@ -4988,10 +4545,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.4": - version: 1.5.6 - resolution: "electron-to-chromium@npm:1.5.6" - checksum: 10c0/1dfef4feaa9f4e5231b8b0697f1f55623eb2ffd263b50e6d4ff995a0927653997ba116640ae06786661f8d24c7b99fa6727c0796e9c60d748f473674d78ab31e +"electron-to-chromium@npm:^1.5.28": + version: 1.5.41 + resolution: "electron-to-chromium@npm:1.5.41" + checksum: 10c0/97b82383963029e6ed0bd7a71eb527f640c8cf658c9e43c776b0257b3c65e366590ac54135683a21e4474a156b8be78717d6e94d3c1def84b69f92bf48f2390f languageName: node linkType: hard @@ -5003,9 +4560,9 @@ __metadata: linkType: hard "emoji-regex@npm:^10.3.0": - version: 10.3.0 - resolution: "emoji-regex@npm:10.3.0" - checksum: 10c0/b4838e8dcdceb44cf47f59abe352c25ff4fe7857acaf5fb51097c427f6f75b44d052eb907a7a3b86f86bc4eae3a93f5c2b7460abe79c407307e6212d65c91163 + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d languageName: node linkType: hard @@ -5030,6 +4587,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5046,15 +4610,6 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:^7.13.0": - version: 7.13.0 - resolution: "envinfo@npm:7.13.0" - bin: - envinfo: dist/cli.js - checksum: 10c0/9c279213cbbb353b3171e8e333fd2ed564054abade08ab3d735fe136e10a0e14e0588e1ce77e6f01285f2462eaca945d64f0778be5ae3d9e82804943e36a4411 - languageName: node - linkType: hard - "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -5080,16 +4635,6 @@ __metadata: languageName: node linkType: hard -"errorhandler@npm:^1.5.1": - version: 1.5.1 - resolution: "errorhandler@npm:1.5.1" - dependencies: - accepts: "npm:~1.3.7" - escape-html: "npm:~1.0.3" - checksum: 10c0/58568c7eec3f4de5dc49e4385a50af66b76759b3463a86e4a85e05c4f7a5348f51d3d23af51c3a23eceef6278045d0a47d975da11bdaaf92d1d783dc677e980e - languageName: node - linkType: hard - "es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" @@ -5161,8 +4706,8 @@ __metadata: linkType: hard "es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" + version: 1.1.0 + resolution: "es-iterator-helpers@npm:1.1.0" dependencies: call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" @@ -5171,14 +4716,14 @@ __metadata: es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" + globalthis: "npm:^1.0.4" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.0.3" has-symbols: "npm:^1.0.3" internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" + iterator.prototype: "npm:^1.1.3" safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 + checksum: 10c0/84d6c240c7da6e62323b336cb1497781546dab16bebdbd879ccfdf588979712d3e941d41165b6c2ffce5a03a7b929d4e6131d3124d330da1a0e2bfa1da7cd99f languageName: node linkType: hard @@ -5222,10 +4767,10 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 languageName: node linkType: hard @@ -5304,15 +4849,15 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.8.0": - version: 2.8.1 - resolution: "eslint-module-utils@npm:2.8.1" +"eslint-module-utils@npm:^2.12.0": + version: 2.12.0 + resolution: "eslint-module-utils@npm:2.12.0" dependencies: debug: "npm:^3.2.7" peerDependenciesMeta: eslint: optional: true - checksum: 10c0/1aeeb97bf4b688d28de136ee57c824480c37691b40fa825c711a4caf85954e94b99c06ac639d7f1f6c1d69223bd21bcb991155b3e589488e958d5b83dfd0f882 + checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558 languageName: node linkType: hard @@ -5331,35 +4876,37 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.28.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" + version: 2.31.0 + resolution: "eslint-plugin-import@npm:2.31.0" dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" + "@rtsao/scc": "npm:^1.1.0" + array-includes: "npm:^3.1.8" + array.prototype.findlastindex: "npm:^1.2.5" array.prototype.flat: "npm:^1.3.2" array.prototype.flatmap: "npm:^1.3.2" debug: "npm:^3.2.7" doctrine: "npm:^2.1.0" eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" + eslint-module-utils: "npm:^2.12.0" + hasown: "npm:^2.0.2" + is-core-module: "npm:^2.15.1" is-glob: "npm:^4.0.3" minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" + object.fromentries: "npm:^2.0.8" + object.groupby: "npm:^1.0.3" + object.values: "npm:^1.2.0" semver: "npm:^6.3.1" + string.prototype.trimend: "npm:^1.0.8" tsconfig-paths: "npm:^3.15.0" peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: 10c0/e21d116ddd1900e091ad120b3eb68c5dd5437fe2c930f1211781cd38b246f090a6b74d5f3800b8255a0ed29782591521ad44eb21c5534960a8f1fb4040fd913a languageName: node linkType: hard "eslint-plugin-jest@npm:^28.7.0": - version: 28.8.0 - resolution: "eslint-plugin-jest@npm:28.8.0" + version: 28.8.3 + resolution: "eslint-plugin-jest@npm:28.8.3" dependencies: "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" peerDependencies: @@ -5371,7 +4918,7 @@ __metadata: optional: true jest: optional: true - checksum: 10c0/cb702701c20224d813b7d7515ed3fe4562b92cd4233db356b0948e0765a382a9887ae7dfd13191c2cabecbb4a6cbbd141f309618830b251c8f86a7f950e7f50b + checksum: 10c0/beacf85c2fbb39ef9b9839472a8a837cdbab6549b29abaff8999034ac41021e1f06d1779db3ea9d0f966be52e5daeacfd05c239d686370d8b8cb9c68d60e59b6 languageName: node linkType: hard @@ -5429,15 +4976,15 @@ __metadata: linkType: hard "eslint-plugin-react-native-a11y@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-plugin-react-native-a11y@npm:3.4.1" + version: 3.5.0 + resolution: "eslint-plugin-react-native-a11y@npm:3.5.0" dependencies: "@babel/runtime": "npm:^7.15.4" ast-types-flow: "npm:^0.0.7" jsx-ast-utils: "npm:^3.2.1" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/3d85c9f4098aa8b98e448f0fdd1045f50a85c7bdae09826656d6a1f7c5fd238839f7d57d38b09e96f77fa0c3e761c46d18ee1bba94fb84555a6dd1214ede7089 + checksum: 10c0/8733999fe1ea214332fc6ad79062a941b3e446519400cfe27d55afeb1b66aba6be5960ce32b61966dd7d0a262608c7f4182b926ea8c163e129785cc7fded42bb languageName: node linkType: hard @@ -5460,8 +5007,8 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.35.0": - version: 7.35.0 - resolution: "eslint-plugin-react@npm:7.35.0" + version: 7.37.1 + resolution: "eslint-plugin-react@npm:7.37.1" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -5483,7 +5030,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/eedcc33de4b2cda91d56ae517a4f771a0c76da9c1e26c95543969012871381e11d4d6cffdf6fa8423036585c289eb3500f3f93fb1d314fb2624e0aa1e463305e + checksum: 10c0/13cf55666f16d2ca45b14aad1b0e14741d1817679c86d20aff0bc1e802439a8541f40a42c4c8e3486ffb710f1bcc2f3e56697f2b5f724306a7fca174e1ad6433 languageName: node linkType: hard @@ -5529,14 +5076,14 @@ __metadata: linkType: hard "eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" "@ungap/structured-clone": "npm:^1.2.0" @@ -5572,7 +5119,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 languageName: node linkType: hard @@ -5650,9 +5197,9 @@ __metadata: languageName: node linkType: hard -"execa@npm:8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" +"execa@npm:8.0.0": + version: 8.0.0 + resolution: "execa@npm:8.0.0" dependencies: cross-spawn: "npm:^7.0.3" get-stream: "npm:^8.0.1" @@ -5663,7 +5210,7 @@ __metadata: onetime: "npm:^6.0.0" signal-exit: "npm:^4.1.0" strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + checksum: 10c0/e2aa3dfff1666cd9a7186c28d02e56e7b3bb6cbdd91f8f02be17b2aa7946576139e7cb6339727ba150a25f19d4f93e916130c5df25ab2995f687bcaec4275519 languageName: node linkType: hard @@ -5736,7 +5283,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -5763,17 +5310,6 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:^4.2.4": - version: 4.4.1 - resolution: "fast-xml-parser@npm:4.4.1" - dependencies: - strnum: "npm:^1.0.5" - bin: - fxparser: src/cli/cli.js - checksum: 10c0/7f334841fe41bfb0bf5d920904ccad09cefc4b5e61eaf4c225bf1e1bb69ee77ef2147d8942f783ee8249e154d1ca8a858e10bda78a5d78b8bed3f48dcee9bf33 - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" @@ -5792,16 +5328,6 @@ __metadata: languageName: node linkType: hard -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -5920,9 +5446,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.243.0 - resolution: "flow-parser@npm:0.243.0" - checksum: 10c0/13c0969d0ca36d1065f9cccb27b496213264724b18bbc4ac2dee6c38f22b16b1b645bc04177b5b170d7f1362c9eee6e7915e933a169c71a12c8226845c7ab46c + version: 0.250.0 + resolution: "flow-parser@npm:0.250.0" + checksum: 10c0/e6f12ce3b238967d8b52d4d717ce8c8b1cd402c0c0f0dde9b31a84d12396a9d745d1460d7ae66da7e5805d8ad8e1fcff133d5657bf2b2a85b9f1cdc1d300e2ae languageName: node linkType: hard @@ -5945,22 +5471,6 @@ __metadata: languageName: node linkType: hard -"form-data-encoder@npm:^2.1.2": - version: 2.1.4 - resolution: "form-data-encoder@npm:2.1.4" - checksum: 10c0/4c06ae2b79ad693a59938dc49ebd020ecb58e4584860a90a230f80a68b026483b022ba5e4143cff06ae5ac8fd446a0b500fabc87bbac3d1f62f2757f8dabcaf7 - languageName: node - linkType: hard - -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: "npm:^3.1.2" - checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 - languageName: node - linkType: hard - "fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -5979,17 +5489,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -6074,7 +5573,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde @@ -6082,9 +5581,9 @@ __metadata: linkType: hard "get-east-asian-width@npm:^1.0.0": - version: 1.2.0 - resolution: "get-east-asian-width@npm:1.2.0" - checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b + version: 1.3.0 + resolution: "get-east-asian-width@npm:1.3.0" + checksum: 10c0/1a049ba697e0f9a4d5514c4623781c5246982bdb61082da6b5ae6c33d838e52ce6726407df285cdbb27ec1908b333cf2820989bd3e986e37bb20979437fdf34b languageName: node linkType: hard @@ -6108,7 +5607,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": +"get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 @@ -6170,6 +5669,18 @@ __metadata: languageName: node linkType: hard +"git-semver-tags@npm:^8.0.0": + version: 8.0.0 + resolution: "git-semver-tags@npm:8.0.0" + dependencies: + "@conventional-changelog/git-client": "npm:^1.0.0" + meow: "npm:^13.0.0" + bin: + git-semver-tags: src/cli.js + checksum: 10c0/e32f15b7015c5570aa31f14bbb00bae9fb846264e8cbebf5f63011ff068a571495fd4015c71e9f47dbf2237aa372300f209d1877a6d9a0bf5a68b0c12afd18fb + languageName: node + linkType: hard + "git-up@npm:^7.0.0": version: 7.0.0 resolution: "git-up@npm:7.0.0" @@ -6263,13 +5774,13 @@ __metadata: linkType: hard "globals@npm:^15.9.0": - version: 15.9.0 - resolution: "globals@npm:15.9.0" - checksum: 10c0/de4b553e412e7e830998578d51b605c492256fb2a9273eaeec6ec9ee519f1c5aa50de57e3979911607fd7593a4066420e01d8c3d551e7a6a236e96c521aee36c + version: 15.11.0 + resolution: "globals@npm:15.11.0" + checksum: 10c0/861e39bb6bd9bd1b9f355c25c962e5eb4b3f0e1567cf60fa6c06e8c502b0ec8706b1cce055d69d84d0b7b8e028bec5418cf629a54e7047e116538d1c1c1a375c languageName: node linkType: hard -"globalthis@npm:^1.0.3": +"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -6293,20 +5804,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -6316,25 +5813,6 @@ __metadata: languageName: node linkType: hard -"got@npm:13.0.0": - version: 13.0.0 - resolution: "got@npm:13.0.0" - dependencies: - "@sindresorhus/is": "npm:^5.2.0" - "@szmarczak/http-timer": "npm:^5.0.1" - cacheable-lookup: "npm:^7.0.0" - cacheable-request: "npm:^10.2.8" - decompress-response: "npm:^6.0.0" - form-data-encoder: "npm:^2.1.2" - get-stream: "npm:^6.0.1" - http2-wrapper: "npm:^2.1.10" - lowercase-keys: "npm:^3.0.0" - p-cancelable: "npm:^3.0.0" - responselike: "npm:^3.0.0" - checksum: 10c0/d6a4648dc46f1f9df2637b8730d4e664349a93cb6df62c66dfbb48f7887ba79742a1cc90739a4eb1c15f790ca838ff641c5cdecdc877993627274aeb0f02b92d - languageName: node - linkType: hard - "graceful-fs@npm:4.2.10": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" @@ -6342,7 +5820,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -6436,35 +5914,35 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.22.0": - version: 0.22.0 - resolution: "hermes-estree@npm:0.22.0" - checksum: 10c0/4e39ea6b7032568c2d314268e0cbe807b0d004fa397886d8416b1b695bfa477bd4571617b03f24845228e747554491f4bfb13bbb0e289659d7c57ea02273c050 +"hermes-estree@npm:0.23.1": + version: 0.23.1 + resolution: "hermes-estree@npm:0.23.1" + checksum: 10c0/59ca9f3980419fcf511a172f0ee9960d86c8ba44ea8bc13d3bd0b6208e9540db1a0a9e46b0e797151f11b0e8e33b2bf850907aef4a5c9ac42c53809cefefc405 languageName: node linkType: hard -"hermes-estree@npm:0.23.0": - version: 0.23.0 - resolution: "hermes-estree@npm:0.23.0" - checksum: 10c0/5505fdefc119c516b92adbf7b89cc25768ff5e99b0faca3a5ce4af79cc51feef3236227774ee2f6c45bbe1d9a3fa33786e660195a264697171a85b707bc2cec8 +"hermes-estree@npm:0.24.0": + version: 0.24.0 + resolution: "hermes-estree@npm:0.24.0" + checksum: 10c0/d622d8998e8c67e1e220f98d3b8bbad227c34d8a2757b3de714b37f4fb436656872a1eb7cd3b146e341db5bb217da5dd6cd4f94494eb92190d30368ae0e30cb8 languageName: node linkType: hard -"hermes-parser@npm:0.22.0": - version: 0.22.0 - resolution: "hermes-parser@npm:0.22.0" +"hermes-parser@npm:0.23.1": + version: 0.23.1 + resolution: "hermes-parser@npm:0.23.1" dependencies: - hermes-estree: "npm:0.22.0" - checksum: 10c0/095fad12ccd21ed151494c61b5b900abde78d89579e34c1748a526eed0f64657bee2cd3f30ae270881092d8f244e3386266b78496b866428b7d215fa13daef1e + hermes-estree: "npm:0.23.1" + checksum: 10c0/56907e6136d2297543922dd9f8ee27378ef010c11dc1e0b4a0866faab2c527613b0edcda5e1ebc0daa0ca1ae6528734dfc479e18267aabe4dce0c7198217fd97 languageName: node linkType: hard -"hermes-parser@npm:0.23.0": - version: 0.23.0 - resolution: "hermes-parser@npm:0.23.0" +"hermes-parser@npm:0.24.0": + version: 0.24.0 + resolution: "hermes-parser@npm:0.24.0" dependencies: - hermes-estree: "npm:0.23.0" - checksum: 10c0/a4ca7a66dd8cc65dfc4bb223f696e62ac06f0f32fe8b5889a03ea082291636696e36b1e1593885a19dc2a624d78a96a82cd046fef093de812b27e333350fceea + hermes-estree: "npm:0.24.0" + checksum: 10c0/7159497a425cef0e6259f5db01480110c031e86772c6ff0ef73664be94448c3f004a10ef1ec8ff32faf6a069b69f1c15f7007ff9c520b212f9a31410832285f7 languageName: node linkType: hard @@ -6514,16 +5992,6 @@ __metadata: languageName: node linkType: hard -"http2-wrapper@npm:^2.1.10": - version: 2.2.1 - resolution: "http2-wrapper@npm:2.2.1" - dependencies: - quick-lru: "npm:^5.1.1" - resolve-alpn: "npm:^1.2.0" - checksum: 10c0/7207201d3c6e53e72e510c9b8912e4f3e468d3ecc0cf3bf52682f2aac9cd99358b896d1da4467380adc151cf97c412bedc59dc13dae90c523f42053a7449eedb - languageName: node - linkType: hard - "https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.3, https-proxy-agent@npm:^7.0.5": version: 7.0.5 resolution: "https-proxy-agent@npm:7.0.5" @@ -6611,13 +6079,6 @@ __metadata: languageName: node linkType: hard -"import-lazy@npm:^4.0.0": - version: 4.0.0 - resolution: "import-lazy@npm:4.0.0" - checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca - languageName: node - linkType: hard - "import-local@npm:^3.0.2": version: 3.2.0 resolution: "import-local@npm:3.2.0" @@ -6793,23 +6254,12 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:3.0.1": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" - dependencies: - ci-info: "npm:^3.2.0" - bin: - is-ci: bin.js - checksum: 10c0/0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 - languageName: node - linkType: hard - -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": - version: 2.15.0 - resolution: "is-core-module@npm:2.15.0" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1": + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10c0/da161f3d9906f459486da65609b2f1a2dfdc60887c689c234d04e88a062cb7920fa5be5fb7ab08dc43b732929653c4135ef05bf77888ae2a9040ce76815eb7b1 + checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 languageName: node linkType: hard @@ -6872,13 +6322,6 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -6911,12 +6354,12 @@ __metadata: languageName: node linkType: hard -"is-in-ci@npm:^0.1.0": - version: 0.1.0 - resolution: "is-in-ci@npm:0.1.0" +"is-in-ci@npm:^1.0.0": + version: 1.0.0 + resolution: "is-in-ci@npm:1.0.0" bin: is-in-ci: cli.js - checksum: 10c0/0895b6ecf8abc18a07611382184a3fbe2a8424c11e8a6fd915fcee950d7027d6a3734068636c86bc084828465bf2878fdcd60a8f4fe06d70ff42e10f5cf8bb73 + checksum: 10c0/98f9cec4c35aece4cf731abf35ebf28359a9b0324fac810da05b842515d9ccb33b8999c1d9a679f0362e1a4df3292065c38d7f86327b1387fa667bc0150f4898 languageName: node linkType: hard @@ -7121,13 +6564,6 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -7143,9 +6579,9 @@ __metadata: linkType: hard "is-unicode-supported@npm:^2.0.0": - version: 2.0.0 - resolution: "is-unicode-supported@npm:2.0.0" - checksum: 10c0/3013dfb8265fe9f9a0d1e9433fc4e766595631a8d85d60876c457b4bedc066768dab1477c553d02e2f626d88a4e019162706e04263c94d74994ef636a33b5f94 + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 languageName: node linkType: hard @@ -7175,13 +6611,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^1.1.0": - version: 1.1.0 - resolution: "is-wsl@npm:1.1.0" - checksum: 10c0/7ad0012f21092d6f586c7faad84755a8ef0da9b9ec295e4dc82313cce4e1a93a3da3c217265016461f9b141503fe55fa6eb1fd5457d3f05e8d1bdbb48e50c13a - languageName: node - linkType: hard - "is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -7313,16 +6742,16 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.3": + version: 1.1.3 + resolution: "iterator.prototype@npm:1.1.3" dependencies: define-properties: "npm:^1.2.1" get-intrinsic: "npm:^1.2.1" has-symbols: "npm:^1.0.3" reflect.getprototypeof: "npm:^1.0.4" set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 + checksum: 10c0/68b0320c14291fbb3d8ed5a17e255d3127e7971bec19108076667e79c9ff4c7d69f99de4b0b3075c789c3f318366d7a0a35bb086eae0f2cf832dd58465b2f9e6 languageName: node linkType: hard @@ -7778,19 +7207,6 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.2.1": - version: 17.13.3 - resolution: "joi@npm:17.13.3" - dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -7873,21 +7289,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" bin: jsesc: bin/jsesc - checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 languageName: node linkType: hard @@ -7960,18 +7367,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -8028,9 +7423,9 @@ __metadata: linkType: hard "ky@npm:^1.2.0": - version: 1.5.0 - resolution: "ky@npm:1.5.0" - checksum: 10c0/f6d0b61490d1e324d98be6187e0cca1028b85e3e28852a58b38296a57836d1a3f77c3de12922799f0dafa1669599bce78e404950f149163633f1dd5a56ff6d54 + version: 1.7.2 + resolution: "ky@npm:1.7.2" + checksum: 10c0/ce42c0c5eec839dd13fd14f0b60fb6f56c7c8a0df8e228597f5206b1db2f3608f3a0e477a4c002c838d21b8e65872632ef4655e9eb8508455b3c3b296af40ebc languageName: node linkType: hard @@ -8204,19 +7599,6 @@ __metadata: languageName: node linkType: hard -"logkitty@npm:^0.7.1": - version: 0.7.1 - resolution: "logkitty@npm:0.7.1" - dependencies: - ansi-fragments: "npm:^0.2.1" - dayjs: "npm:^1.8.15" - yargs: "npm:^15.1.0" - bin: - logkitty: bin/logkitty.js - checksum: 10c0/2067fad55c0856c0608c51ab75f8ffa5a858c5f847fefa8ec0e5fd3aa0b7d732010169d187283b23583a72aa6b80bbbec4fc6801a6c47c3fac0fbb294786002a - languageName: node - linkType: hard - "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -8228,13 +7610,6 @@ __metadata: languageName: node linkType: hard -"lowercase-keys@npm:^3.0.0": - version: 3.0.0 - resolution: "lowercase-keys@npm:3.0.0" - checksum: 10c0/ef62b9fa5690ab0a6e4ef40c94efce68e3ed124f583cc3be38b26ff871da0178a28b9a84ce0c209653bb25ca135520ab87fea7cd411a54ac4899cb2f30501430 - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -8334,7 +7709,7 @@ __metadata: languageName: node linkType: hard -"meow@npm:^13.2.0": +"meow@npm:^13.0.0, meow@npm:^13.2.0": version: 13.2.0 resolution: "meow@npm:13.2.0" checksum: 10c0/d5b339ae314715bcd0b619dd2f8a266891928e21526b4800d49b4fba1cc3fff7e2c1ff5edd3344149fac841bc2306157f858e8c4d5eaee4d52ce52ad925664ce @@ -8348,75 +7723,75 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb languageName: node linkType: hard -"metro-babel-transformer@npm:0.80.10": - version: 0.80.10 - resolution: "metro-babel-transformer@npm:0.80.10" +"metro-babel-transformer@npm:0.81.0": + version: 0.81.0 + resolution: "metro-babel-transformer@npm:0.81.0" dependencies: - "@babel/core": "npm:^7.20.0" + "@babel/core": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.23.0" + hermes-parser: "npm:0.24.0" nullthrows: "npm:^1.1.1" - checksum: 10c0/e82909185b67997ec3cea2c743c647706703f90fe9ece143f14991895e0de4279d8f16086bc626a091a94a76ed24ea6def00fa7815cfa917a6dae9d5675b118e + checksum: 10c0/3403668da1f0ca1c170606eabd61c7f1ca6aead49c6a767b1b9914d2edad57d4efb141d19da483fc7c5ed89d6cd695e81f3fc60accd4c2b93cd051ad17d93dc3 languageName: node linkType: hard -"metro-cache-key@npm:0.80.10": - version: 0.80.10 - resolution: "metro-cache-key@npm:0.80.10" +"metro-cache-key@npm:0.81.0": + version: 0.81.0 + resolution: "metro-cache-key@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/7fd792bc82048c5f3754413aac8a129b2387cb9cdae5792a05f2780618d7b3f67bb3ea97ac147e1a1570f29bae25aaf0badf771675e17830d1aec5ba58ab4d10 + checksum: 10c0/1f7d295d186c3541cbe7bc2737c780d32f1790a8114523cb6f0df4413a0d73020faf1f326c13a2daa815bc62767df663d6be988771ceabcaf16dfec9e865f202 languageName: node linkType: hard -"metro-cache@npm:0.80.10": - version: 0.80.10 - resolution: "metro-cache@npm:0.80.10" +"metro-cache@npm:0.81.0": + version: 0.81.0 + resolution: "metro-cache@npm:0.81.0" dependencies: exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" - metro-core: "npm:0.80.10" - checksum: 10c0/c981b61d98e0c48cb51da17023b6654f4f6afd0b0587886201df6dd1d324e812b87339a0190336900bd659a1eccb938f78b5c3093a928e13077d3f8dfb9c1e64 + metro-core: "npm:0.81.0" + checksum: 10c0/661cfc8d3bc9edb15e21933e357cb3ac69e3f7e1e0ae773ec7a8288020f45c2ce18895f07cdda8bf75858a38d5134817246c2f0cbef0ca8ff2d400ddc7dfffc6 languageName: node linkType: hard -"metro-config@npm:0.80.10, metro-config@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-config@npm:0.80.10" +"metro-config@npm:0.81.0, metro-config@npm:^0.81.0": + version: 0.81.0 + resolution: "metro-config@npm:0.81.0" dependencies: connect: "npm:^3.6.5" cosmiconfig: "npm:^5.0.5" flow-enums-runtime: "npm:^0.0.6" jest-validate: "npm:^29.6.3" - metro: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-core: "npm:0.80.10" - metro-runtime: "npm:0.80.10" - checksum: 10c0/6953ab4b766d6c71e4e68332c6c121121f62fb904ce64579cddfd31c746ae308b3958332ff60e3ce242ffe8ce13390e4665128c9d61099ac327676fb5fd65fe5 + metro: "npm:0.81.0" + metro-cache: "npm:0.81.0" + metro-core: "npm:0.81.0" + metro-runtime: "npm:0.81.0" + checksum: 10c0/deaa53ed4d7b5c145f1162371bc7d2d10097b5e1b008e7edbb96a893f4099bfea94e1bb7ecd41e09c9debf3633511ca74ec7fe1b6f98551984445dd8e5d37edf languageName: node linkType: hard -"metro-core@npm:0.80.10, metro-core@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-core@npm:0.80.10" +"metro-core@npm:0.81.0, metro-core@npm:^0.81.0": + version: 0.81.0 + resolution: "metro-core@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.80.10" - checksum: 10c0/ae2d3d81422c0e155ec1345a5361fdac3193d9578af4e84b3eaee1dbdf06258f48c74919356e20568442ef3be6b1ff91dff7e88648d6ea4b6fc939aa3e41cdcb + metro-resolver: "npm:0.81.0" + checksum: 10c0/9233daadb1ea3b3c6efc29e49f07e796ddccd9a020d71070618a90f8394dc20eb08bac8615ade2ed004e96c7169a39daff5f069d783245f1d5c2baab62599754 languageName: node linkType: hard -"metro-file-map@npm:0.80.10": - version: 0.80.10 - resolution: "metro-file-map@npm:0.80.10" +"metro-file-map@npm:0.81.0": + version: 0.81.0 + resolution: "metro-file-map@npm:0.81.0" dependencies: anymatch: "npm:^3.0.3" debug: "npm:^2.2.0" @@ -8433,119 +7808,120 @@ __metadata: dependenciesMeta: fsevents: optional: true - checksum: 10c0/af4003b9cb6545324c8b74f1b7293ab7d0db73f6c60ed42618754e5a3b0602d4f35d4054fe0671ebb50739ee6bd7074f5bc642840de1dcd803e8053d30b4b3fc + checksum: 10c0/0504612809590375d8a2f4d4d6f104b57fcc0913e7f9da83db1440314927a5a541a2ef7b09d3f5bb73ca1de07f437863d5f726deefcde1610a3bc84aae34ef89 languageName: node linkType: hard -"metro-minify-terser@npm:0.80.10": - version: 0.80.10 - resolution: "metro-minify-terser@npm:0.80.10" +"metro-minify-terser@npm:0.81.0": + version: 0.81.0 + resolution: "metro-minify-terser@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" terser: "npm:^5.15.0" - checksum: 10c0/dd204852a109ee65d356d8c5ca94301ec84578599d2c30123113dbf09ef0bc6c3214f1dc5767a3e9483db5cd0ef0502e03d2a22451485ce93a786a4f14786226 + checksum: 10c0/e2279cf15de743308c20325eb6a6ce5d48c8c3ddde07dab18542c9687a5684aeefc4ec8b5e8d701d43477989d17337dfd755a90cfc3d64ff907a205115f95543 languageName: node linkType: hard -"metro-resolver@npm:0.80.10": - version: 0.80.10 - resolution: "metro-resolver@npm:0.80.10" +"metro-resolver@npm:0.81.0": + version: 0.81.0 + resolution: "metro-resolver@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/61d6b984e1e377b4369aed7ac51c42c76c8e5c6acf0101b740cc2eb1081980dd11625f76cc4367f627cf2363d405d6091adcddda927ecee8e0a6a769fba79413 + checksum: 10c0/95d0d95450ca85f8256460b504609b352662b544835ea377d35b937347784c0e0438fce85fd984a2061de997491802bc6c4923de06d8520dadf6324206047561 languageName: node linkType: hard -"metro-runtime@npm:0.80.10, metro-runtime@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-runtime@npm:0.80.10" +"metro-runtime@npm:0.81.0, metro-runtime@npm:^0.81.0": + version: 0.81.0 + resolution: "metro-runtime@npm:0.81.0" dependencies: - "@babel/runtime": "npm:^7.0.0" + "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/a0da1e9eb46df31604fb99d4f694acf65ee60f973306df51c00a3fcfd7f3253ed9dfd4279e53bd6abaf6a918748254b62a784e5a952e333381cbd4377fa69470 + checksum: 10c0/2904c8f37b3da9875e11cff2e034ccf90ad3df4d0f7b7b208b1cf6868dba0ff58aff8ea6acb862a22bfa4603a53f3fc3bc86071b7be53b62df4e7bab5ab10ade languageName: node linkType: hard -"metro-source-map@npm:0.80.10, metro-source-map@npm:^0.80.3": - version: 0.80.10 - resolution: "metro-source-map@npm:0.80.10" +"metro-source-map@npm:0.81.0, metro-source-map@npm:^0.81.0": + version: 0.81.0 + resolution: "metro-source-map@npm:0.81.0" dependencies: - "@babel/traverse": "npm:^7.20.0" - "@babel/types": "npm:^7.20.0" + "@babel/traverse": "npm:^7.25.3" + "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" + "@babel/types": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.80.10" + metro-symbolicate: "npm:0.81.0" nullthrows: "npm:^1.1.1" - ob1: "npm:0.80.10" + ob1: "npm:0.81.0" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - checksum: 10c0/33f123bcc8d26e47789386c50c2eb4a474cda329d77933651580f5ce7e6f8486b0ae89a0230b058bf082d30ec65bb3b2cf4a47dfaa84c433cf04866ce110670a + checksum: 10c0/9bb40f3deb55538f5567097cf432575be61c1762e4e3c4d7cfc4eed9caabbf285d64b8d15b83e3b6766f1aab358e3298a897530bd6b3bf44e65feac3a46b95da languageName: node linkType: hard -"metro-symbolicate@npm:0.80.10": - version: 0.80.10 - resolution: "metro-symbolicate@npm:0.80.10" +"metro-symbolicate@npm:0.81.0": + version: 0.81.0 + resolution: "metro-symbolicate@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-source-map: "npm:0.80.10" + metro-source-map: "npm:0.81.0" nullthrows: "npm:^1.1.1" source-map: "npm:^0.5.6" through2: "npm:^2.0.1" vlq: "npm:^1.0.0" bin: metro-symbolicate: src/index.js - checksum: 10c0/f67d4fd43a376e594fc007a8e4d7fe39dba08d93949ed8e215c1393b96f1fad936ac4b65948da9add7034e233e43e9abdc8647d7059ea0f59701f46a6a63e6de + checksum: 10c0/187ebb34500c068d1a307cb9e1bd2cb03c535ba33d9df6ebdd32192ebb2688b419c5bb072a9c31b45284e4f35a674c002347fb5473e7f56c140643381ffd92f8 languageName: node linkType: hard -"metro-transform-plugins@npm:0.80.10": - version: 0.80.10 - resolution: "metro-transform-plugins@npm:0.80.10" +"metro-transform-plugins@npm:0.81.0": + version: 0.81.0 + resolution: "metro-transform-plugins@npm:0.81.0" dependencies: - "@babel/core": "npm:^7.20.0" - "@babel/generator": "npm:^7.20.0" - "@babel/template": "npm:^7.0.0" - "@babel/traverse": "npm:^7.20.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" flow-enums-runtime: "npm:^0.0.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/1b0ad0d937b1166f5ec721faf227291dd158c4a756279b890748977a3cd9604f2758a4a68c554751eb5c439744dc62187e4fbb6f6d6e137d899546b02d99851c + checksum: 10c0/4fa520978eeacfa419ce88583c1f622e44cb776397f15d630286026b7e4399024395d490a0e65a2399b5dc14e6df10b0c67a224ce44a5cc0a93747c2c0781078 languageName: node linkType: hard -"metro-transform-worker@npm:0.80.10": - version: 0.80.10 - resolution: "metro-transform-worker@npm:0.80.10" +"metro-transform-worker@npm:0.81.0": + version: 0.81.0 + resolution: "metro-transform-worker@npm:0.81.0" dependencies: - "@babel/core": "npm:^7.20.0" - "@babel/generator": "npm:^7.20.0" - "@babel/parser": "npm:^7.20.0" - "@babel/types": "npm:^7.20.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - metro: "npm:0.80.10" - metro-babel-transformer: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-cache-key: "npm:0.80.10" - metro-minify-terser: "npm:0.80.10" - metro-source-map: "npm:0.80.10" - metro-transform-plugins: "npm:0.80.10" + metro: "npm:0.81.0" + metro-babel-transformer: "npm:0.81.0" + metro-cache: "npm:0.81.0" + metro-cache-key: "npm:0.81.0" + metro-minify-terser: "npm:0.81.0" + metro-source-map: "npm:0.81.0" + metro-transform-plugins: "npm:0.81.0" nullthrows: "npm:^1.1.1" - checksum: 10c0/ff248b170a0fea2ae79741d5eaef43e38de986b59ffeed58bf8e2c27a9274cf1ba27e89838876a8320c39785e965a57f7e3caf260b33c3f6812c8c7843b6fecb + checksum: 10c0/e4d07c2107eb74e1cbd341e396d13af9fb171109702b51bf1c8301c9cdaa2cb88c1e4e4b84b744bee7ecd4ff94219f00c580f14d6a40e4fc5f9db71ea527f6c8 languageName: node linkType: hard -"metro@npm:0.80.10, metro@npm:^0.80.3": - version: 0.80.10 - resolution: "metro@npm:0.80.10" +"metro@npm:0.81.0, metro@npm:^0.81.0": + version: 0.81.0 + resolution: "metro@npm:0.81.0" dependencies: - "@babel/code-frame": "npm:^7.0.0" - "@babel/core": "npm:^7.20.0" - "@babel/generator": "npm:^7.20.0" - "@babel/parser": "npm:^7.20.0" - "@babel/template": "npm:^7.0.0" - "@babel/traverse": "npm:^7.20.0" - "@babel/types": "npm:^7.20.0" + "@babel/code-frame": "npm:^7.24.7" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" accepts: "npm:^1.3.7" chalk: "npm:^4.0.0" ci-info: "npm:^2.0.0" @@ -8555,26 +7931,25 @@ __metadata: error-stack-parser: "npm:^2.0.6" flow-enums-runtime: "npm:^0.0.6" graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.23.0" + hermes-parser: "npm:0.24.0" image-size: "npm:^1.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.6.3" jsc-safe-url: "npm:^0.2.2" lodash.throttle: "npm:^4.1.1" - metro-babel-transformer: "npm:0.80.10" - metro-cache: "npm:0.80.10" - metro-cache-key: "npm:0.80.10" - metro-config: "npm:0.80.10" - metro-core: "npm:0.80.10" - metro-file-map: "npm:0.80.10" - metro-resolver: "npm:0.80.10" - metro-runtime: "npm:0.80.10" - metro-source-map: "npm:0.80.10" - metro-symbolicate: "npm:0.80.10" - metro-transform-plugins: "npm:0.80.10" - metro-transform-worker: "npm:0.80.10" + metro-babel-transformer: "npm:0.81.0" + metro-cache: "npm:0.81.0" + metro-cache-key: "npm:0.81.0" + metro-config: "npm:0.81.0" + metro-core: "npm:0.81.0" + metro-file-map: "npm:0.81.0" + metro-resolver: "npm:0.81.0" + metro-runtime: "npm:0.81.0" + metro-source-map: "npm:0.81.0" + metro-symbolicate: "npm:0.81.0" + metro-transform-plugins: "npm:0.81.0" + metro-transform-worker: "npm:0.81.0" mime-types: "npm:^2.1.27" - node-fetch: "npm:^2.2.0" nullthrows: "npm:^1.1.1" serialize-error: "npm:^2.1.0" source-map: "npm:^0.5.6" @@ -8584,17 +7959,17 @@ __metadata: yargs: "npm:^17.6.2" bin: metro: src/cli.js - checksum: 10c0/e6cc58eb901dc1ea9e91069ba30f1d5e83460144a452d1977d1bc37811d560269f6e17ad655ffc9d1795495c7afb269cfa4e0630178ca436f7c685681856a57c + checksum: 10c0/3b375620f2da65881a7cc8a016e71e0f1b71cb99357a8a9bf96c1e5cad229e43596be00f619e533534af72f2838a90655e22c668f6c41a8ae759d93685971415 languageName: node linkType: hard "micromatch@npm:^4.0.4": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 languageName: node linkType: hard @@ -8605,13 +7980,6 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:>= 1.43.0 < 2": - version: 1.53.0 - resolution: "mime-db@npm:1.53.0" - checksum: 10c0/1dcc37ba8ed5d1c179f5c6f0837e8db19371d5f2ea3690c3c2f3fa8c3858f976851d3460b172b4dee78ebd606762cbb407aa398545fbacd539e519f858cd7bf4 - languageName: node - linkType: hard - "mime-types@npm:2.1.35, mime-types@npm:^2.1.27, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" @@ -8630,15 +7998,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:^2.4.1": - version: 2.6.0 - resolution: "mime@npm:2.6.0" - bin: - mime: cli.js - checksum: 10c0/a7f2589900d9c16e3bdf7672d16a6274df903da958c1643c9c45771f0478f3846dcb1097f31eb9178452570271361e2149310931ec705c037210fc69639c8e6c - languageName: node - linkType: hard - "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -8653,17 +8012,10 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - -"mimic-response@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-response@npm:4.0.0" - checksum: 10c0/761d788d2668ae9292c489605ffd4fad220f442fbae6832adce5ebad086d691e906a6d5240c290293c7a11e99fbdbbef04abbbed498bf8699a4ee0f31315e3fb +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d languageName: node linkType: hard @@ -8810,14 +8162,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -8868,13 +8213,6 @@ __metadata: languageName: node linkType: hard -"nocache@npm:^3.0.1": - version: 3.0.4 - resolution: "nocache@npm:3.0.4" - checksum: 10c0/66e5db1206bee44173358c2264ae9742259273e9719535077fe27807441bad58f0deeadf3cec2aa62d4f86ccb8a0e067c9a64b6329684ddc30a57e377ec458ee - languageName: node - linkType: hard - "node-abort-controller@npm:^3.1.1": version: 3.1.1 resolution: "node-abort-controller@npm:3.1.1" @@ -8891,24 +8229,6 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b - languageName: node - linkType: hard - -"node-fetch@npm:3.3.2": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 - languageName: node - linkType: hard - "node-fetch@npm:^2.2.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" @@ -8964,13 +8284,6 @@ __metadata: languageName: node linkType: hard -"node-stream-zip@npm:^1.9.1": - version: 1.15.0 - resolution: "node-stream-zip@npm:1.15.0" - checksum: 10c0/429fce95d7e90e846adbe096c61d2ea8d18defc155c0345d25d0f98dd6fc72aeb95039318484a4e0a01dc3814b6d0d1ae0fe91847a29669dff8676ec064078c9 - languageName: node - linkType: hard - "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -9000,13 +8313,6 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^8.0.0": - version: 8.0.1 - resolution: "normalize-url@npm:8.0.1" - checksum: 10c0/eb439231c4b84430f187530e6fdac605c5048ef4ec556447a10c00a91fc69b52d8d8298d9d608e68d3e0f7dc2d812d3455edf425e0f215993667c3183bcab1ef - languageName: node - linkType: hard - "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -9032,12 +8338,12 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.80.10": - version: 0.80.10 - resolution: "ob1@npm:0.80.10" +"ob1@npm:0.81.0": + version: 0.81.0 + resolution: "ob1@npm:0.81.0" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/38c088d4d4fd673fafbc063b6100f8fce2cffb5023c8dcda82b78d13238c78adf600def93936daa1826595cb4035d72ccfb1be696b864f881dbb063a737482ed + checksum: 10c0/3deec3c18cfb44b483a850891e3ef8fdabf6a113f58cbcc753f1b535d35e80ca67f9cc05a9c6398f79d6840d32b5d287d9ead10279e13a9eea29fcba5ce552e1 languageName: node linkType: hard @@ -9085,7 +8391,7 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": +"object.fromentries@npm:^2.0.8": version: 2.0.8 resolution: "object.fromentries@npm:2.0.8" dependencies: @@ -9097,7 +8403,7 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.1": +"object.groupby@npm:^1.0.3": version: 1.0.3 resolution: "object.groupby@npm:1.0.3" dependencies: @@ -9108,7 +8414,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -9137,13 +8443,6 @@ __metadata: languageName: node linkType: hard -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f - languageName: node - linkType: hard - "once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -9171,6 +8470,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 + languageName: node + linkType: hard + "open@npm:10.1.0": version: 10.1.0 resolution: "open@npm:10.1.0" @@ -9183,15 +8491,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^6.2.0": - version: 6.4.0 - resolution: "open@npm:6.4.0" - dependencies: - is-wsl: "npm:^1.1.0" - checksum: 10c0/447115632b4f3939fa0d973c33e17f28538fd268fd8257fc49763f7de6e76d29d65585b15998bbd2137337cfb70a92084a0e1b183a466e53a4829f704f295823 - languageName: node - linkType: hard - "open@npm:^7.0.3": version: 7.4.2 resolution: "open@npm:7.4.2" @@ -9216,20 +8515,20 @@ __metadata: languageName: node linkType: hard -"ora@npm:8.0.1": - version: 8.0.1 - resolution: "ora@npm:8.0.1" +"ora@npm:8.1.0": + version: 8.1.0 + resolution: "ora@npm:8.1.0" dependencies: chalk: "npm:^5.3.0" - cli-cursor: "npm:^4.0.0" + cli-cursor: "npm:^5.0.0" cli-spinners: "npm:^2.9.2" is-interactive: "npm:^2.0.0" is-unicode-supported: "npm:^2.0.0" log-symbols: "npm:^6.0.0" - stdin-discarder: "npm:^0.2.1" - string-width: "npm:^7.0.0" + stdin-discarder: "npm:^0.2.2" + string-width: "npm:^7.2.0" strip-ansi: "npm:^7.1.0" - checksum: 10c0/7a94c075a7f182a6ace80c3505b945520ab16e05ebe536a714a3d61e51dd8f777c75c8be920e157e0c60ada6fe89bca37376897fb4d486bea5771229be992097 + checksum: 10c0/4ac9a6dd7fe915a354680f33ced21ee96d13d3c5ab0dc00b3c3ba9e3695ed141b1d045222990f5a71a9a91f801042a0b0d32e58dfc5509ff9b81efdd3fcf6339 languageName: node linkType: hard @@ -9267,13 +8566,6 @@ __metadata: languageName: node linkType: hard -"p-cancelable@npm:^3.0.0": - version: 3.0.0 - resolution: "p-cancelable@npm:3.0.0" - checksum: 10c0/948fd4f8e87b956d9afc2c6c7392de9113dac817cb1cecf4143f7a3d4c57ab5673614a80be3aba91ceec5e4b69fd8c869852d7e8048bc3d9273c4c36ce14b9aa - languageName: node - linkType: hard - "p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -9387,9 +8679,9 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -9533,13 +8825,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - "path-type@npm:^5.0.0": version: 5.0.0 resolution: "path-type@npm:5.0.0" @@ -9547,10 +8832,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -9634,18 +8919,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^26.5.2, pretty-format@npm:^26.6.2": - version: 26.6.2 - resolution: "pretty-format@npm:26.6.2" - dependencies: - "@jest/types": "npm:^26.6.2" - ansi-regex: "npm:^5.0.0" - ansi-styles: "npm:^4.0.0" - react-is: "npm:^17.0.1" - checksum: 10c0/b5ddf0e949b874b699d313fe9407f0eb65e67d00823b2dd95335905a73457260af7612f3bff6b48611fcca9ffcff003359e4c9faba4200d6209da433a859aef3 - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" @@ -9690,7 +8963,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.2": +"prompts@npm:^2.0.1": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -9771,13 +9044,6 @@ __metadata: languageName: node linkType: hard -"querystring@npm:^0.2.1": - version: 0.2.1 - resolution: "querystring@npm:0.2.1" - checksum: 10c0/6841b32bec4f16ffe7f5b5e4373b47ad451f079cde3a7f45e63e550f0ecfd8f8189ef81fb50079413b3fc1c59b06146e4c98192cb74ed7981aca72090466cd94 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -9794,13 +9060,6 @@ __metadata: languageName: node linkType: hard -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da - languageName: node - linkType: hard - "range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -9823,12 +9082,12 @@ __metadata: linkType: hard "react-devtools-core@npm:^5.3.1": - version: 5.3.1 - resolution: "react-devtools-core@npm:5.3.1" + version: 5.3.2 + resolution: "react-devtools-core@npm:5.3.2" dependencies: shell-quote: "npm:^1.6.1" ws: "npm:^7" - checksum: 10c0/da83405f42d2bea641d1bc9dd2a6394f18b9e31201a193463daa6897e0055b1ea4f4727b9847007796b42b5faa9d38883bbc38b67972a179fdf60a25a7325d6c + checksum: 10c0/7165544ca5890af62e875eeda3f915e054dc734ad74f77d6490de32ba4fef6c1d30647bbb0643f769dd988913e0edc2bf2b1d6c2679e910150929a6312479cf3 languageName: node linkType: hard @@ -9846,33 +9105,26 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 - languageName: node - linkType: hard - -"react-native@npm:0.75.1": - version: 0.75.1 - resolution: "react-native@npm:0.75.1" +"react-native@npm:0.76.0-rc.6": + version: 0.76.0-rc.6 + resolution: "react-native@npm:0.76.0-rc.6" dependencies: "@jest/create-cache-key-function": "npm:^29.6.3" - "@react-native-community/cli": "npm:14.0.0" - "@react-native-community/cli-platform-android": "npm:14.0.0" - "@react-native-community/cli-platform-ios": "npm:14.0.0" - "@react-native/assets-registry": "npm:0.75.1" - "@react-native/codegen": "npm:0.75.1" - "@react-native/community-cli-plugin": "npm:0.75.1" - "@react-native/gradle-plugin": "npm:0.75.1" - "@react-native/js-polyfills": "npm:0.75.1" - "@react-native/normalize-colors": "npm:0.75.1" - "@react-native/virtualized-lists": "npm:0.75.1" + "@react-native/assets-registry": "npm:0.76.0-rc.6" + "@react-native/codegen": "npm:0.76.0-rc.6" + "@react-native/community-cli-plugin": "npm:0.76.0-rc.6" + "@react-native/gradle-plugin": "npm:0.76.0-rc.6" + "@react-native/js-polyfills": "npm:0.76.0-rc.6" + "@react-native/normalize-colors": "npm:0.76.0-rc.6" + "@react-native/virtualized-lists": "npm:0.76.0-rc.6" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" + babel-jest: "npm:^29.7.0" + babel-plugin-syntax-hermes-parser: "npm:^0.23.1" base64-js: "npm:^1.5.1" chalk: "npm:^4.0.0" + commander: "npm:^12.0.0" event-target-shim: "npm:^5.0.1" flow-enums-runtime: "npm:^0.0.6" glob: "npm:^7.1.1" @@ -9880,11 +9132,11 @@ __metadata: jest-environment-node: "npm:^29.6.3" jsc-android: "npm:^250231.0.0" memoize-one: "npm:^5.0.0" - metro-runtime: "npm:^0.80.3" - metro-source-map: "npm:^0.80.3" + metro-runtime: "npm:^0.81.0" + metro-source-map: "npm:^0.81.0" mkdirp: "npm:^0.5.1" nullthrows: "npm:^1.1.1" - pretty-format: "npm:^26.5.2" + pretty-format: "npm:^29.7.0" promise: "npm:^8.3.0" react-devtools-core: "npm:^5.3.1" react-refresh: "npm:^0.14.0" @@ -9893,7 +9145,7 @@ __metadata: semver: "npm:^7.1.3" stacktrace-parser: "npm:^0.1.10" whatwg-fetch: "npm:^3.0.0" - ws: "npm:^6.2.2" + ws: "npm:^6.2.3" yargs: "npm:^17.6.2" peerDependencies: "@types/react": ^18.2.6 @@ -9903,7 +9155,7 @@ __metadata: optional: true bin: react-native: cli.js - checksum: 10c0/a24da7fac2999a6229b24d222861d846ed6fc7eff9cada6281e8e845796a8f8409e46835191e55aa2653386df8f2e4e77fe16471c20c94f5ec796ca28b9f64f5 + checksum: 10c0/98d260a1de63fc26c131571475e775608b1838a0ca2c637d6308b04595636fd31054392e8a6e822946a8e2e337e3b71c8c0802d9ac358828419f5dbd446303d5 languageName: node linkType: hard @@ -10059,12 +9311,12 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.1 - resolution: "regenerate-unicode-properties@npm:10.1.1" +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" dependencies: regenerate: "npm:^1.4.2" - checksum: 10c0/89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 languageName: node linkType: hard @@ -10099,28 +9351,28 @@ __metadata: linkType: hard "regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" + version: 1.5.3 + resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: - call-bind: "npm:^1.0.6" + call-bind: "npm:^1.0.7" define-properties: "npm:^1.2.1" es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 + set-function-name: "npm:^2.0.2" + checksum: 10c0/e1a7c7dc42cc91abf73e47a269c4b3a8f225321b7f617baa25821f6a123a91d23a73b5152f21872c566e699207e1135d075d2251cd3e84cc96d82a910adf6020 languageName: node linkType: hard -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" +"regexpu-core@npm:^6.1.1": + version: 6.1.1 + resolution: "regexpu-core@npm:6.1.1" dependencies: - "@babel/regjsgen": "npm:^0.8.0" regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.1.0" - regjsparser: "npm:^0.9.1" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.11.0" unicode-match-property-ecmascript: "npm:^2.0.0" unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10c0/7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 + checksum: 10c0/07d49697e20f9b65977535abba4858b7f5171c13f7c366be53ec1886d3d5f69f1b98cc6a6e63cf271adda077c3366a4c851c7473c28bbd69cf5a6b6b008efc3e languageName: node linkType: hard @@ -10142,50 +9394,55 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.11.0": + version: 0.11.1 + resolution: "regjsparser@npm:0.11.1" dependencies: - jsesc: "npm:~0.5.0" + jsesc: "npm:~3.0.2" bin: regjsparser: bin/parser - checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + checksum: 10c0/be4b40981a596b31eacd84ee12cfa474f1d33a6c05f7e995e8ec9d5ad8f1c3fbf7a5b690a05c443e1f312a1c0b16d4ea0b3384596a61d4fda97aa322879bb3cd languageName: node linkType: hard "release-it@npm:^17.6.0": - version: 17.6.0 - resolution: "release-it@npm:17.6.0" + version: 17.10.0 + resolution: "release-it@npm:17.10.0" dependencies: "@iarna/toml": "npm:2.2.5" "@octokit/rest": "npm:20.1.1" async-retry: "npm:1.3.3" chalk: "npm:5.3.0" + ci-info: "npm:^4.0.0" cosmiconfig: "npm:9.0.0" - execa: "npm:8.0.1" + execa: "npm:8.0.0" git-url-parse: "npm:14.0.0" globby: "npm:14.0.2" - got: "npm:13.0.0" inquirer: "npm:9.3.2" - is-ci: "npm:3.0.1" issue-parser: "npm:7.0.1" lodash: "npm:4.17.21" mime-types: "npm:2.1.35" new-github-release-url: "npm:2.0.0" - node-fetch: "npm:3.3.2" open: "npm:10.1.0" - ora: "npm:8.0.1" + ora: "npm:8.1.0" os-name: "npm:5.1.0" proxy-agent: "npm:6.4.0" - semver: "npm:7.6.2" + semver: "npm:7.6.3" shelljs: "npm:0.8.5" - update-notifier: "npm:7.1.0" + update-notifier: "npm:7.3.1" url-join: "npm:5.0.0" wildcard-match: "npm:5.1.3" yargs-parser: "npm:21.1.1" bin: release-it: bin/release-it.js - checksum: 10c0/7e78f0d0ebd94f5398ff30c87bd60ae649af679009786c06fd5020451a84cc0799a1acef7e6e269071a9165ac5fe5aaeeb136e432ef8a003a55a517f3b7c0d73 + checksum: 10c0/fdc260323cc168f4008148222d154cf36a2c4d178f2df7edd9a7754616ca9868259f84d24374e778635335954ddc0e9112590d5d98c16e2c8219d1c73c18a73e languageName: node linkType: hard @@ -10196,20 +9453,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 - languageName: node - linkType: hard - -"resolve-alpn@npm:^1.2.0": - version: 1.2.1 - resolution: "resolve-alpn@npm:1.2.1" - checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -10299,15 +9542,6 @@ __metadata: languageName: node linkType: hard -"responselike@npm:^3.0.0": - version: 3.0.0 - resolution: "responselike@npm:3.0.0" - dependencies: - lowercase-keys: "npm:^3.0.0" - checksum: 10c0/8af27153f7e47aa2c07a5f2d538cb1e5872995f0e9ff77def858ecce5c3fe677d42b824a62cde502e56d275ab832b0a8bd350d5cd6b467ac0425214ac12ae658 - languageName: node - linkType: hard - "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -10318,13 +9552,13 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "restore-cursor@npm:4.0.0" +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/6f7da8c5e422ac26aa38354870b1afac09963572cf2879443540449068cb43476e9cbccf6f8de3e0171e0d6f7f533c2bc1a0a008003c9a525bbc098e89041318 + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 languageName: node linkType: hard @@ -10415,7 +9649,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 @@ -10475,21 +9709,12 @@ __metadata: languageName: node linkType: hard -"semver-diff@npm:^4.0.0": - version: 4.0.0 - resolution: "semver-diff@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/3ed1bb22f39b4b6e98785bb066e821eabb9445d3b23e092866c50e7df8b9bd3eda617b242f81db4159586e0e39b0deb908dd160a24f783bd6f52095b22cd68ea - languageName: node - linkType: hard - -"semver@npm:7.6.2": - version: 7.6.2 - resolution: "semver@npm:7.6.2" +"semver@npm:7.6.3, semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" bin: semver: bin/semver.js - checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf languageName: node linkType: hard @@ -10511,18 +9736,9 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf - languageName: node - linkType: hard - -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: "npm:2.6.9" depd: "npm:2.0.0" @@ -10537,7 +9753,7 @@ __metadata: on-finished: "npm:2.4.1" range-parser: "npm:~1.2.1" statuses: "npm:2.0.1" - checksum: 10c0/0eb134d6a51fc13bbcb976a1f4214ea1e33f242fae046efc311e80aff66c7a43603e26a79d9d06670283a13000e51be6e0a2cb80ff0942eaf9f1cd30b7ae736a + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 languageName: node linkType: hard @@ -10549,21 +9765,14 @@ __metadata: linkType: hard "serve-static@npm:^1.13.1": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" dependencies: - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" parseurl: "npm:~1.3.3" - send: "npm:0.18.0" - checksum: 10c0/fa9f0e21a540a28f301258dfe1e57bb4f81cd460d28f0e973860477dd4acef946a1f41748b5bd41c73b621bea2029569c935faa38578fd34cd42a9b4947088ba - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f languageName: node linkType: hard @@ -10625,7 +9834,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.6.1, shell-quote@npm:^1.7.3": +"shell-quote@npm:^1.6.1": version: 1.8.1 resolution: "shell-quote@npm:1.8.1" checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a @@ -10699,17 +9908,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^2.0.0": - version: 2.1.0 - resolution: "slice-ansi@npm:2.1.0" - dependencies: - ansi-styles: "npm:^3.2.0" - astral-regex: "npm:^1.0.0" - is-fullwidth-code-point: "npm:^2.0.0" - checksum: 10c0/c317b21ec9e3d3968f3d5b548cbfc2eae331f58a03f1352621020799cbe695b3611ee972726f8f32d4ca530065a5ec9c74c97fde711c1f41b4a1585876b2c191 - languageName: node - linkType: hard - "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -10800,9 +9998,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.18 - resolution: "spdx-license-ids@npm:3.0.18" - checksum: 10c0/c64ba03d4727191c8fdbd001f137d6ab51386c350d5516be8a4576c2e74044cb27bc8a758f6a04809da986cc0b14213f069b04de72caccecbc9f733753ccde32 + version: 3.0.20 + resolution: "spdx-license-ids@npm:3.0.20" + checksum: 10c0/bdff7534fad6ef59be49becda1edc3fb7f5b3d6f296a715516ab9d972b8ad59af2c34b2003e01db8970d4c673d185ff696ba74c6b61d3bf327e2b3eac22c297c languageName: node linkType: hard @@ -10875,7 +10073,7 @@ __metadata: languageName: node linkType: hard -"stdin-discarder@npm:^0.2.1": +"stdin-discarder@npm:^0.2.2": version: 0.2.2 resolution: "stdin-discarder@npm:0.2.2" checksum: 10c0/c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537 @@ -10921,7 +10119,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^7.0.0": +"string-width@npm:^7.0.0, string-width@npm:^7.2.0": version: 7.2.0 resolution: "string-width@npm:7.2.0" dependencies: @@ -11023,15 +10221,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.2.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" - dependencies: - ansi-regex: "npm:^4.1.0" - checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf - languageName: node - linkType: hard - "strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" @@ -11092,17 +10281,10 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^1.0.5": - version: 1.0.5 - resolution: "strnum@npm:1.0.5" - checksum: 10c0/64fb8cc2effbd585a6821faa73ad97d4b553c8927e49086a162ffd2cc818787643390b89d567460a8e74300148d11ac052e21c921ef2049f2987f4b1b89a7ff1 - languageName: node - linkType: hard - -"sudo-prompt@npm:^9.0.0": - version: 9.2.1 - resolution: "sudo-prompt@npm:9.2.1" - checksum: 10c0/e56793513a9c95f66367a3be2ec4c1adee84a2a62f1b7ff6453d610586dcd373d7d8f4df522a7dae03aea8b779ef7f7ba25d1130d24fb1e495cfbbc2c72c7486 +"stubborn-fs@npm:^1.2.5": + version: 1.2.5 + resolution: "stubborn-fs@npm:1.2.5" + checksum: 10c0/0676befd9901d4dd4e162700fa0396f11d523998589cd6b61b06d1021db811dc4c1e6713869748c6cfa49d58beb9b6f0dc5b6aca6b075811b949e1602ce1e26f languageName: node linkType: hard @@ -11141,12 +10323,12 @@ __metadata: linkType: hard "synckit@npm:^0.9.1": - version: 0.9.1 - resolution: "synckit@npm:0.9.1" + version: 0.9.2 + resolution: "synckit@npm:0.9.2" dependencies: "@pkgr/core": "npm:^0.1.0" tslib: "npm:^2.6.2" - checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e + checksum: 10c0/e0c262817444e5b872708adb6f5ad37951ba33f6b2d1d4477d45db1f57573a784618ceed5e6614e0225db330632b1f6b95bb74d21e4d013e45ad4bde03d0cb59 languageName: node linkType: hard @@ -11174,8 +10356,8 @@ __metadata: linkType: hard "terser@npm:^5.15.0": - version: 5.31.5 - resolution: "terser@npm:5.31.5" + version: 5.36.0 + resolution: "terser@npm:5.36.0" dependencies: "@jridgewell/source-map": "npm:^0.3.3" acorn: "npm:^8.8.2" @@ -11183,7 +10365,7 @@ __metadata: source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/6e7c66c1f4062ee098bff3dc3c396819ebf5f1740f0615be9de39b675a78c732d199f4dcfdcd15bd65f354e37c45bb944360f532a36fe7f7d22f800ca53c2d02 + checksum: 10c0/f4ed2bead19f64789ddcfb85b7cef78f3942f967b8890c54f57d1e35bc7d547d551c6a4c32210bce6ba45b1c738314bbfac6acbc6c762a45cd171777d0c120d9 languageName: node linkType: hard @@ -11304,9 +10486,9 @@ __metadata: linkType: hard "tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.6.2": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a + version: 2.8.0 + resolution: "tslib@npm:2.8.0" + checksum: 10c0/31e4d14dc1355e9b89e4d3c893a18abb7f90b6886b089c2da91224d0a7752c79f3ddc41bc1aa0a588ac895bd97bb99c5bc2bfdb2f86de849f31caeb3ba79bbe5 languageName: node linkType: hard @@ -11347,14 +10529,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^1.0.1": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 - languageName: node - linkType: hard - -"type-fest@npm:^2.13.0, type-fest@npm:^2.5.1": +"type-fest@npm:^2.5.1": version: 2.19.0 resolution: "type-fest@npm:2.19.0" checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb @@ -11368,10 +10543,10 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.2.0": - version: 4.24.0 - resolution: "type-fest@npm:4.24.0" - checksum: 10c0/9770471a397733b17b5a9ce48ee5a4d6c042c84a4858ff4e15abd126f351c61b5fea8b7b5e55bfa34840098a920b915d5ff878db1b3c007a2512a6a9c7f21579 +"type-fest@npm:^4.18.2, type-fest@npm:^4.2.0, type-fest@npm:^4.21.0": + version: 4.26.1 + resolution: "type-fest@npm:4.26.1" + checksum: 10c0/d2719ff8d380befe8a3c61068f37f28d6fa2849fd140c5d2f0f143099e371da6856aad7c97e56b83329d45bfe504afe9fd936a7cff600cc0d46aa9ffb008d6c6 languageName: node linkType: hard @@ -11427,15 +10602,6 @@ __metadata: languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 - languageName: node - linkType: hard - "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -11444,31 +10610,31 @@ __metadata: linkType: hard "typescript@npm:^5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" + version: 5.6.3 + resolution: "typescript@npm:5.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 languageName: node linkType: hard "typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=74658d" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + checksum: 10c0/ac8307bb06bbfd08ae7137da740769b7d8c3ee5943188743bb622c621f8ad61d244767480f90fbd840277fbf152d8932aa20c33f867dea1bb5e79b187ca1a92f languageName: node linkType: hard "uglify-js@npm:^3.1.4": - version: 3.19.2 - resolution: "uglify-js@npm:3.19.2" + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" bin: uglifyjs: bin/uglifyjs - checksum: 10c0/51dbe1304a91cac5daa01f6a2d4ecd545fab7b7d0625e11590b923e95a6d2263b3481dcea974abfc0282b33d2c76f74f1196a992df07eae0847175bc39ea45bb + checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 languageName: node linkType: hard @@ -11484,17 +10650,17 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.13.0": - version: 6.13.0 - resolution: "undici-types@npm:6.13.0" - checksum: 10c0/2de55181f569c77a4f08063f8bf2722fcbb6ea312a26a9e927bd1f5ea5cf3a281c5ddf23155061db083e0a25838f54813543ff13b0ac34d230d5c1205ead66c1 +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 languageName: node linkType: hard "unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" - checksum: 10c0/0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 languageName: node linkType: hard @@ -11509,9 +10675,9 @@ __metadata: linkType: hard "unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.1.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" - checksum: 10c0/f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10c0/1d0a2deefd97974ddff5b7cb84f9884177f4489928dfcebb4b2b091d6124f2739df51fc6ea15958e1b5637ac2a24cff9bf21ea81e45335086ac52c0b4c717d6d languageName: node linkType: hard @@ -11547,15 +10713,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-string@npm:3.0.0" - dependencies: - crypto-random-string: "npm:^4.0.0" - checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 - languageName: node - linkType: hard - "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -11563,13 +10720,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1" @@ -11585,36 +10735,34 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.0" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 languageName: node linkType: hard -"update-notifier@npm:7.1.0": - version: 7.1.0 - resolution: "update-notifier@npm:7.1.0" +"update-notifier@npm:7.3.1": + version: 7.3.1 + resolution: "update-notifier@npm:7.3.1" dependencies: - boxen: "npm:^7.1.1" + boxen: "npm:^8.0.1" chalk: "npm:^5.3.0" - configstore: "npm:^6.0.0" - import-lazy: "npm:^4.0.0" - is-in-ci: "npm:^0.1.0" + configstore: "npm:^7.0.0" + is-in-ci: "npm:^1.0.0" is-installed-globally: "npm:^1.0.0" is-npm: "npm:^6.0.0" latest-version: "npm:^9.0.0" pupa: "npm:^3.1.0" - semver: "npm:^7.6.2" - semver-diff: "npm:^4.0.0" + semver: "npm:^7.6.3" xdg-basedir: "npm:^5.1.0" - checksum: 10c0/8b18ac717dc6b0df4f71ea379bfab74d37efe983da6f25fe1de71fb8ec11a5fb12c991ccdcedbd5c38cf7dc22e116dd8e2798db63cc79951e973a1a4a9560a33 + checksum: 10c0/678839453840f46bb75e8cfebc0ff522262d2d3ece343fca722dd506039832e2a952d14ae39153f05f684467c8293ebc4c6479c9652c1bf97908fcaf300c2b31 languageName: node linkType: hard @@ -11669,13 +10817,6 @@ __metadata: languageName: node linkType: hard -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - "vlq@npm:^1.0.0": version: 1.0.1 resolution: "vlq@npm:1.0.1" @@ -11701,13 +10842,6 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.3 - resolution: "web-streams-polyfill@npm:3.3.3" - checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -11732,6 +10866,13 @@ __metadata: languageName: node linkType: hard +"when-exit@npm:^2.1.1": + version: 2.1.3 + resolution: "when-exit@npm:2.1.3" + checksum: 10c0/9b8f3bee4b0f8711a586d5b6241a1cd14d501a52c8138c26d425758552b3605b3785260b87cdd0bbc12e853d194b7a1f81598d789c8aa6f241debaccea99e777 + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -11777,13 +10918,6 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e - languageName: node - linkType: hard - "which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" @@ -11819,12 +10953,12 @@ __metadata: languageName: node linkType: hard -"widest-line@npm:^4.0.1": - version: 4.0.1 - resolution: "widest-line@npm:4.0.1" +"widest-line@npm:^5.0.0": + version: 5.0.0 + resolution: "widest-line@npm:5.0.0" dependencies: - string-width: "npm:^5.0.1" - checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c + string-width: "npm:^7.0.0" + checksum: 10c0/6bd6cca8cda502ef50e05353fd25de0df8c704ffc43ada7e0a9cf9a5d4f4e12520485d80e0b77cec8a21f6c3909042fcf732aa9281e5dbb98cc9384a138b2578 languageName: node linkType: hard @@ -11891,6 +11025,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^9.0.0": + version: 9.0.0 + resolution: "wrap-ansi@npm:9.0.0" + dependencies: + ansi-styles: "npm:^6.2.1" + string-width: "npm:^7.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/a139b818da9573677548dd463bd626a5a5286271211eb6e4e82f34a4f643191d74e6d4a9bb0a3c26ec90e6f904f679e0569674ac099ea12378a8b98e20706066 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" @@ -11909,18 +11054,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.3": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e - languageName: node - linkType: hard - "write-file-atomic@npm:^4.0.2": version: 4.0.2 resolution: "write-file-atomic@npm:4.0.2" @@ -11931,7 +11064,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^6.2.2, ws@npm:^6.2.3": +"ws@npm:^6.2.3": version: 6.2.3 resolution: "ws@npm:6.2.3" dependencies: @@ -11955,7 +11088,7 @@ __metadata: languageName: node linkType: hard -"xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0": +"xdg-basedir@npm:^5.1.0": version: 5.1.0 resolution: "xdg-basedir@npm:5.1.0" checksum: 10c0/c88efabc71ffd996ba9ad8923a8cc1c7c020a03e2c59f0ffa72e06be9e724ad2a0fccef488757bc6ed3d8849d753dd25082d1035d95cb179e79eae4d034d0b80 @@ -11969,13 +11102,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -11997,15 +11123,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.1": - version: 2.5.0 - resolution: "yaml@npm:2.5.0" - bin: - yaml: bin.mjs - checksum: 10c0/771a1df083c8217cf04ef49f87244ae2dd7d7457094425e793b8f056159f167602ce172aa32d6bca21f787d24ec724aee3cecde938f6643564117bd151452631 - languageName: node - linkType: hard - "yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -12013,35 +11130,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10c0/25df918833592a83f52e7e4f91ba7d7bfaa2b891ebf7fe901923c2ee797534f23a176913ff6ff7ebbc1cc1725a044cc6a6539fed8bfd4e13b5b16376875f9499 - languageName: node - linkType: hard - -"yargs@npm:^15.1.0": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: "npm:^6.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^4.1.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^4.2.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^18.1.2" - checksum: 10c0/f1ca680c974333a5822732825cca7e95306c5a1e7750eb7b973ce6dc4f97a6b0a8837203c8b194f461969bfe1fb1176d1d423036635285f6010b392fa498ab2d - languageName: node - linkType: hard - "yargs@npm:^17.3.1, yargs@npm:^17.6.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" From 7bc0d5dbe96656b84744583575febbd3e5ba31a5 Mon Sep 17 00:00:00 2001 From: George Raphael Date: Fri, 18 Oct 2024 15:35:03 +0300 Subject: [PATCH 13/86] Update queries.mdx (#1680) Remove unnecessary 'the' from sentence in documentation --- website/docs/12.x/docs/api/queries.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/12.x/docs/api/queries.mdx b/website/docs/12.x/docs/api/queries.mdx index 8c05e8ec1..85df7e0ac 100644 --- a/website/docs/12.x/docs/api/queries.mdx +++ b/website/docs/12.x/docs/api/queries.mdx @@ -1,6 +1,6 @@ # Queries -Queries are one of the main building blocks for the React Native Testing Library. They enable you to find relevant elements in the element tree, which represents the your application's user interface when running under tests. +Queries are one of the main building blocks for the React Native Testing Library. They enable you to find relevant elements in the element tree, which represents your application's user interface when running under tests. ## Accessing queries From 0305877e50821f56c00a60297647db5d4997fe55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Oct 2024 15:51:47 +0200 Subject: [PATCH 14/86] chore(deps-dev): bump @release-it/conventional-changelog (#1675) Bumps [@release-it/conventional-changelog](https://github.com/release-it/conventional-changelog) from 8.0.1 to 9.0.0. - [Release notes](https://github.com/release-it/conventional-changelog/releases) - [Commits](https://github.com/release-it/conventional-changelog/compare/8.0.1...9.0.0) --- updated-dependencies: - dependency-name: "@release-it/conventional-changelog" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 443 +++++++++++++++++---------------------------------- 2 files changed, 149 insertions(+), 296 deletions(-) diff --git a/package.json b/package.json index 8c7e22a79..b8adbaeaf 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@babel/preset-react": "^7.24.7", "@babel/preset-typescript": "^7.24.7", "@callstack/eslint-config": "^15.0.0", - "@release-it/conventional-changelog": "^8.0.1", + "@release-it/conventional-changelog": "^9.0.0", "@relmify/jest-serializer-strip-ansi": "^1.0.2", "@types/jest": "^29.5.12", "@types/react": "^18.3.3", diff --git a/yarn.lock b/yarn.lock index b1220188e..d65b82e02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.7": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.7": version: 7.25.7 resolution: "@babel/code-frame@npm:7.25.7" dependencies: @@ -2508,18 +2508,18 @@ __metadata: languageName: node linkType: hard -"@release-it/conventional-changelog@npm:^8.0.1": - version: 8.0.2 - resolution: "@release-it/conventional-changelog@npm:8.0.2" +"@release-it/conventional-changelog@npm:^9.0.0": + version: 9.0.0 + resolution: "@release-it/conventional-changelog@npm:9.0.0" dependencies: concat-stream: "npm:^2.0.0" - conventional-changelog: "npm:^5.1.0" - conventional-recommended-bump: "npm:^9.0.0" + conventional-changelog: "npm:^6.0.0" + conventional-recommended-bump: "npm:^10.0.0" git-semver-tags: "npm:^8.0.0" semver: "npm:^7.6.3" peerDependencies: release-it: ^17.0.0 - checksum: 10c0/55cef6179a6874865ee393e1e1445af1b5bf46bf76c6fe2e7942f2dc95ca0fcda7be8b314e84e0fd9238011b2fecb104158ae83f536772a1ad531f22618bfabe + checksum: 10c0/87a790ace2a24639d94d418f6f24fbcdd1abaca664624904ee4f704a4fa54187e434431288d599d8be30bc2bfcbc8b0e7501caceab4ddb9ca5a7deaa5d8d159c languageName: node linkType: hard @@ -2581,7 +2581,7 @@ __metadata: "@babel/preset-react": "npm:^7.24.7" "@babel/preset-typescript": "npm:^7.24.7" "@callstack/eslint-config": "npm:^15.0.0" - "@release-it/conventional-changelog": "npm:^8.0.1" + "@release-it/conventional-changelog": "npm:^9.0.0" "@relmify/jest-serializer-strip-ansi": "npm:^1.0.2" "@types/jest": "npm:^29.5.12" "@types/react": "npm:^18.3.3" @@ -2731,7 +2731,7 @@ __metadata: languageName: node linkType: hard -"@types/normalize-package-data@npm:^2.4.1": +"@types/normalize-package-data@npm:^2.4.3": version: 2.4.4 resolution: "@types/normalize-package-data@npm:2.4.4" checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 @@ -2917,18 +2917,6 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": - version: 1.3.5 - resolution: "JSONStream@npm:1.3.5" - dependencies: - jsonparse: "npm:^1.2.0" - through: "npm:>=2.2.7 <3" - bin: - JSONStream: ./bin.js - checksum: 10c0/0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 - languageName: node - linkType: hard - "abbrev@npm:^2.0.0": version: 2.0.0 resolution: "abbrev@npm:2.0.0" @@ -3997,169 +3985,164 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-angular@npm:^7.0.0": - version: 7.0.0 - resolution: "conventional-changelog-angular@npm:7.0.0" +"conventional-changelog-angular@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-angular@npm:8.0.0" dependencies: compare-func: "npm:^2.0.0" - checksum: 10c0/90e73e25e224059b02951b6703b5f8742dc2a82c1fea62163978e6735fd3ab04350897a8fc6f443ec6b672d6b66e28a0820e833e544a0101f38879e5e6289b7e + checksum: 10c0/743faceab876bb9b9656f2389830d0ccb7c5caf02a629cb495d75c65c43414274728d7059b716d0c7d66fd663f8b978f25d44657148b8bc64ece12952cbfd886 languageName: node linkType: hard -"conventional-changelog-atom@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-changelog-atom@npm:4.0.0" - checksum: 10c0/140e0708e69a4e7345e95bdb2875f8a13b44e1d29334a5be823a74c817d2b17acc3ab57757df20d0d23e224433d9e36c4fdf67a529394106e3b1ade4c0e4c6da +"conventional-changelog-atom@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-atom@npm:5.0.0" + checksum: 10c0/d3c8731c04bfb2879e353bd9d67b8385540056034c11aa8076ade15c9ac1865502efe8da52d16129e781d126f3bcc3fb25c43c0bb1db5ffa3f660e2b7c1e015a languageName: node linkType: hard -"conventional-changelog-codemirror@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-changelog-codemirror@npm:4.0.0" - checksum: 10c0/d568a13cce260632bc1e8aec463721a149e09aaa97149ab6d813c8c74ea7ea548cec4aaa721cae5704bf4bf95b7daa184ec069fcf112a219e848f1ef4e326091 +"conventional-changelog-codemirror@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-codemirror@npm:5.0.0" + checksum: 10c0/db208e343516abb1cee77e671e98a552a1e7fa945d9e507725e50d55a8270266a11948d1b7c997e7279bb5b5dd0579da29a010f75740880cbe9bd909027839d2 languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^7.0.2": - version: 7.0.2 - resolution: "conventional-changelog-conventionalcommits@npm:7.0.2" +"conventional-changelog-conventionalcommits@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-conventionalcommits@npm:8.0.0" dependencies: compare-func: "npm:^2.0.0" - checksum: 10c0/3cb1eab35e37fc973cfb3aed0e159f54414e49b222988da1c2aa86cc8a87fe7531491bbb7657fe5fc4dc0e25f5b50e2065ba8ac71cc4c08eed9189102a2b81bd + checksum: 10c0/368ee2245094579b38e1beac110577f75d82ab341d1bc6943052d5243f8bacc9ea08222a91a595a17f5f4ccc321b926211da00dd25b43877a3c51d8218bc76f0 languageName: node linkType: hard -"conventional-changelog-core@npm:^7.0.0": - version: 7.0.0 - resolution: "conventional-changelog-core@npm:7.0.0" +"conventional-changelog-core@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-core@npm:8.0.0" dependencies: "@hutson/parse-repository-url": "npm:^5.0.0" add-stream: "npm:^1.0.0" - conventional-changelog-writer: "npm:^7.0.0" - conventional-commits-parser: "npm:^5.0.0" - git-raw-commits: "npm:^4.0.0" - git-semver-tags: "npm:^7.0.0" + conventional-changelog-writer: "npm:^8.0.0" + conventional-commits-parser: "npm:^6.0.0" + git-raw-commits: "npm:^5.0.0" + git-semver-tags: "npm:^8.0.0" hosted-git-info: "npm:^7.0.0" normalize-package-data: "npm:^6.0.0" - read-pkg: "npm:^8.0.0" - read-pkg-up: "npm:^10.0.0" - checksum: 10c0/3d5119faf3c154e57e2574b87320892637f4a26cf047827ec8917c227b7e1b3a6ee0ea00247e548f65100db013174d355744ff5b4b90c7c45855db109c24aa2a + read-package-up: "npm:^11.0.0" + read-pkg: "npm:^9.0.0" + checksum: 10c0/8e70459b4fde54be1cd2d8ce31302bbe19a2cf7b150236191a2ce6fb22d4992c2aee2e2ec088d0c945fd667cf3f04df47efe22cd6f858a3174bc5cb7d6b17df2 languageName: node linkType: hard -"conventional-changelog-ember@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-changelog-ember@npm:4.0.0" - checksum: 10c0/f6f76a71cca0aa4919b750f679224cb891caa8d9522f9f6377a92e648e13e35cdcfea465c18309179abdbb662243321656f09f775996d636d57a81aa7bb6ff3c +"conventional-changelog-ember@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-ember@npm:5.0.0" + checksum: 10c0/371d1f747779fbb9d6d45a0b53547e466cd300f15afa655d46dfb12aae5314c6d104a31eb1947730ac75f0bc085c7ac79430e6387efac5beec03edd522ef9281 languageName: node linkType: hard -"conventional-changelog-eslint@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-eslint@npm:5.0.0" - checksum: 10c0/e11239fcaf26a1be9df062f6fc750496f982c18f03e4eed7931b177e607337b86207f448fee8891fbdac449bcb9ed29dcc4da3ccb6fe4d5cd55ff4f9b7a65d8f +"conventional-changelog-eslint@npm:^6.0.0": + version: 6.0.0 + resolution: "conventional-changelog-eslint@npm:6.0.0" + checksum: 10c0/ed7d8d10e518ae5bced2b7f8e940db63554f9a92967997ca44c24ae9e6ed60ec9880f6911b806f5a98e25b95dba58af079b5116945ffe05cb55a4b052915b8c1 languageName: node linkType: hard -"conventional-changelog-express@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-changelog-express@npm:4.0.0" - checksum: 10c0/a9dc0eabe1fd9ae8361fc4833bb2d051b0280637d3b67c35855e2e206cdf299e8c9c80a49f9d8153ae6c3bd42462390ee861bff3afb91f44b133167040e8da21 +"conventional-changelog-express@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-express@npm:5.0.0" + checksum: 10c0/34613651788c7d35c87c2acb676209bb357f8e0e63b72ea2ca91e99e30069ad704f347b43bbe488637f66378d1cb62b396641eefd740e223a5595d5ab42eeba4 languageName: node linkType: hard -"conventional-changelog-jquery@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-jquery@npm:5.0.0" - checksum: 10c0/82b6b8b65d484d15bbe08d65e948005879fcd4d1e01d50515ca04b0951f3245f78c6075c30f6ea29239f30c547570a86c0b8ee4ac0afaeacd548ee0a6506b7cb +"conventional-changelog-jquery@npm:^6.0.0": + version: 6.0.0 + resolution: "conventional-changelog-jquery@npm:6.0.0" + checksum: 10c0/c064c15af4b0e28bca00dc8414ccedaad5c4dcb7d82ac0e0bad5eed918e69abac7d1f658fe684a460fbf7e820fafd81b00259e4acbf694d6744a1edf971f0bcb languageName: node linkType: hard -"conventional-changelog-jshint@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-changelog-jshint@npm:4.0.0" +"conventional-changelog-jshint@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-jshint@npm:5.0.0" dependencies: compare-func: "npm:^2.0.0" - checksum: 10c0/87683278208351ceb01cb547acf3725f077d54deed6c51b2f49cf566921d09f7ce724cccb7e19046564f41d473061fd2717852a863f36ba5e7ff5f788b4d79a9 + checksum: 10c0/309fb5f28c8e1435bb28cdcb4d44e216924b63474e081f97f5f60a7685594952e3149f1f96226dbca73cf198385b5f2700b30998c957371bc20947d4b1653300 languageName: node linkType: hard -"conventional-changelog-preset-loader@npm:^4.1.0": - version: 4.1.0 - resolution: "conventional-changelog-preset-loader@npm:4.1.0" - checksum: 10c0/7854ddeca740d2e478f0e8aa6591dd224c7e094863cbefada2f219459d8e267580ab73d0a0f566a7f37382896ec0f502e9908123af866fd6d7fbc560edd1ee68 +"conventional-changelog-preset-loader@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-preset-loader@npm:5.0.0" + checksum: 10c0/cf501f5c5fe16c5451b9404ce0cb124d57c3165b3c460a0c672d9e0286d166635fb2a9b840f3a2e40a62b1b104612599d385fee7135c77eff354828999e4431a languageName: node linkType: hard -"conventional-changelog-writer@npm:^7.0.0": - version: 7.0.1 - resolution: "conventional-changelog-writer@npm:7.0.1" +"conventional-changelog-writer@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-writer@npm:8.0.0" dependencies: - conventional-commits-filter: "npm:^4.0.0" + "@types/semver": "npm:^7.5.5" + conventional-commits-filter: "npm:^5.0.0" handlebars: "npm:^4.7.7" - json-stringify-safe: "npm:^5.0.1" - meow: "npm:^12.0.1" + meow: "npm:^13.0.0" semver: "npm:^7.5.2" - split2: "npm:^4.0.0" bin: - conventional-changelog-writer: cli.mjs - checksum: 10c0/ec51708c33860777f2b85f1df588aed918cab08919146cdfac8f271e31c0caee22c5c50df78e4ce358022e58f65c8de77fd6a5fb529f4bb5ba27c2d1e072750f + conventional-changelog-writer: dist/cli/index.js + checksum: 10c0/fd4afe58c5b4638f38ae4cea5f38ead73583c4d1a792b2885d576ac5710644d5f6baaf52cc40641465d9ba2b2490ee494fe325b5cb5b849c9001f6c3875c5656 languageName: node linkType: hard -"conventional-changelog@npm:^5.1.0": - version: 5.1.0 - resolution: "conventional-changelog@npm:5.1.0" +"conventional-changelog@npm:^6.0.0": + version: 6.0.0 + resolution: "conventional-changelog@npm:6.0.0" dependencies: - conventional-changelog-angular: "npm:^7.0.0" - conventional-changelog-atom: "npm:^4.0.0" - conventional-changelog-codemirror: "npm:^4.0.0" - conventional-changelog-conventionalcommits: "npm:^7.0.2" - conventional-changelog-core: "npm:^7.0.0" - conventional-changelog-ember: "npm:^4.0.0" - conventional-changelog-eslint: "npm:^5.0.0" - conventional-changelog-express: "npm:^4.0.0" - conventional-changelog-jquery: "npm:^5.0.0" - conventional-changelog-jshint: "npm:^4.0.0" - conventional-changelog-preset-loader: "npm:^4.1.0" - checksum: 10c0/931b3cf5b70e2cedbc8942b25176146b9ebb7534ba908454fccdc6dd8097442a79fe150976a854f448306e1fd2788f1daac0cf066ca163ce8f119289594c8918 + conventional-changelog-angular: "npm:^8.0.0" + conventional-changelog-atom: "npm:^5.0.0" + conventional-changelog-codemirror: "npm:^5.0.0" + conventional-changelog-conventionalcommits: "npm:^8.0.0" + conventional-changelog-core: "npm:^8.0.0" + conventional-changelog-ember: "npm:^5.0.0" + conventional-changelog-eslint: "npm:^6.0.0" + conventional-changelog-express: "npm:^5.0.0" + conventional-changelog-jquery: "npm:^6.0.0" + conventional-changelog-jshint: "npm:^5.0.0" + conventional-changelog-preset-loader: "npm:^5.0.0" + checksum: 10c0/a4fedfa7d6c2815d8d774ba9263035ebcc8d4b5d6fc165345819ece35f94daf7141596b0cda99bcfbdddc97657f60646adec46e60eba5bfbf8cd8fba25e6f76d languageName: node linkType: hard -"conventional-commits-filter@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-commits-filter@npm:4.0.0" - checksum: 10c0/b26ea11ebb38218cb3cbbaf7d68b0f7c3b0eb7ad69afe9c9431d91e784acbebaeda7a095127ae5a7f8b75087d62b44e8e69d63426ff02b49f7dd504755934247 +"conventional-commits-filter@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-commits-filter@npm:5.0.0" + checksum: 10c0/678900d6c589bbe1739929071ea0ca89c872b9f3cc6974994726eb7a197ca04243e9ea65cae39a55e41fdc20f27fdfc43060588750d828e0efab41f309a42934 languageName: node linkType: hard -"conventional-commits-parser@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-commits-parser@npm:5.0.0" +"conventional-commits-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "conventional-commits-parser@npm:6.0.0" dependencies: - JSONStream: "npm:^1.3.5" - is-text-path: "npm:^2.0.0" - meow: "npm:^12.0.1" - split2: "npm:^4.0.0" + meow: "npm:^13.0.0" bin: - conventional-commits-parser: cli.mjs - checksum: 10c0/c9e542f4884119a96a6bf3311ff62cdee55762d8547f4c745ae3ebdc50afe4ba7691e165e34827d5cf63283cbd93ab69917afd7922423075b123d5d9a7a82ed2 + conventional-commits-parser: dist/cli/index.js + checksum: 10c0/9482e0819709b703fc826398bee09da7ac244f0361257a32fc280b14fb5be5636859391eadbe40ba3863c913f37b3c20c0626dea22f0202e70ee1ee65f75b1d9 languageName: node linkType: hard -"conventional-recommended-bump@npm:^9.0.0": - version: 9.0.0 - resolution: "conventional-recommended-bump@npm:9.0.0" - dependencies: - conventional-changelog-preset-loader: "npm:^4.1.0" - conventional-commits-filter: "npm:^4.0.0" - conventional-commits-parser: "npm:^5.0.0" - git-raw-commits: "npm:^4.0.0" - git-semver-tags: "npm:^7.0.0" - meow: "npm:^12.0.1" +"conventional-recommended-bump@npm:^10.0.0": + version: 10.0.0 + resolution: "conventional-recommended-bump@npm:10.0.0" + dependencies: + "@conventional-changelog/git-client": "npm:^1.0.0" + conventional-changelog-preset-loader: "npm:^5.0.0" + conventional-commits-filter: "npm:^5.0.0" + conventional-commits-parser: "npm:^6.0.0" + meow: "npm:^13.0.0" bin: - conventional-recommended-bump: cli.mjs - checksum: 10c0/ceec7dcfddfc6508d0ba3debef471b47d4db3a2112e269d5d736202b226651b31fcbd4790c9403b5b14e6501365527b8c2c4ce8836c6a09faf07cb7d03c1fe07 + conventional-recommended-bump: dist/cli/index.js + checksum: 10c0/f2a2486693689a431d0810b66fbbb3bad2344c5ae5bddd1680194c7edc9ff66785ab8d69f4234bc373dcde981a642dbe74df4aa944fe2dcde17854542dbfb88b languageName: node linkType: hard @@ -4250,13 +4233,6 @@ __metadata: languageName: node linkType: hard -"dargs@npm:^8.0.0": - version: 8.1.0 - resolution: "dargs@npm:8.1.0" - checksum: 10c0/08cbd1ee4ac1a16fb7700e761af2e3e22d1bdc04ac4f851926f552dde8f9e57714c0d04013c2cca1cda0cba8fb637e0f93ad15d5285547a939dd1989ee06a82d - languageName: node - linkType: hard - "data-uri-to-buffer@npm:^6.0.2": version: 6.0.2 resolution: "data-uri-to-buffer@npm:6.0.2" @@ -4617,7 +4593,7 @@ __metadata: languageName: node linkType: hard -"error-ex@npm:^1.3.1, error-ex@npm:^1.3.2": +"error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" dependencies: @@ -5372,6 +5348,13 @@ __metadata: languageName: node linkType: hard +"find-up-simple@npm:^1.0.0": + version: 1.0.0 + resolution: "find-up-simple@npm:1.0.0" + checksum: 10c0/de1ad5e55c8c162f5600fe3297bb55a3da5cd9cb8c6755e463ec1d52c4c15a84e312a68397fb5962d13263b3dbd4ea294668c465ccacc41291d7cc97588769f9 + languageName: node + linkType: hard + "find-up@npm:^3.0.0": version: 3.0.0 resolution: "find-up@npm:3.0.0" @@ -5401,16 +5384,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^6.3.0": - version: 6.3.0 - resolution: "find-up@npm:6.3.0" - dependencies: - locate-path: "npm:^7.1.0" - path-exists: "npm:^5.0.0" - checksum: 10c0/07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 - languageName: node - linkType: hard - "flat-cache@npm:^3.0.4": version: 3.2.0 resolution: "flat-cache@npm:3.2.0" @@ -5644,28 +5617,15 @@ __metadata: languageName: node linkType: hard -"git-raw-commits@npm:^4.0.0": - version: 4.0.0 - resolution: "git-raw-commits@npm:4.0.0" - dependencies: - dargs: "npm:^8.0.0" - meow: "npm:^12.0.1" - split2: "npm:^4.0.0" - bin: - git-raw-commits: cli.mjs - checksum: 10c0/ab51335d9e55692fce8e42788013dba7a7e7bf9f5bf0622c8cd7ddc9206489e66bb939563fca4edb3aa87477e2118f052702aad1933b13c6fa738af7f29884f0 - languageName: node - linkType: hard - -"git-semver-tags@npm:^7.0.0": - version: 7.0.1 - resolution: "git-semver-tags@npm:7.0.1" +"git-raw-commits@npm:^5.0.0": + version: 5.0.0 + resolution: "git-raw-commits@npm:5.0.0" dependencies: - meow: "npm:^12.0.1" - semver: "npm:^7.5.2" + "@conventional-changelog/git-client": "npm:^1.0.0" + meow: "npm:^13.0.0" bin: - git-semver-tags: cli.mjs - checksum: 10c0/6eec918f6324248faad98d8846cc8c73a73d735a182af3b2073e58a75c828487da0bbb6ae33d5b0302f006eed1af93b4a3ed732fcfc53152623ba5ee21504205 + git-raw-commits: src/cli.js + checksum: 10c0/92b28dc47eb7e3ce552daff44f266f34b004d0903605056a7ca6443e14372d05d8e676f94a2293ba0ffa586b8ec340832820a126ee42bfd2789b91fc8eba0753 languageName: node linkType: hard @@ -6105,6 +6065,13 @@ __metadata: languageName: node linkType: hard +"index-to-position@npm:^0.1.2": + version: 0.1.2 + resolution: "index-to-position@npm:0.1.2" + checksum: 10c0/7c91bde8bafc22684b74a7a24915bee4691cba48352ddb4ebe3b20a3a87bc0fa7a05f586137245ca8f92222a11f341f7631ff7f38cd78a523505d2d02dbfa257 + languageName: node + linkType: hard + "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -6546,15 +6513,6 @@ __metadata: languageName: node linkType: hard -"is-text-path@npm:^2.0.0": - version: 2.0.0 - resolution: "is-text-path@npm:2.0.0" - dependencies: - text-extensions: "npm:^2.0.0" - checksum: 10c0/e3c470e1262a3a54aa0fca1c0300b2659a7aed155714be6b643f88822c03bcfa6659b491f7a05c5acd3c1a3d6d42bab47e1bdd35bcc3a25973c4f26b2928bc1a - languageName: node - linkType: hard - "is-typed-array@npm:^1.1.13": version: 1.1.13 resolution: "is-typed-array@npm:1.1.13" @@ -7319,13 +7277,6 @@ __metadata: languageName: node linkType: hard -"json-parse-even-better-errors@npm:^3.0.0": - version: 3.0.2 - resolution: "json-parse-even-better-errors@npm:3.0.2" - checksum: 10c0/147f12b005768abe9fab78d2521ce2b7e1381a118413d634a40e6d907d7d10f5e9a05e47141e96d6853af7cc36d2c834d0a014251be48791e037ff2f13d2b94b - languageName: node - linkType: hard - "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -7340,13 +7291,6 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 - languageName: node - linkType: hard - "json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -7380,13 +7324,6 @@ __metadata: languageName: node linkType: hard -"jsonparse@npm:^1.2.0": - version: 1.3.1 - resolution: "jsonparse@npm:1.3.1" - checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.2.1": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -7472,13 +7409,6 @@ __metadata: languageName: node linkType: hard -"lines-and-columns@npm:^2.0.3": - version: 2.0.4 - resolution: "lines-and-columns@npm:2.0.4" - checksum: 10c0/4db28bf065cd7ad897c0700f22d3d0d7c5ed6777e138861c601c496d545340df3fc19e18bd04ff8d95a246a245eb55685b82ca2f8c2ca53a008e9c5316250379 - languageName: node - linkType: hard - "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -7507,15 +7437,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^7.1.0": - version: 7.2.0 - resolution: "locate-path@npm:7.2.0" - dependencies: - p-locate: "npm:^6.0.0" - checksum: 10c0/139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 - languageName: node - linkType: hard - "lodash.capitalize@npm:^4.2.1": version: 4.2.1 resolution: "lodash.capitalize@npm:4.2.1" @@ -7702,13 +7623,6 @@ __metadata: languageName: node linkType: hard -"meow@npm:^12.0.1": - version: 12.1.1 - resolution: "meow@npm:12.1.1" - checksum: 10c0/a125ca99a32e2306e2f4cbe651a0d27f6eb67918d43a075f6e80b35e9bf372ebf0fc3a9fbc201cbbc9516444b6265fb3c9f80c5b7ebd32f548aa93eb7c28e088 - languageName: node - linkType: hard - "meow@npm:^13.0.0, meow@npm:^13.2.0": version: 13.2.0 resolution: "meow@npm:13.2.0" @@ -8584,15 +8498,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" - dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 10c0/a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad - languageName: node - linkType: hard - "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -8620,15 +8525,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^6.0.0": - version: 6.0.0 - resolution: "p-locate@npm:6.0.0" - dependencies: - p-limit: "npm:^4.0.0" - checksum: 10c0/d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 - languageName: node - linkType: hard - "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -8728,16 +8624,14 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^7.0.0": - version: 7.1.1 - resolution: "parse-json@npm:7.1.1" +"parse-json@npm:^8.0.0": + version: 8.1.0 + resolution: "parse-json@npm:8.1.0" dependencies: - "@babel/code-frame": "npm:^7.21.4" - error-ex: "npm:^1.3.2" - json-parse-even-better-errors: "npm:^3.0.0" - lines-and-columns: "npm:^2.0.3" - type-fest: "npm:^3.8.0" - checksum: 10c0/a85ebc7430af7763fa52eb456d7efd35c35be5b06f04d8d80c37d0d33312ac6cdff12647acb9c95448dcc8b907dfafa81fb126e094aa132b0abc2a71b9df51d5 + "@babel/code-frame": "npm:^7.22.13" + index-to-position: "npm:^0.1.2" + type-fest: "npm:^4.7.1" + checksum: 10c0/39a49acafc1c41a763df2599a826eb77873a44b098a5f2ba548843229b334a16ff9d613d0381328e58031b0afaabc18ed2a01337a6522911ac7a81828df58bcb languageName: node linkType: hard @@ -8780,13 +8674,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^5.0.0": - version: 5.0.0 - resolution: "path-exists@npm:5.0.0" - checksum: 10c0/b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a - languageName: node - linkType: hard - "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -9200,26 +9087,27 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^10.0.0": - version: 10.1.0 - resolution: "read-pkg-up@npm:10.1.0" +"read-package-up@npm:^11.0.0": + version: 11.0.0 + resolution: "read-package-up@npm:11.0.0" dependencies: - find-up: "npm:^6.3.0" - read-pkg: "npm:^8.1.0" - type-fest: "npm:^4.2.0" - checksum: 10c0/16a96ad664ff1a983e30aea2bd9490b65e4c6f29fa54c6b2a89c9f1474847b3a181c902c50c724678d5146043fd731d98aa2d8f9d6857e0ce84a30cbfc8a6b21 + find-up-simple: "npm:^1.0.0" + read-pkg: "npm:^9.0.0" + type-fest: "npm:^4.6.0" + checksum: 10c0/ffee09613c2b3c3ff7e7b5e838aa01f33cba5c6dfa14f87bf6f64ed27e32678e5550e712fd7e3f3105a05c43aa774d084af04ee86d3044978edb69f30ee4505a languageName: node linkType: hard -"read-pkg@npm:^8.0.0, read-pkg@npm:^8.1.0": - version: 8.1.0 - resolution: "read-pkg@npm:8.1.0" +"read-pkg@npm:^9.0.0": + version: 9.0.1 + resolution: "read-pkg@npm:9.0.1" dependencies: - "@types/normalize-package-data": "npm:^2.4.1" + "@types/normalize-package-data": "npm:^2.4.3" normalize-package-data: "npm:^6.0.0" - parse-json: "npm:^7.0.0" - type-fest: "npm:^4.2.0" - checksum: 10c0/e50846bbfbe73f4b8fd8c23c523b2e9f1d78467297a870ff94a9e6db7eb65445a4a392bf2896b7566c1715d36492d92d368f1c4b38996dd3942fd1865eb22936 + parse-json: "npm:^8.0.0" + type-fest: "npm:^4.6.0" + unicorn-magic: "npm:^0.1.0" + checksum: 10c0/f3e27549dcdb18335597f4125a3d093a40ab0a18c16a6929a1575360ed5d8679b709b4a672730d9abf6aa8537a7f02bae0b4b38626f99409255acbd8f72f9964 languageName: node linkType: hard @@ -10004,13 +9892,6 @@ __metadata: languageName: node linkType: hard -"split2@npm:^4.0.0": - version: 4.2.0 - resolution: "split2@npm:4.2.0" - checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 - languageName: node - linkType: hard - "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -10380,13 +10261,6 @@ __metadata: languageName: node linkType: hard -"text-extensions@npm:^2.0.0": - version: 2.4.0 - resolution: "text-extensions@npm:2.4.0" - checksum: 10c0/6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb - languageName: node - linkType: hard - "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -10411,13 +10285,6 @@ __metadata: languageName: node linkType: hard -"through@npm:>=2.2.7 <3": - version: 2.3.8 - resolution: "through@npm:2.3.8" - checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc - languageName: node - linkType: hard - "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -10536,14 +10403,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^3.8.0": - version: 3.13.1 - resolution: "type-fest@npm:3.13.1" - checksum: 10c0/547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 - languageName: node - linkType: hard - -"type-fest@npm:^4.18.2, type-fest@npm:^4.2.0, type-fest@npm:^4.21.0": +"type-fest@npm:^4.18.2, type-fest@npm:^4.21.0, type-fest@npm:^4.6.0, type-fest@npm:^4.7.1": version: 4.26.1 resolution: "type-fest@npm:4.26.1" checksum: 10c0/d2719ff8d380befe8a3c61068f37f28d6fa2849fd140c5d2f0f143099e371da6856aad7c97e56b83329d45bfe504afe9fd936a7cff600cc0d46aa9ffb008d6c6 @@ -11152,13 +11012,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^1.0.0": - version: 1.1.1 - resolution: "yocto-queue@npm:1.1.1" - checksum: 10c0/cb287fe5e6acfa82690acb43c283de34e945c571a78a939774f6eaba7c285bacdf6c90fbc16ce530060863984c906d2b4c6ceb069c94d1e0a06d5f2b458e2a92 - languageName: node - linkType: hard - "yoctocolors-cjs@npm:^2.1.1": version: 2.1.2 resolution: "yoctocolors-cjs@npm:2.1.2" From a60ce287e1e6c476d0aaac98b9400f5a587fe17d Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 24 Oct 2024 09:36:26 +0200 Subject: [PATCH 15/86] refactor: 0.76 stable tweaks (#1682) --- examples/basic/components/AnimatedView.tsx | 32 +++++ .../__tests__/AnimatedView.test.tsx | 36 +++++ jest-setup.ts | 1 + jest.config.js | 2 +- package.json | 2 +- src/__tests__/fire-event.test.tsx | 1 - src/__tests__/react-native-animated.tsx | 67 +++++++++ src/matchers/__tests__/extend-expect.test.tsx | 13 -- src/matchers/__tests__/to-be-busy.test.tsx | 1 - src/matchers/__tests__/to-be-checked.test.tsx | 1 - .../__tests__/to-be-disabled.test.tsx | 1 - .../__tests__/to-be-empty-element.test.tsx | 1 - .../__tests__/to-be-expanded.test.tsx | 1 - .../__tests__/to-be-on-the-screen.test.tsx | 1 - .../to-be-partially-checked.test.tsx | 1 - .../__tests__/to-be-selected.test.tsx | 1 - src/matchers/__tests__/to-be-visible.test.tsx | 1 - .../__tests__/to-contain-element.test.tsx | 1 - .../to-have-accessibility-value.test.tsx | 1 - .../to-have-accessible-name.test.tsx | 1 - .../__tests__/to-have-display-value.test.tsx | 1 - src/matchers/__tests__/to-have-prop.test.tsx | 1 - src/matchers/__tests__/to-have-style.test.tsx | 1 - .../__tests__/to-have-text-content.test.tsx | 1 - src/user-event/__tests__/clear.test.tsx | 1 - src/user-event/__tests__/paste.test.tsx | 1 - .../__tests__/scroll-to-flat-list.test.tsx | 1 - src/user-event/type/__tests__/type.test.tsx | 1 - yarn.lock | 132 +++++++++--------- 29 files changed, 204 insertions(+), 102 deletions(-) create mode 100644 examples/basic/components/AnimatedView.tsx create mode 100644 examples/basic/components/__tests__/AnimatedView.test.tsx create mode 100644 src/__tests__/react-native-animated.tsx delete mode 100644 src/matchers/__tests__/extend-expect.test.tsx diff --git a/examples/basic/components/AnimatedView.tsx b/examples/basic/components/AnimatedView.tsx new file mode 100644 index 000000000..d2f2a2e12 --- /dev/null +++ b/examples/basic/components/AnimatedView.tsx @@ -0,0 +1,32 @@ +import * as React from 'react'; +import { Animated, ViewStyle } from 'react-native'; + +type AnimatedViewProps = { + fadeInDuration?: number; + style?: ViewStyle; + children: React.ReactNode; + useNativeDriver?: boolean; +}; + +export function AnimatedView(props: AnimatedViewProps) { + const fadeAnim = React.useRef(new Animated.Value(0)).current; // Initial value for opacity: 0 + + React.useEffect(() => { + Animated.timing(fadeAnim, { + toValue: 1, + duration: props.fadeInDuration ?? 250, + useNativeDriver: props.useNativeDriver ?? true, + }).start(); + }, [fadeAnim]); + + return ( + + {props.children} + + ); +} diff --git a/examples/basic/components/__tests__/AnimatedView.test.tsx b/examples/basic/components/__tests__/AnimatedView.test.tsx new file mode 100644 index 000000000..ceea50575 --- /dev/null +++ b/examples/basic/components/__tests__/AnimatedView.test.tsx @@ -0,0 +1,36 @@ +import { act, render, screen } from '@testing-library/react-native'; +import { AnimatedView } from '../AnimatedView'; + +describe('AnimatedView', () => { + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + it('should use native driver when useNativeDriver is true', async () => { + render( + + Test + , + ); + expect(screen.root).toHaveStyle({ opacity: 0 }); + + await act(() => jest.advanceTimersByTime(250)); + expect(screen.root).toHaveStyle({ opacity: 1 }); + }); + + it('should not use native driver when useNativeDriver is false', async () => { + render( + + Test + , + ); + expect(screen.root).toHaveStyle({ opacity: 0 }); + + await act(() => jest.advanceTimersByTime(250)); + expect(screen.root).toHaveStyle({ opacity: 1 }); + }); +}); diff --git a/jest-setup.ts b/jest-setup.ts index f120a77e7..a4d893a18 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -1,4 +1,5 @@ import { resetToDefaults } from './src/pure'; +import './src/matchers/extend-expect'; beforeEach(() => { resetToDefaults(); diff --git a/jest.config.js b/jest.config.js index d99aa4dc6..5018adce5 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,7 @@ module.exports = { preset: './jest-preset', setupFilesAfterEnv: ['./jest-setup.ts'], - testPathIgnorePatterns: ['timer-utils', 'examples/', 'experiments-app/', 'experiments-rtl/'], + testPathIgnorePatterns: ['build/', 'examples/', 'experiments-app/', 'timer-utils'], testTimeout: 60000, transformIgnorePatterns: ['/node_modules/(?!(@react-native|react-native)/).*/'], snapshotSerializers: ['@relmify/jest-serializer-strip-ansi/always'], diff --git a/package.json b/package.json index b8adbaeaf..d4bb14aa2 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "jest": "^29.7.0", "prettier": "^2.8.8", "react": "18.3.1", - "react-native": "0.76.0-rc.6", + "react-native": "0.76.0", "react-test-renderer": "18.3.1", "release-it": "^17.6.0", "strip-ansi": "^6.0.1", diff --git a/src/__tests__/fire-event.test.tsx b/src/__tests__/fire-event.test.tsx index 2adf0ba78..d8671e1a3 100644 --- a/src/__tests__/fire-event.test.tsx +++ b/src/__tests__/fire-event.test.tsx @@ -9,7 +9,6 @@ import { View, } from 'react-native'; import { fireEvent, render, screen } from '..'; -import '../matchers/extend-expect'; type OnPressComponentProps = { onPress: () => void; diff --git a/src/__tests__/react-native-animated.tsx b/src/__tests__/react-native-animated.tsx new file mode 100644 index 000000000..7c33ed5e6 --- /dev/null +++ b/src/__tests__/react-native-animated.tsx @@ -0,0 +1,67 @@ +import * as React from 'react'; +import { Animated, ViewStyle } from 'react-native'; +import { act, render, screen } from '..'; + +type AnimatedViewProps = { + fadeInDuration?: number; + style?: ViewStyle; + children: React.ReactNode; + useNativeDriver?: boolean; +}; + +function AnimatedView(props: AnimatedViewProps) { + const fadeAnim = React.useRef(new Animated.Value(0)).current; // Initial value for opacity: 0 + + React.useEffect(() => { + Animated.timing(fadeAnim, { + toValue: 1, + duration: props.fadeInDuration ?? 250, + useNativeDriver: props.useNativeDriver ?? true, + }).start(); + }, [fadeAnim, props.fadeInDuration, props.useNativeDriver]); + + return ( + + {props.children} + + ); +} + +describe('AnimatedView', () => { + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + it('should use native driver when useNativeDriver is true', async () => { + render( + + Test + , + ); + expect(screen.root).toHaveStyle({ opacity: 0 }); + + await act(() => jest.advanceTimersByTime(250)); + expect(screen.root).toHaveStyle({ opacity: 1 }); + }); + + it('should not use native driver when useNativeDriver is false', async () => { + render( + + Test + , + ); + expect(screen.root).toHaveStyle({ opacity: 0 }); + + await act(() => jest.advanceTimersByTime(250)); + expect(screen.root).toHaveStyle({ opacity: 1 }); + }); +}); diff --git a/src/matchers/__tests__/extend-expect.test.tsx b/src/matchers/__tests__/extend-expect.test.tsx deleted file mode 100644 index 1889926aa..000000000 --- a/src/matchers/__tests__/extend-expect.test.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from 'react'; -import { View } from 'react-native'; - -// Note: that must point to root of the /src to reliably replicate default import. -import { render } from '../..'; - -// This is check that RNTL does not extend "expect" by default, until we actually want to expose Jest matchers publically. -test('does not extend "expect" by default', () => { - render(); - - // @ts-expect-error - expect(expect.toBeOnTheScreen).toBeUndefined(); -}); diff --git a/src/matchers/__tests__/to-be-busy.test.tsx b/src/matchers/__tests__/to-be-busy.test.tsx index 8de385f42..db189fabd 100644 --- a/src/matchers/__tests__/to-be-busy.test.tsx +++ b/src/matchers/__tests__/to-be-busy.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeBusy() basic case', () => { render( diff --git a/src/matchers/__tests__/to-be-checked.test.tsx b/src/matchers/__tests__/to-be-checked.test.tsx index 85dc39aa7..6cf432b85 100644 --- a/src/matchers/__tests__/to-be-checked.test.tsx +++ b/src/matchers/__tests__/to-be-checked.test.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { type AccessibilityRole, Switch, View } from 'react-native'; import render from '../../render'; import { screen } from '../../screen'; -import '../extend-expect'; function renderViewsWithRole(role: AccessibilityRole) { render( diff --git a/src/matchers/__tests__/to-be-disabled.test.tsx b/src/matchers/__tests__/to-be-disabled.test.tsx index f43757cb4..cceb24037 100644 --- a/src/matchers/__tests__/to-be-disabled.test.tsx +++ b/src/matchers/__tests__/to-be-disabled.test.tsx @@ -11,7 +11,6 @@ import { View, } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeDisabled()/toBeEnabled() supports basic case', () => { render( diff --git a/src/matchers/__tests__/to-be-empty-element.test.tsx b/src/matchers/__tests__/to-be-empty-element.test.tsx index a63256012..bb90012d0 100644 --- a/src/matchers/__tests__/to-be-empty-element.test.tsx +++ b/src/matchers/__tests__/to-be-empty-element.test.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; // eslint-disable-next-line @typescript-eslint/no-unused-vars function DoNotRenderChildren({ children }: { children: React.ReactNode }) { diff --git a/src/matchers/__tests__/to-be-expanded.test.tsx b/src/matchers/__tests__/to-be-expanded.test.tsx index b82dd6ed7..e1e92e806 100644 --- a/src/matchers/__tests__/to-be-expanded.test.tsx +++ b/src/matchers/__tests__/to-be-expanded.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeExpanded() basic case', () => { render( diff --git a/src/matchers/__tests__/to-be-on-the-screen.test.tsx b/src/matchers/__tests__/to-be-on-the-screen.test.tsx index 217f06d0b..9b01b7354 100644 --- a/src/matchers/__tests__/to-be-on-the-screen.test.tsx +++ b/src/matchers/__tests__/to-be-on-the-screen.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View, Text } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeOnTheScreen() example test', () => { render( diff --git a/src/matchers/__tests__/to-be-partially-checked.test.tsx b/src/matchers/__tests__/to-be-partially-checked.test.tsx index 69df9b76c..03ab58290 100644 --- a/src/matchers/__tests__/to-be-partially-checked.test.tsx +++ b/src/matchers/__tests__/to-be-partially-checked.test.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { type AccessibilityRole, View } from 'react-native'; import render from '../../render'; import { screen } from '../../screen'; -import '../extend-expect'; function renderViewsWithRole(role: AccessibilityRole) { return render( diff --git a/src/matchers/__tests__/to-be-selected.test.tsx b/src/matchers/__tests__/to-be-selected.test.tsx index aedbacf08..7787cb34e 100644 --- a/src/matchers/__tests__/to-be-selected.test.tsx +++ b/src/matchers/__tests__/to-be-selected.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeSelected() basic case', () => { render( diff --git a/src/matchers/__tests__/to-be-visible.test.tsx b/src/matchers/__tests__/to-be-visible.test.tsx index 380bf84dd..df04f5e2f 100644 --- a/src/matchers/__tests__/to-be-visible.test.tsx +++ b/src/matchers/__tests__/to-be-visible.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View, Modal } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toBeVisible() on empty view', () => { render(); diff --git a/src/matchers/__tests__/to-contain-element.test.tsx b/src/matchers/__tests__/to-contain-element.test.tsx index 28071ed7b..dabb95182 100644 --- a/src/matchers/__tests__/to-contain-element.test.tsx +++ b/src/matchers/__tests__/to-contain-element.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toContainElement() supports basic case', () => { render( diff --git a/src/matchers/__tests__/to-have-accessibility-value.test.tsx b/src/matchers/__tests__/to-have-accessibility-value.test.tsx index 57efe8f31..fd2602eaa 100644 --- a/src/matchers/__tests__/to-have-accessibility-value.test.tsx +++ b/src/matchers/__tests__/to-have-accessibility-value.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; describe('toHaveAccessibilityValue', () => { it('supports "accessibilityValue.min"', () => { diff --git a/src/matchers/__tests__/to-have-accessible-name.test.tsx b/src/matchers/__tests__/to-have-accessible-name.test.tsx index 4bb8f92cc..d797bacaf 100644 --- a/src/matchers/__tests__/to-have-accessible-name.test.tsx +++ b/src/matchers/__tests__/to-have-accessible-name.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View, Text, TextInput, Image } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toHaveAccessibleName() handles view with "accessibilityLabel" prop', () => { render(); diff --git a/src/matchers/__tests__/to-have-display-value.test.tsx b/src/matchers/__tests__/to-have-display-value.test.tsx index e5ebd7e47..547d3c1d5 100644 --- a/src/matchers/__tests__/to-have-display-value.test.tsx +++ b/src/matchers/__tests__/to-have-display-value.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { TextInput, View } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toHaveDisplayValue() example test', () => { render(); diff --git a/src/matchers/__tests__/to-have-prop.test.tsx b/src/matchers/__tests__/to-have-prop.test.tsx index 5eb1c214b..42d811a96 100644 --- a/src/matchers/__tests__/to-have-prop.test.tsx +++ b/src/matchers/__tests__/to-have-prop.test.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { View, Text, TextInput } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toHaveProp() basic case', () => { render( diff --git a/src/matchers/__tests__/to-have-style.test.tsx b/src/matchers/__tests__/to-have-style.test.tsx index d102acc8a..a47b712e1 100644 --- a/src/matchers/__tests__/to-have-style.test.tsx +++ b/src/matchers/__tests__/to-have-style.test.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { StyleSheet, View, Pressable } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; const styles = StyleSheet.create({ container: { borderBottomColor: 'white' }, diff --git a/src/matchers/__tests__/to-have-text-content.test.tsx b/src/matchers/__tests__/to-have-text-content.test.tsx index 082555a96..54801b088 100644 --- a/src/matchers/__tests__/to-have-text-content.test.tsx +++ b/src/matchers/__tests__/to-have-text-content.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { View, Text } from 'react-native'; import { render, screen } from '../..'; -import '../extend-expect'; test('toHaveTextContent() example test', () => { render( diff --git a/src/user-event/__tests__/clear.test.tsx b/src/user-event/__tests__/clear.test.tsx index c7f4b1d95..cb4c715a7 100644 --- a/src/user-event/__tests__/clear.test.tsx +++ b/src/user-event/__tests__/clear.test.tsx @@ -2,7 +2,6 @@ import * as React from 'react'; import { TextInput, TextInputProps, View } from 'react-native'; import { createEventLogger, getEventsNames } from '../../test-utils'; import { render, userEvent, screen } from '../..'; -import '../../matchers/extend-expect'; beforeEach(() => { jest.useRealTimers(); diff --git a/src/user-event/__tests__/paste.test.tsx b/src/user-event/__tests__/paste.test.tsx index 9226a6595..cbfb6c323 100644 --- a/src/user-event/__tests__/paste.test.tsx +++ b/src/user-event/__tests__/paste.test.tsx @@ -2,7 +2,6 @@ import * as React from 'react'; import { TextInput, TextInputProps, View } from 'react-native'; import { createEventLogger, getEventsNames } from '../../test-utils'; import { render, userEvent, screen } from '../..'; -import '../../matchers/extend-expect'; beforeEach(() => { jest.useRealTimers(); diff --git a/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx b/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx index 84be91eda..61e843a5a 100644 --- a/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx +++ b/src/user-event/scroll/__tests__/scroll-to-flat-list.test.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { FlatList, ScrollViewProps, Text, View } from 'react-native'; import { render, screen } from '../../..'; -import '../../../matchers/extend-expect'; import { EventEntry, createEventLogger } from '../../../test-utils'; import { userEvent } from '../..'; diff --git a/src/user-event/type/__tests__/type.test.tsx b/src/user-event/type/__tests__/type.test.tsx index 8e55c7744..5753f4168 100644 --- a/src/user-event/type/__tests__/type.test.tsx +++ b/src/user-event/type/__tests__/type.test.tsx @@ -3,7 +3,6 @@ import { TextInput, TextInputProps, View } from 'react-native'; import { createEventLogger, getEventsNames, lastEventPayload } from '../../../test-utils'; import { render, screen } from '../../..'; import { userEvent } from '../..'; -import '../../../matchers/extend-expect'; beforeEach(() => { jest.useRealTimers(); diff --git a/yarn.lock b/yarn.lock index d65b82e02..4b580a77c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2311,25 +2311,25 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/assets-registry@npm:0.76.0-rc.6" - checksum: 10c0/1b56e945d826c30caa9392cf111086ffc88cd9dfe28058d1f85f570f5d8684336633170ad1b9181949c13c7e1b7c3bf8cb1b382219a5426d9988850a2740c709 +"@react-native/assets-registry@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/assets-registry@npm:0.76.0" + checksum: 10c0/a8543167afbd2a2d63ec8518f41efddbb3de39ad5905cb98002fdfad7441ade6ae05d86321aea43e366fa9b2336a9bca67d14c89f064e5c7064cd98334ba82c0 languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/babel-plugin-codegen@npm:0.76.0-rc.6" +"@react-native/babel-plugin-codegen@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/babel-plugin-codegen@npm:0.76.0" dependencies: - "@react-native/codegen": "npm:0.76.0-rc.6" - checksum: 10c0/78a3b9d17a3dfb7aace63a30e2fc7970f93f8439ebf4a97ee66058c54d336ace0a723b16edd8666c2f6bf88225b7c449c11934f9731f40b19ebb4657bcaf28ad + "@react-native/codegen": "npm:0.76.0" + checksum: 10c0/c1816b80c0cde1f48f91584f873ad5740669c6324c533239ccc7131fbbbc6b810ca2a0d7e8da21783e004a7dc2660b2501a868b4375ba835679eb05d1c239044 languageName: node linkType: hard -"@react-native/babel-preset@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/babel-preset@npm:0.76.0-rc.6" +"@react-native/babel-preset@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/babel-preset@npm:0.76.0" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -2372,19 +2372,19 @@ __metadata: "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/template": "npm:^7.25.0" - "@react-native/babel-plugin-codegen": "npm:0.76.0-rc.6" + "@react-native/babel-plugin-codegen": "npm:0.76.0" babel-plugin-syntax-hermes-parser: "npm:^0.23.1" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/8d7d0eaf9d44c7b797306f040200644e2bcb324b0256e07a859143b14398a3be8b75c79871def21e57d4628268d4adaec11a12cd5d37090f2ebe2897341232c8 + checksum: 10c0/43074771fe1c74379d3fdefa54b15e60c08b7cbc4649e1c0ab53d3d86e3776ad4ca5627985b6e98bab9c5927cf1fcf820a66fb5397d5ffb4174de33ed8b8877b languageName: node linkType: hard -"@react-native/codegen@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/codegen@npm:0.76.0-rc.6" +"@react-native/codegen@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/codegen@npm:0.76.0" dependencies: "@babel/parser": "npm:^7.25.3" glob: "npm:^7.1.1" @@ -2396,16 +2396,16 @@ __metadata: yargs: "npm:^17.6.2" peerDependencies: "@babel/preset-env": ^7.1.6 - checksum: 10c0/4f806b77037758040894f88b4db78c6c1600e9e5cbfa7e87a5e369a9b33f10594840d800486ec23e4f93ff0a6ef168d391c85f7ed7e6fab8f6bccb65e1a636d3 + checksum: 10c0/0cdad654b4f4b86ad526188f5adda59dd9f1b38057749580c72e21e58b1183d8e7593fc7b8614dd1330b101fd4418d2f96d4c0e5af70ad2f2fc1639b1832d76f languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/community-cli-plugin@npm:0.76.0-rc.6" +"@react-native/community-cli-plugin@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/community-cli-plugin@npm:0.76.0" dependencies: - "@react-native/dev-middleware": "npm:0.76.0-rc.6" - "@react-native/metro-babel-transformer": "npm:0.76.0-rc.6" + "@react-native/dev-middleware": "npm:0.76.0" + "@react-native/metro-babel-transformer": "npm:0.76.0" chalk: "npm:^4.0.0" execa: "npm:^5.1.1" invariant: "npm:^2.2.4" @@ -2419,23 +2419,23 @@ __metadata: peerDependenciesMeta: "@react-native-community/cli-server-api": optional: true - checksum: 10c0/f9282893c10a95ff770a57568d5ef56af8993ef93d1f1008423616f76f0ec486f784779db185619107883eb3d985085f22006478dd35704f097ea52c399288d9 + checksum: 10c0/b7bf144542264e52bdc49e124a6613debc9c590283999e3e6ef420b36cbb77578f99f05a9ca57dd802e042108a6b5a46428014f9d1f6fe48c18a8b52f9697801 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/debugger-frontend@npm:0.76.0-rc.6" - checksum: 10c0/f7165edf061faa9cc4f70b5b537f84489f6cecfe6e11995a32fac1e699db0eaef9c6a8756596a2e0ee2d07269b3d5eaadc1e680b2d61a60162b2663e30c0cba6 +"@react-native/debugger-frontend@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/debugger-frontend@npm:0.76.0" + checksum: 10c0/115db2f3fab68791606bea674718fb96ed684754f346a4d3e12f44f2486cb0bb0935c6c7bce318bcf5be8010eca4e111e0ae74a591c8f845d0e106a5ecac2dbf languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/dev-middleware@npm:0.76.0-rc.6" +"@react-native/dev-middleware@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/dev-middleware@npm:0.76.0" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.76.0-rc.6" + "@react-native/debugger-frontend": "npm:0.76.0" chrome-launcher: "npm:^0.15.2" chromium-edge-launcher: "npm:^0.2.0" connect: "npm:^3.6.5" @@ -2445,7 +2445,7 @@ __metadata: selfsigned: "npm:^2.4.1" serve-static: "npm:^1.13.1" ws: "npm:^6.2.3" - checksum: 10c0/e2e61b8bbfef3dd4e1d7e18019884c63e5880f208b43b365a17a8acd0e4787fb0cae47a925de41ff2f7d48fd577d44ec00f6262f854e67c769a8e55382a11db9 + checksum: 10c0/b39deb0db79a2e8cc7b72417fdbbb3907dc7c178a8974cce928e7acf061e961793c9fa3ce2f1dfda53a6fcc5e5bcdf00bd37b291e0b0d860e6d6970159115362 languageName: node linkType: hard @@ -2456,44 +2456,44 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/gradle-plugin@npm:0.76.0-rc.6" - checksum: 10c0/709fca442b5f361f17f4e11b6933d6ff3f2218068fd362f4dd869a6561b18a42d2fdc6697c5bdebd78481a03a5859b394f47256f89ffbc0ae3194fcc33b7f5c3 +"@react-native/gradle-plugin@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/gradle-plugin@npm:0.76.0" + checksum: 10c0/4d88a2df24356a4c9ea9438bb2ff623377d69276802e7a3dfa6e441cbc79a42f0ca216abec8a55d104e4146c72f8e4404c06cd7a4071bc91af9a733966689637 languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/js-polyfills@npm:0.76.0-rc.6" - checksum: 10c0/1f52ea386de0ee00bad058dd3036a7f7470518720bbc2d1d0041ecf48ace7b2906bd7611c448c433592866a3373b84a65f40457506c54d40a73a1e9e947c04da +"@react-native/js-polyfills@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/js-polyfills@npm:0.76.0" + checksum: 10c0/ca9ed75a1920ae84ca393d22681fa7d99482ee627e6f6e30c83eb513554a905029d40ffb019c63b57b8548d8ffd3e1160c86f667b91c6ec21dd1d22aefad7215 languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/metro-babel-transformer@npm:0.76.0-rc.6" +"@react-native/metro-babel-transformer@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/metro-babel-transformer@npm:0.76.0" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.76.0-rc.6" + "@react-native/babel-preset": "npm:0.76.0" hermes-parser: "npm:0.23.1" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10c0/1b3d927f5abc930851f11811a3204c450918cd7ae64b560c35c6015333e8b5b9d2f611d5deb1897c9c1b006103d9032bf13872b7885dd64786a6dd9419868e0a + checksum: 10c0/1d425615136e2f951dd153f8fd7d41e7fbf41fbbc6d205335d3863a67c0ab51f0e9e7804e506012bbd52dcb229bfeee6d6d6264eac3a9499439e7db823b4d708 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/normalize-colors@npm:0.76.0-rc.6" - checksum: 10c0/648f1aef7ed9b3036f05664948bf0fc95aba11ba8412a188891427cc45a0198d523f1bdecbb41e195a1f2806d86eed62e3bd29a2aec288d94513c5e390d07e12 +"@react-native/normalize-colors@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/normalize-colors@npm:0.76.0" + checksum: 10c0/4218ef1f785ab5f4d9fe29a314abdce9e1ba5a193cb8b0f2c8fa821bb72c33c54548bda2128c6de488f055898e407e8553db1adecd6cbe34503f2b55e9e35c0f languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "@react-native/virtualized-lists@npm:0.76.0-rc.6" +"@react-native/virtualized-lists@npm:0.76.0": + version: 0.76.0 + resolution: "@react-native/virtualized-lists@npm:0.76.0" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" @@ -2504,7 +2504,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/1e87281b87105d6d8198644dc7b0eefe9996dc9c29f4ae585e87a2e66344f3874115dd7ab1fe2625643529ecb43b4b1e8b0af5bcb69b878c227273147863e07c + checksum: 10c0/37979b170b9ac4768efb4306c05424613f7f7339b3496fd7eeac074b1439a3b16323d5cd91a94d81ee314c5841e238c49a25401a4e6cfbd06d9c87424796c79f languageName: node linkType: hard @@ -2597,7 +2597,7 @@ __metadata: prettier: "npm:^2.8.8" pretty-format: "npm:^29.7.0" react: "npm:18.3.1" - react-native: "npm:0.76.0-rc.6" + react-native: "npm:0.76.0" react-test-renderer: "npm:18.3.1" redent: "npm:^3.0.0" release-it: "npm:^17.6.0" @@ -8992,18 +8992,18 @@ __metadata: languageName: node linkType: hard -"react-native@npm:0.76.0-rc.6": - version: 0.76.0-rc.6 - resolution: "react-native@npm:0.76.0-rc.6" +"react-native@npm:0.76.0": + version: 0.76.0 + resolution: "react-native@npm:0.76.0" dependencies: "@jest/create-cache-key-function": "npm:^29.6.3" - "@react-native/assets-registry": "npm:0.76.0-rc.6" - "@react-native/codegen": "npm:0.76.0-rc.6" - "@react-native/community-cli-plugin": "npm:0.76.0-rc.6" - "@react-native/gradle-plugin": "npm:0.76.0-rc.6" - "@react-native/js-polyfills": "npm:0.76.0-rc.6" - "@react-native/normalize-colors": "npm:0.76.0-rc.6" - "@react-native/virtualized-lists": "npm:0.76.0-rc.6" + "@react-native/assets-registry": "npm:0.76.0" + "@react-native/codegen": "npm:0.76.0" + "@react-native/community-cli-plugin": "npm:0.76.0" + "@react-native/gradle-plugin": "npm:0.76.0" + "@react-native/js-polyfills": "npm:0.76.0" + "@react-native/normalize-colors": "npm:0.76.0" + "@react-native/virtualized-lists": "npm:0.76.0" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" @@ -9042,7 +9042,7 @@ __metadata: optional: true bin: react-native: cli.js - checksum: 10c0/98d260a1de63fc26c131571475e775608b1838a0ca2c637d6308b04595636fd31054392e8a6e822946a8e2e337e3b71c8c0802d9ac358828419f5dbd446303d5 + checksum: 10c0/a24304cc08e3409a820704c4f45f47b994d72906835abb32e8b5289de2bcb6e1f029cba0238163fce88fb7dde6c1b8624934ec4ad937902dc08ee15e7db43503 languageName: node linkType: hard From c56b223a5a2940359c27c862f3ff3cdb1fd36a55 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 24 Oct 2024 09:42:12 +0200 Subject: [PATCH 16/86] chore: upgrade deps 2024-10-24 (#1683) --- package.json | 24 +- yarn.lock | 1551 +++++++++++++++++++++++++------------------------- 2 files changed, 787 insertions(+), 788 deletions(-) diff --git a/package.json b/package.json index d4bb14aa2..f3ab481d1 100644 --- a/package.json +++ b/package.json @@ -62,22 +62,22 @@ } }, "devDependencies": { - "@babel/cli": "^7.24.8", - "@babel/core": "^7.25.2", - "@babel/plugin-transform-flow-strip-types": "^7.25.2", - "@babel/preset-env": "^7.25.3", - "@babel/preset-flow": "^7.24.7", - "@babel/preset-react": "^7.24.7", - "@babel/preset-typescript": "^7.24.7", + "@babel/cli": "^7.25.9", + "@babel/core": "^7.25.9", + "@babel/plugin-transform-flow-strip-types": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-flow": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", "@callstack/eslint-config": "^15.0.0", - "@release-it/conventional-changelog": "^9.0.0", + "@release-it/conventional-changelog": "^9.0.1", "@relmify/jest-serializer-strip-ansi": "^1.0.2", - "@types/jest": "^29.5.12", - "@types/react": "^18.3.3", + "@types/jest": "^29.5.14", + "@types/react": "^18.3.12", "@types/react-test-renderer": "^18.3.0", "babel-jest": "^29.7.0", "del-cli": "^6.0.0", - "eslint": "^8.57.0", + "eslint": "^8.57.1", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-prettier": "^4.2.1", "flow-bin": "~0.170.0", @@ -86,7 +86,7 @@ "react": "18.3.1", "react-native": "0.76.0", "react-test-renderer": "18.3.1", - "release-it": "^17.6.0", + "release-it": "^17.10.0", "strip-ansi": "^6.0.1", "typescript": "^5.5.4" }, diff --git a/yarn.lock b/yarn.lock index 4b580a77c..49026c23c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:^7.24.8": - version: 7.25.7 - resolution: "@babel/cli@npm:7.25.7" +"@babel/cli@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/cli@npm:7.25.9" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" @@ -38,53 +38,53 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: 10c0/bbbc53eef15844b0bfb737d7d134f979d42c51a269e2aee994b02eb9216a22e8dd3d790d5ae9f5b5c003e01eccfc164c14aaa1ad989695e0154f66a588f77d42 + checksum: 10c0/2e8228c3715e220fa902888c643ce1a89c4ee90be3d9f7a31218d5bb2500456e0cef12cb90fd5877ab3e5a4498df8f27670425d346422a3eb52052fd3184d520 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/code-frame@npm:7.25.9" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/highlight": "npm:^7.25.9" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/88562eba0eeb5960b7004e108790aa00183d90cbbe70ce10dad01c2c48141d2ef54d6dcd0c678cc1e456de770ffeb68e28559f4d222c01a110c79aea8733074b languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/compat-data@npm:7.25.8" - checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/compat-data@npm:7.25.9" + checksum: 10c0/8d9fc2074311ce61aaf5bccf740a808644d19d4859caf5fa46d8a7186a1ee0b0d8cbbc23f9371f8b397e84a885bdeab58d5f22d6799ddde55973252aac351a27 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.22.20, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.22.20, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard "@babel/eslint-parser@npm:^7.22.15": - version: 7.25.8 - resolution: "@babel/eslint-parser@npm:7.25.8" + version: 7.25.9 + resolution: "@babel/eslint-parser@npm:7.25.9" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -92,81 +92,81 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/3f62111b83f367652a690eb0e8714696a97df875b4df4ddabb58f3fcec628ae6501a3742f6af6c2a1f4b6b4df00d38e9063082bb82dae43b319e56afd884dae7 + checksum: 10c0/7dc525da9a076906aff562f82373765785732edf306e2be6497e347ed73be80d3544f2f845a77c2376bfa1c7c8c3580ea7346b12b78d8ddf4365c44fe9c35c4b languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.7, @babel/generator@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.9, @babel/generator@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/generator@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.9" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/fca49a1440ac550bb835a73c0e8314849cd493a468a5431ca7f9dbb3d3443e3a1a6dcba2426752e8a97cc2feed4a3b7a0c639e1c45871c4a9dd0c994f08dd25a languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/2f020b0fa9d336b5778485cc2de3141561ec436a7591b685457a5bcdae4ce41d9ddee68169c95504e0789e5a4327e73b8b7e72e5b60e82e96d730c4d19255248 + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/e9dc5a7920a1d74150dec53ccd5e34f2b31ae307df7cdeec6289866f7bda97ecb1328b49a7710ecde5db5b6daad768c904a030f9a0fa3184963b0017622c42aa + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/405c3c1a137acda1206380a96993cf2cfd808b3bee1c11c4af47ee0f03a20858497aa53394d6adc5431793c543be5e02010620e871a5ab39d938ae90a54b50f2 + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" regexpu-core: "npm:^6.1.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/75919fd5a67cd7be8497b56f7b9ed6b4843cb401956ba8d403aa9ae5b005bc28e35c7f27e704d820edbd1154394ed7a7984d4719916795d89d716f6980fe8bd4 + checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef languageName: node linkType: hard @@ -185,223 +185,223 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/1e948162ab48d84593a7c6ec9570d14c906146f1697144fc369c59dbeb00e4a062da67dd06cb0d8f98a044cd8389002dcf2ab6f5613d99c35748307846ec63fc + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-transforms@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/cd005e7585806845d79c5c0ca9e8926f186b430b0a558dad08a3611365eaad3ac587672b0d903530117dec454f48b6bdc3d164b19ea1b71ca1b4eb3be7b452ef languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/19b4cc7e77811b1fedca4928dbc14026afef913c2ba4142e5e110ebdcb5c3b2efc0f0fbee9f362c23a194674147b9d627adea71c289b9be08b9067bc0085308b + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.25.7 - resolution: "@babel/helper-plugin-utils@npm:7.25.7" - checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7" +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-wrap-function": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/972d84876adce6ab61c87a2df47e1afc790b73cff0d1767d0a1c5d9f7aa5e91d8c581a272b66b2051a26cfbb167d8a780564705e488e3ce1f477f1c15059bc5f + checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-replace-supers@npm:7.25.7" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/761d64ee74429f7326a6aa65e2cd5bfcb8de9e3bc3f1efb14b8f610d2410f003b0fca52778dc801d49ff8fbc90b057e8f51b27c62b0b05c95eaf23140ca1287b + checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/5804adb893849a9d8cfb548e3812566a81d95cb0c9a10d66b52912d13f488e577c33063bf19bc06ac70e6333162a7370d67ba1a1c3544d37fb50d5f4a00db4de + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-wrap-function@npm:7.25.7" +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/b5d412f72697f4a4ce4cb9784fbaf82501c63cf95066c0eadd3179e3439cbbf0aa5fa4858d93590083671943cd357aeb87286958df34aa56fdf8a4c9dea39755 + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helpers@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/4354fbf050291937d0f127f6f927a0c471b604524e0767516fefb91dc36427f25904dd0d2b2b3bbc66bce1894c680cc37eac9ab46970d70f24bf3e53375612de languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" +"@babel/highlight@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/highlight@npm:7.25.9" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa + checksum: 10c0/ae0ed93c151b85a07df42936117fa593ce91563a22dfc8944a90ae7088c9679645c33e00dcd20b081c1979665d65f986241172dae1fc9e5922692fc3ff685a49 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/parser@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.8" + "@babel/types": "npm:^7.25.9" bin: parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/143faff8a72331be5ed94080e0f4645cbeea814fb488cd9210154083735f67cb66fde32f6a4a80efd6c4cdf12c6f8b50995a465846093c7f65c5da8d7829627c languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/c6ba97c39973897a2ab021c4a77221e1e93e853a5811d498db325da1bd692e41fa521db6d91bb709ccafd4e54ddd00869ffb35846923c3ccd49d46124b316904 + checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ac284868bf410f952c6959b0d77708464127160416f003b05c8127d30e64792d671abc167ebf778b17707e32174223ea8d3ff487276991fa90297d92f0dac6e2 + checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/1bffc0a20c8c82b4c77515eb4c99b961b38184116f008bb42bed4e12d3379ba7b2bc6cf299bcea8118d645bb7a5e0caa83969842f16dd1fce49fb3a050e4ac65 + checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/32223f012614a0b2657579317ded7d0d09af2aa316285715c5012f974d0f15c2ce2fe0d8e80fdd9bac6c10c21c93cc925a9dfd6c8e21ce7ba1a9fe06a58088b4 + checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/aa2ee7a5954d187de6cbcca0e0b64cfb79c4d224c332d1eb1e0e4afd92ef1a1f4bc4af24f66154097ccb348c08121a875456f47baed220b1b9e93584e6a19b65 + checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 languageName: node linkType: hard @@ -418,13 +418,13 @@ __metadata: linkType: hard "@babel/plugin-proposal-export-default-from@npm:^7.24.7": - version: 7.25.8 - resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.8" + version: 7.25.9 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aec7a35c8bcd2b6d0fa5b73c996dae521380ae3dcba8594df750d59123cf7c4c0d2e46930ee26e68614770f8aa450b93c41d122435cd13d5c8c3a19d42d31b35 + checksum: 10c0/6d7ca2d8179d97c38cbcc327129c70103b95797a048c6d244fa8f3eb35b8aebc8122957dc25f20d9923fe6e75f16e2a4d649f1d80a63a9fed2d8b9eda85bd650 languageName: node linkType: hard @@ -518,46 +518,46 @@ __metadata: linkType: hard "@babel/plugin-syntax-export-default-from@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/490344179679e380f36349d937b2b5d31bfdbb41b011bbd0a4b5dcb07d0491c3cd69e0e3d01d98482be08e3411bd60c343d32b9cd137c899d7d6da3ff5e910d0 + checksum: 10c0/10267af3a2bed893acb17b1e1e5e6a3aafcdcb202d54ac295bfa95ac11c66336a9c36cc73b4adc2b10a41a8ecc0c3390808ab16a99c24a76f8c74313ba32be63 languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.22.5, @babel/plugin-syntax-flow@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-flow@npm:7.25.7" +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.22.5, @babel/plugin-syntax-flow@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-flow@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/36799e0af9cab97b688c46caef0fc596323dea7f8772abea229267be9a2c205db27b74bdac26e29ea4f9f116a0337fc40e7b96644a87f26572e6ba1723ed0bbb + checksum: 10c0/322136c86f550da4d6eee31de79b13852555188cfe6662db57a6329588b5e57bba81bd9f9e7f1f40d27a81a5f901a353218bbd4134392ced6b4b5536708224e7 languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" +"@babel/plugin-syntax-import-assertions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0fee0d971f3c654749fdf92e09b6556bba26ab014c8e99b7252f6a7f1ca108f17edd7ceefb5401d7b7008e98ab1b6f8c3c6a5db72862e7c7b2fcd649d000d690 + checksum: 10c0/f5a022b8a7f3585cf1586535224b06ae380983d3c14f7127b82792ef50cd8194047080540c8abec7aa8f8bfe7d774d71a1ee91f4fd3fa0277f7ffe2d3c6c4977 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fe00cdb96fd289ab126830a98e1dcf5ab7b529a6ef1c01a72506b5e7b1197d6e46c3c4d029cd90d1d61eb9a15ef77c282d156d0c02c7e32f168bb09d84150db4 + checksum: 10c0/bbdf97ba088c3d482492f6c3376422752b1723ce32e3ac11b000faf3c942d68e418c8a911431cb05d5e300d008cc37cd5518e89807a5813c2ac8fdd82d171f8d languageName: node linkType: hard @@ -583,14 +583,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.7" +"@babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/17db499c31fcfaa94d5408726d943955d51d478353d1e2dd84eda6024f7e3d104b9456a77f8aabfae0db7f4dc32f810d08357112f7fcbe305e7c9fcf5b3cac13 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c languageName: node linkType: hard @@ -682,14 +682,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.25.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.7" +"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ed51fd81a5cf571a89fc4cf4c0e3b0b91285c367237374c133d2e5e718f3963cfa61b81997df39220a8837dc99f9e9a8ab7701d259c09fae379e4843d9db60c2 + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 languageName: node linkType: hard @@ -705,763 +705,763 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7" +"@babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8d75ead93f130bf113b6d29493aca695092661ef039336d2a227169c3b7895aa5e9bcc548c42a95a6eaaaf49e512317b00699940bd40ccefd77443e703d3935 + checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 + checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7" +"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1dbefba9c1455f7a92b8c59a93c622091db945294c936fc2c09b1648308c5b4cb2ecaae92baae0d07a324ab890a8a2ee27ceb046bc120932845d27aede275821 + checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b1e77492295d1b271ef850a81b0404cf3d0dd6a2bcbeab28a0fd99e61c6de4bda91dff583bb42138eec61bf71282bdd3b1bebcb53b7e373035e77fd6ba66caeb + checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7" +"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b2057e00535cd0e8bd5ee5d4640aa2e952564aeafb1bcf4e7b6de33442422877bb0ca8669ad0a48262ec077271978c61eae87b6b3bc8f472d830fa781d6f7e44 + checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.7" +"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1f41e6934b20ad3e05df63959cff9bc600ff3119153b9acbbd44c1731e7df04866397e6e17799173f4c53cdee6115e155632859aee20bf47ec7dcef3f2168a47 + checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" +"@babel/plugin-transform-class-static-block@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 + checksum: 10c0/696a3a8acde79d6fee4f685ee1353bf483c4cd50a38e586a1a044268df72d87f9b1a3b7c473def6cde836aa69931fd5a75560bb9ee3a635ebde8911575ed49ca languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-classes@npm:7.25.7" +"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8121781e1d8acd80e6169019106f73a399475ad9c895c1988a344dfed5a6ddd340938ac55123dc1e423bb8f25f255f5d11031116ad756ba3c314595a97c973af + checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7" +"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ad0a1c126f50935a02e77d438ebc39078a9d644b3a60de60bec32c5d9f49e7f2b193fcecb8c61bb1bc3cdd4af1e93f72d022d448511fa76a171527c633cd1bf + checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.7" +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a563123b2fb267e03aa50104005f00b56226a685938906c42c1b251462e0cc9fc89e587d5656d3324159071eb8ebda8c68a6011f11d5a00fb1436cb5a5411b7b + checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7" +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f1db3ec20b7fae46db4a9c4c257d75418b0896b72c0a3de20b3044f952801480f0a2e75ebb0d64f13e8cd4db0e49aa42c5c0edff372b23c41679b1ea5dd3ed4 + checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4079981e2db19737a0f1a00254e7388e2d3c01ce36e9fd826e4d86d3c1755339495e29c71fd7c84a068201ec24687328d48f3bf53b32b6d6224f51d9a34da74 + checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/e4946090ff6d88d54b78265ee653079ec34c117ac046e22f66f7c4ac44249cdc2dfca385bc5bf4386db668b9948eeb12985589500188bc252e684c7714c31475 + checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 + checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8537b9f3cddc5a8d3710f6980196dc7a0f4389f8f82617312a5f7b8b15bcd8ddaeba783c687c3ac6031eb0a4ba0bc380a98da6bf7efe98e225602a98ad42a1e + checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 + checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.7" +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-flow": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-flow": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/01afd2196c99ace415d58d939cc568a17e9925fcc4cbf8ff16a659053be3f7ce2b1fa254b5662aa36e6a3300620bcc81d9399d849288a012fe2dc337e4efa49e + checksum: 10c0/d4b79769a5b8bfc1a0766ed2158417e7efa53cdb5776161f641a642019c0822a1288f2ccd36c16a4bca77c64ccf1bab7e36aa1419adc417606acc6eddc126339 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7, @babel/plugin-transform-for-of@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-for-of@npm:7.25.7" +"@babel/plugin-transform-for-of@npm:^7.24.7, @babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/08a37a1742368a422d095c998ed76f60f6bf3f9cc060033be121d803fd2dddc08fe543e48ee49c022bdc9ed80893ca79d084958d83d30684178b088774754277 + checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.1, @babel/plugin-transform-function-name@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-function-name@npm:7.25.7" +"@babel/plugin-transform-function-name@npm:^7.25.1, @babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ca98e1116c0ada7211ed43e4b7f21ca15f95bbbdad70f2fbe1ec2d90a97daedf9f22fcb0a25c8b164a5e394f509f2e4d1f7609d26dc938a58d37c5ee9b80088a + checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf + checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.2, @babel/plugin-transform-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-literals@npm:7.25.7" +"@babel/plugin-transform-literals@npm:^7.25.2, @babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c2c2488102f33e566f45becdcb632e53bd052ecfb2879deb07a614b3e9437e3b624c3b16d080096d50b0b622edebd03e438acbf9260bcc41167897963f64560e + checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e + checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d6936b98ae4d3daed850dc4e064042ea4375f815219ba9d8591373bf1fba4cfdb5be42623ae8882f2d666cc34af650a4855e2a5ad89e3c235d73a6f172f9969c + checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7" +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c0bc999206c3834c090e6559a6c8a55d7672d3573104e832223ebe7df99bd1b82fc850e15ba32f512c84b0db1cdb613b66fa60abe9abb9c7e8dcbff91649b356 + checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f1c945fc3c9b690b0ddcf2c80156b2e4fbf2cf15aac43ac8fe6e4b34125869528839a53d07c564e62e4aed394ebdc1d2c3b796b547374455522581c11b7599c + checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/95eaea7082636710c61e49e58b3907e85ec79db4327411d3784f28592509fbe94a53cc3d20a36a1cf245efc6d3f0017eae15b45ffd645c1ab949bb4e1670e6bb + checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7" +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8849ab04eecdb73cd37e2d7289449fa5256331832b0304c220b2a6aaa12e2d2dd87684f2813412d1fc5bdb3d6b55cc08c6386d3273fe05a65177c09bee5b6769 + checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/eb55fec55dc930cd122911f3e4a421320fa8b1b4de85bfd7ef11b46c611ec69b0213c114a6e1c6bc224d6b954ff183a0caa7251267d5258ecc0f00d6d9ca1d52 + checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-new-target@npm:7.25.7" +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e5dce6d027e0f3fd394578ea1af7f515de157793a15c23a5aad7034a6d8a4005ef280238e67a232bb4dd4fafd3a264fed462deb149128ddd9ce59ff6f575cff + checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 + checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" +"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 + checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-transform-parameters": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 + checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-object-super@npm:7.25.7" +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f2968d4da997101b63fd3b74445c9b16f56bd32cd8a0a16c368af9d3e983e7675c1b05d18601f32307cb06e7d884ee11d13ff18a1f6830c0db243a9a852afab + checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 + checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f + checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-parameters@npm:7.25.7" +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b40ba70278842ce1e800d7ab400df730994941550da547ef453780023bd61a9b8acf4b9fb8419c1b5bcbe09819a1146ff59369db11db07eb71870bef86a12422 + checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.7" +"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/92e076f63f7c4696e1321dafdd56c4212eb41784cdadba0ebc39091f959a76d357c3df61a6c668be81d6b6ad8964ee458e85752ab0c6cfbbaf2066903edda732 + checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 + checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.7" +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6d5bccdc772207906666ad5201bd91e4e132e1d806dbcf4163a1d08e18c57cc3795578c4e10596514bcd6afaf9696f478ea4f0dea890176d93b9cb077b9e5c55 + checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.25.7" +"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a0c537cc7c328ed7468d3b6a37bf0d9cb15d94afcdf3f2849ce6e5a68494fc61f0fa4fc529482a6b95b00f3c5c734f310bf18085293bff40702789f06c816f36 + checksum: 10c0/63a0f962d64e71baf87c212755419e25c637d2d95ea6fdc067df26b91e606ae186442ae815b99a577eca9bf5404d9577ecad218a3cf42d0e9e286ca7b003a992 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a3dc14644d09a6d22875af7b5584393ab53e467e0531cd192fc6242504dacaffa421e89265ba7f84fd4edef2b7b100d2e2ebf092a4dce2b55cf9c5fe29390c18 + checksum: 10c0/c0b92ff9eb029620abf320ff74aae182cea87524723d740fb48a4373d0d16bddf5edbe1116e7ba341332a5337e55c2ceaee8b8cad5549e78af7f4b3cfe77debb languageName: node linkType: hard "@babel/plugin-transform-react-jsx-self@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/51ab0302f808186b671722db40ef25d6f691f969aeaa8f7ef8565c5ca227c8b4dbd1002997478414d3f6984b1fd80a01303e98853fd8bd9606c35bcd72c94065 + checksum: 10c0/ce0e289f6af93d7c4dc6b385512199c5bb138ae61507b4d5117ba88b6a6b5092f704f1bdf80080b7d69b1b8c36649f2a0b250e8198667d4d30c08bbb1546bd99 languageName: node linkType: hard "@babel/plugin-transform-react-jsx-source@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c014de49a466c18ab77bea409542f40409a6a561afc8879ecbeca6a4618161b5aa71ab0825b733c5c87bebe09a19455a79bc1bed86488a84ef712e42e1ed2875 + checksum: 10c0/fc9ee08efc9be7cbd2cc6788bbf92579adf3cab37912481f1b915221be3d22b0613b5b36a721df5f4c0ab65efe8582fcf8673caab83e6e1ce4cc04ceebf57dfa languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.7" +"@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-jsx": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6766b0357b8bbfcb77fca5350f06cf822c89bbe75ddcaea24614601ef23957504da24e76597d743038ce8fa081373b0663c8ad0c86d7c7226e8185f0680b8b56 + checksum: 10c0/5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d92c9b511850fb6dea71966a0d4f313d67e317db7fc3633a7ff2e27d6df2e95cbc91c4c25abdb6c8db651fcda842a0cb7433835a8a9d4a3fdc5d452068428101 + checksum: 10c0/7c8eac04644ad19dcd71bb8e949b0ae22b9e548fa4a58e545d3d0342f647fb89db7f8789a7c5b8074d478ce6d3d581eaf47dd4b36027e16fd68211c383839abc languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.7" +"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ee3a57c4050bc908ef7ac392d810826b294970a7182f4ec34a8ca93dbe36deb21bc862616d46a6f3d881d6b5749930e1679e875b638a00866d844a4250df212 + checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7" +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/920c98130daff6c1288fb13a9a2d2e45863bba93e619cb88d90e1f5b5cb358a3ee8880a425a3adb1b4bd5dbb6bd0500eea3370fc612633045eec851b08cc586c + checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 languageName: node linkType: hard "@babel/plugin-transform-runtime@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-runtime@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-runtime@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9b2514e9079361ac8e7e500ffd522dad869d61a3894302da7e29bbac80de00276c8a1b4394d1dcf0b51c57b2c854919928df9648be336139fdf1d6ecd6d1bb32 + checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4250f89a0072f0f400be7a2e3515227b8e2518737899bd57d497e5173284a0e05d812e4a3c219ffcd484e9fa9a01c19fce5acd77bbb898f4d594512c56701eb4 + checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-spread@npm:7.25.7" +"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/258bd1b52388cd7425d0ae25fa39538734f7540ea503a1d8a72211d33f6f214cb4e3b73d6cd03016cbcff5d41169f1e578b9ea331965ad224d223591983e90a7 + checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7, @babel/plugin-transform-sticky-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7" +"@babel/plugin-transform-sticky-regex@npm:^7.24.7, @babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0e466cfc3ca1e0db4bb11eb630215b0e1f43066d7678325e5ddadcf5a118b2351a528f67205729c32ac5b78ab68ab7f40517dd33bcb1fb6b456509f5f54ce097 + checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.25.7" +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a3455303b6841cb536ac66d1a2d03c194b9f371519482d8d1e8edbd33bf5ca7cdd5db1586b2b0ea5f909ebf74a0eafacf0fb28d257e4905445282dcdccfa6139 + checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ce1a0744a900b05de1372a70508c4148f17eb941c482da26eb369b9f0347570dce45470c8a86d907bc3a0443190344da1e18489ecfecb30388ab6178e8a9916b + checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-typescript@npm:7.25.7" +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typescript@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-syntax-typescript": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5fa839b9560221698edff5e00b5cccc658c7875efaa7971c66d478f5b026770f12dd47b1be024463a44f9e29b4e14e8ddddbf4a2b324b0b94f58370dd5ae7195 + checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b1f71fda0a832c6e26ba4c00f99e9033e6f9b36ced542a512921f4ad861a70e2fec2bd54a91a5ca2efa46aaa8c8893e4c602635c4ef172bd3ed6eef3178c70b + checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4bfcf7529138d00671bf5cdfe606603d52cfe57ec1be837da57683f404fc0b0c171834a02515eb03379e5c806121866d097b90e31cb437d21d0ea59368ad82b + checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/73ae34c02ea8b7ac7e4efa690f8c226089c074e3fef658d2a630ad898a93550d84146ce05e073c271c8b2bbba61cbbfd5a2002a7ea940dcad3274e5b5dcb6bcf + checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/39e45ae3db7adfc3457b1d6ba5608ffbace957ad019785967e5357a6639f261765bda12363f655d39265f5a2834af26327037751420191d0b73152ccc7ce3c35 + checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f languageName: node linkType: hard -"@babel/preset-env@npm:^7.25.3": - version: 7.25.8 - resolution: "@babel/preset-env@npm:7.25.8" +"@babel/preset-env@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/preset-env@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.8" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" + "@babel/plugin-syntax-import-assertions": "npm:^7.25.9" + "@babel/plugin-syntax-import-attributes": "npm:^7.25.9" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.7" - "@babel/plugin-transform-class-properties": "npm:^7.25.7" - "@babel/plugin-transform-class-static-block": "npm:^7.25.8" - "@babel/plugin-transform-classes": "npm:^7.25.7" - "@babel/plugin-transform-computed-properties": "npm:^7.25.7" - "@babel/plugin-transform-destructuring": "npm:^7.25.7" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" - "@babel/plugin-transform-for-of": "npm:^7.25.7" - "@babel/plugin-transform-function-name": "npm:^7.25.7" - "@babel/plugin-transform-json-strings": "npm:^7.25.8" - "@babel/plugin-transform-literals": "npm:^7.25.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" - "@babel/plugin-transform-modules-amd": "npm:^7.25.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-umd": "npm:^7.25.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-new-target": "npm:^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" - "@babel/plugin-transform-object-super": "npm:^7.25.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" - "@babel/plugin-transform-parameters": "npm:^7.25.7" - "@babel/plugin-transform-private-methods": "npm:^7.25.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" - "@babel/plugin-transform-property-literals": "npm:^7.25.7" - "@babel/plugin-transform-regenerator": "npm:^7.25.7" - "@babel/plugin-transform-reserved-words": "npm:^7.25.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7" - "@babel/plugin-transform-spread": "npm:^7.25.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.7" - "@babel/plugin-transform-template-literals": "npm:^7.25.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.25.9" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" @@ -1470,20 +1470,20 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 + checksum: 10c0/b8b391e3fe69918a2a4f4366034113bd6f57c9748974dbe1b807a728bc41434f1e003cb4204ca63a2a01cbb7c05ba96036261b64756243374374353931d346e6 languageName: node linkType: hard -"@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/preset-flow@npm:7.25.7" +"@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/preset-flow@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-transform-flow-strip-types": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c0d533628ea9e92558d705e1ecfec51e465e9f251b9dcbd2b4b8ec5007b3238feb1a5cd3e14739f12984a35ccd71a422c92696010b71e69216dfd9389c3cf51c + checksum: 10c0/dc640a4868c40262b66c8b29a65c04aa7288a5359e6a79518b0394fb422254ef3aec489aeb71334eddf775ce006a8e077eff608580906e37b39c87bb122c7080 languageName: node linkType: hard @@ -1500,40 +1500,40 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/preset-react@npm:7.25.7" +"@babel/preset-react@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/preset-react@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-transform-react-display-name": "npm:^7.25.7" - "@babel/plugin-transform-react-jsx": "npm:^7.25.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.25.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b133b1a2f46c70a337d8b1ef442e09e3dbdaecb0d6bed8f1cb64dfddc31c16e248b017385ab909caeebd8462111c9c0e1c5409deb10f2be5cb5bcfdaa4d27718 + checksum: 10c0/c294b475ee741f01f63ea0d828862811c453fabc6023f01814ce983bc316388e9d73290164d2b1384c2684db9c330803a3d4d2170285b105dcbacd483329eb93 languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.24.7": - version: 7.25.7 - resolution: "@babel/preset-typescript@npm:7.25.7" +"@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/preset-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-syntax-jsx": "npm:^7.25.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" - "@babel/plugin-transform-typescript": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8dc1258e3c5230bbe42ff9811f08924509238e6bd32fa0b7b0c0a6c5e1419512a8e1f733e1b114454d367b7c164beca2cf33acf2ed9e0d99be010c1c5cdbef0c + checksum: 10c0/cbcc5b4bf2891e367627338961113febbe58d361e9a03bd2c8340ede914870f74db35ee367cfd8d0fca0872149bfb58b090d0a4815de7c05d0a8abb3d961eead languageName: node linkType: hard "@babel/register@npm:^7.13.16": - version: 7.25.7 - resolution: "@babel/register@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/register@npm:7.25.9" dependencies: clone-deep: "npm:^4.0.1" find-cache-dir: "npm:^2.0.0" @@ -1542,53 +1542,52 @@ __metadata: source-map-support: "npm:^0.5.16" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/af32db39edb2ed0c46d05bcb09cb2c14f8ee452d112f08a96a2e2daeaddc127d4f2269354aa968d0c01cd286523ad7e865b0abed1da9229833fd440ee6831199 + checksum: 10c0/f988437c94e0fe449308eecad00c04108c5f1a2b4c4b428635e3f402d9a38655e1884d594c80160e977a0e91455b9443de59829cc45f4d4f91e16b042e4c96d1 languageName: node linkType: hard "@babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.8.4": - version: 7.25.7 - resolution: "@babel/runtime@npm:7.25.7" + version: 7.25.9 + resolution: "@babel/runtime@npm:7.25.9" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/86b7829d2fc9343714a9afe92757cf96c4dc799006ca61d73cda62f4b9e29bfa1ce36794955bc6cb4c188f5b10db832c949339895e1bbe81a69022d9d578ce29 + checksum: 10c0/d1727a47eab67b8a742cbf1ef336a20c3d906fe65d6316d073c72479125addfa4358c44dd7b95d114f241b93409b134fad7cea43f3bf8ca7e2ef344177eb72d8 languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.7, @babel/template@npm:^7.3.3": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.9 + resolution: "@babel/types@npm:7.25.9" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/33890d08bcb06b26a3a60e4c6c996cbdf2b8d8a3c212664de659c2775f80b002c5f2bceedaa309c384ff5e99bd579794fe6a7e41de07df70246f43c55016d349 languageName: node linkType: hard @@ -1667,14 +1666,14 @@ __metadata: linkType: hard "@eslint/compat@npm:^1.1.1": - version: 1.2.0 - resolution: "@eslint/compat@npm:1.2.0" + version: 1.2.1 + resolution: "@eslint/compat@npm:1.2.1" peerDependencies: eslint: ^9.10.0 peerDependenciesMeta: eslint: optional: true - checksum: 10c0/ad79bf1ef14462f829288c4e2ca8eeffdf576fa923d3f8a07e752e821bdbe5fd79360fe6254e9ddfe7eada2e4e3d22a7ee09f5d21763e67bc4fbc331efb3c3e9 + checksum: 10c0/50b0aa4e1472e76b175de4e15c2a0e3a9702560635c9e3aec69e36da32dc6970eaff43e6427371c36539ec827754d113fb92b97c42a67d4fc241f51b24732bbb languageName: node linkType: hard @@ -2508,9 +2507,9 @@ __metadata: languageName: node linkType: hard -"@release-it/conventional-changelog@npm:^9.0.0": - version: 9.0.0 - resolution: "@release-it/conventional-changelog@npm:9.0.0" +"@release-it/conventional-changelog@npm:^9.0.1": + version: 9.0.1 + resolution: "@release-it/conventional-changelog@npm:9.0.1" dependencies: concat-stream: "npm:^2.0.0" conventional-changelog: "npm:^6.0.0" @@ -2519,7 +2518,7 @@ __metadata: semver: "npm:^7.6.3" peerDependencies: release-it: ^17.0.0 - checksum: 10c0/87a790ace2a24639d94d418f6f24fbcdd1abaca664624904ee4f704a4fa54187e434431288d599d8be30bc2bfcbc8b0e7501caceab4ddb9ca5a7deaa5d8d159c + checksum: 10c0/72d9f382cbb420a830ad71d4c66c5fdf2c2886929e8e7b681ecfa567de135ee3b4417476a0bb31fd49383ba45ad91ae92aca89f7b6e6dc2ce672fe1e2d536a3f languageName: node linkType: hard @@ -2573,22 +2572,22 @@ __metadata: version: 0.0.0-use.local resolution: "@testing-library/react-native@workspace:." dependencies: - "@babel/cli": "npm:^7.24.8" - "@babel/core": "npm:^7.25.2" - "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" - "@babel/preset-env": "npm:^7.25.3" - "@babel/preset-flow": "npm:^7.24.7" - "@babel/preset-react": "npm:^7.24.7" - "@babel/preset-typescript": "npm:^7.24.7" + "@babel/cli": "npm:^7.25.9" + "@babel/core": "npm:^7.25.9" + "@babel/plugin-transform-flow-strip-types": "npm:^7.25.9" + "@babel/preset-env": "npm:^7.25.9" + "@babel/preset-flow": "npm:^7.25.9" + "@babel/preset-react": "npm:^7.25.9" + "@babel/preset-typescript": "npm:^7.25.9" "@callstack/eslint-config": "npm:^15.0.0" - "@release-it/conventional-changelog": "npm:^9.0.0" + "@release-it/conventional-changelog": "npm:^9.0.1" "@relmify/jest-serializer-strip-ansi": "npm:^1.0.2" - "@types/jest": "npm:^29.5.12" - "@types/react": "npm:^18.3.3" + "@types/jest": "npm:^29.5.14" + "@types/react": "npm:^18.3.12" "@types/react-test-renderer": "npm:^18.3.0" babel-jest: "npm:^29.7.0" del-cli: "npm:^6.0.0" - eslint: "npm:^8.57.0" + eslint: "npm:^8.57.1" eslint-plugin-flowtype: "npm:^8.0.3" eslint-plugin-prettier: "npm:^4.2.1" flow-bin: "npm:~0.170.0" @@ -2600,7 +2599,7 @@ __metadata: react-native: "npm:0.76.0" react-test-renderer: "npm:18.3.1" redent: "npm:^3.0.0" - release-it: "npm:^17.6.0" + release-it: "npm:^17.10.0" strip-ansi: "npm:^6.0.1" typescript: "npm:^5.5.4" peerDependencies: @@ -2696,13 +2695,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.12": - version: 29.5.13 - resolution: "@types/jest@npm:29.5.13" +"@types/jest@npm:^29.5.14": + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: 10c0/9c31af0b155387b9860908830de63c6b79011d7c87c8b61b39da124e26e55423dd51b006749aafe4f0ef3a065016619a1f93ef4b055157d43727f448e67824b7 + checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed languageName: node linkType: hard @@ -2723,11 +2722,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.7.6 - resolution: "@types/node@npm:22.7.6" + version: 22.7.9 + resolution: "@types/node@npm:22.7.9" dependencies: undici-types: "npm:~6.19.2" - checksum: 10c0/d4406a63afce981c363fb1d1954aaf1759ad2d487c0833ebf667565ea4e45ff217d6fab4b5343badbdeccdf9d2e4a0841d633e0c929ceabcb33c288663dd0c73 + checksum: 10c0/2d1917702b9d9ede8e4d8151cd8b1af8bc147d543486474ffbe0742e38764ea73105939e6a767addf7a4c39e842e16eae762bff90617d7b7f9ee3fbbb2d23bfa languageName: node linkType: hard @@ -2754,13 +2753,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.3.3": - version: 18.3.11 - resolution: "@types/react@npm:18.3.11" +"@types/react@npm:*, @types/react@npm:^18.3.12": + version: 18.3.12 + resolution: "@types/react@npm:18.3.12" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e + checksum: 10c0/8bae8d9a41619804561574792e29112b413044eb0d53746dde2b9720c1f9a59f71c895bbd7987cd8ce9500b00786e53bc032dced38cddf42910458e145675290 languageName: node linkType: hard @@ -2795,14 +2794,14 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.0.1": - version: 8.10.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.10.0" + version: 8.11.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.11.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.10.0" - "@typescript-eslint/type-utils": "npm:8.10.0" - "@typescript-eslint/utils": "npm:8.10.0" - "@typescript-eslint/visitor-keys": "npm:8.10.0" + "@typescript-eslint/scope-manager": "npm:8.11.0" + "@typescript-eslint/type-utils": "npm:8.11.0" + "@typescript-eslint/utils": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -2813,66 +2812,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/4b77ba9c865a2a14e238cd330b5901f0274b8ce1c13324fccd0339b8eea82a50a4709394c903fd8cd5bd0d3aebace0761ff9a4a19fa20b00bb61349b7671c035 + checksum: 10c0/be509f7bb0c0c596801059b06995a81a1c326cc6ac31d96a32f7b6b7d7b495f9bad4dc442aa6e923d22515e62c668d3c14695c68bd6e0be1d4bf72158b7fd2d6 languageName: node linkType: hard "@typescript-eslint/parser@npm:^8.0.1": - version: 8.10.0 - resolution: "@typescript-eslint/parser@npm:8.10.0" + version: 8.11.0 + resolution: "@typescript-eslint/parser@npm:8.11.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.10.0" - "@typescript-eslint/types": "npm:8.10.0" - "@typescript-eslint/typescript-estree": "npm:8.10.0" - "@typescript-eslint/visitor-keys": "npm:8.10.0" + "@typescript-eslint/scope-manager": "npm:8.11.0" + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/typescript-estree": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/7becb2457c085c239838d301796074b790f46dd38c9fbc14ec1dec8e993c7115cd8a66cdc07983c3a68a2dd92e24e8acc49d69a4ebcc29e9869957eb52d1cb74 + checksum: 10c0/e83f239fec60697083e5dcb1c8948340e783ea6e043fe9a65d557faef8882963b09d69aacd736eb8ab18a768769a7bbfc3de0f1251d4bba080613541acb0741c languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/scope-manager@npm:8.10.0" +"@typescript-eslint/scope-manager@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/scope-manager@npm:8.11.0" dependencies: - "@typescript-eslint/types": "npm:8.10.0" - "@typescript-eslint/visitor-keys": "npm:8.10.0" - checksum: 10c0/b8bb8635c4d6c00a3578d6265e3ee0f5d96d0c9dee534ed588aa411c3f4497fd71cce730c3ae7571e52453d955b191bc9edcc47c9af21a20c90e9a20f2371108 + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" + checksum: 10c0/0910da62d8ae261711dd9f89d5c7d8e96ff13c50054436256e5a661309229cb49e3b8189c9468d36b6c4d3f7cddd121519ea78f9b18c9b869a808834b079b2ea languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/type-utils@npm:8.10.0" +"@typescript-eslint/type-utils@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/type-utils@npm:8.11.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.10.0" - "@typescript-eslint/utils": "npm:8.10.0" + "@typescript-eslint/typescript-estree": "npm:8.11.0" + "@typescript-eslint/utils": "npm:8.11.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/1af8fce8394279e6ac7bcef449a132072ee36e374c8d557564246ffe7150230844901ca0305e29525bf37c87010e03bf8bedec76fccbfe1e41931cb4f274e208 + checksum: 10c0/b69e31c1599ceeb20c29052a4ddb33a554174a3a4c55ee37d90c9b8250af6ef978a0b9ddbeefef4e83d62c4caea1bfa2d8088527f397bde69fb4ab9b360d794a languageName: node linkType: hard -"@typescript-eslint/types@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/types@npm:8.10.0" - checksum: 10c0/f27dd43c8383e02e914a254257627e393dfc0f08b0f74a253c106813ae361f090271b2f3f2ef588fa3ca1329897d873da595bb5641fe8e3091b25eddca24b5d2 +"@typescript-eslint/types@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/types@npm:8.11.0" + checksum: 10c0/5ccdd3eeee077a6fc8e7f4bc0e0cbc9327b1205a845253ec5c0c6c49ff915e853161df00c24a0ffb4b8ec745d3f153dd0e066400a021c844c026e31121f46699 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.10.0" +"@typescript-eslint/typescript-estree@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.11.0" dependencies: - "@typescript-eslint/types": "npm:8.10.0" - "@typescript-eslint/visitor-keys": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/visitor-keys": "npm:8.11.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -2882,31 +2881,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/535a740fe25be0e28fe68c41e3264273d1e5169c9f938e08cc0e3415c357726f43efa44621960108c318fc3305c425d29f3223b6e731d44d67f84058a8947304 + checksum: 10c0/b629ad3cd32b005d5c1d67c36958a418f8672efebea869399834f4f201ebf90b942165eebb5c9d9799dcabdc2cc26e5fabb00629f76b158847f42e1a491a75a6 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.10.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.10.0 - resolution: "@typescript-eslint/utils@npm:8.10.0" +"@typescript-eslint/utils@npm:8.11.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.11.0 + resolution: "@typescript-eslint/utils@npm:8.11.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.10.0" - "@typescript-eslint/types": "npm:8.10.0" - "@typescript-eslint/typescript-estree": "npm:8.10.0" + "@typescript-eslint/scope-manager": "npm:8.11.0" + "@typescript-eslint/types": "npm:8.11.0" + "@typescript-eslint/typescript-estree": "npm:8.11.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10c0/a21a2933517176abd00fcd5d8d80023e35dc3d89d5746bbac43790b4e984ab1f371117db08048bce7f42d54c64f4e0e35161149f8f34fd25a27bff9d1110fd16 + checksum: 10c0/bb5bcc8d928a55b22298e76f834ea6a9fe125a9ffeb6ac23bee0258b3ed32f41e281888a3d0be226a05e1011bb3b70e42a71a40366acdefea6779131c46bc522 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.10.0" +"@typescript-eslint/visitor-keys@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.11.0" dependencies: - "@typescript-eslint/types": "npm:8.10.0" + "@typescript-eslint/types": "npm:8.11.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/14721c4ac939640d5fd1ee1b6eeb07604b11a6017e319e21dcc71e7aac2992341fc7ae1992d977bad4433b6a1d0d1c0c279e6927316b26245f6e333f922fa458 + checksum: 10c0/7a5a49609fdc47e114fe59eee56393c90b122ec8e9520f90b0c5e189635ae1ccfa8e00108f641342c2c8f4637fe9d40c77927cf7c8248a3a660812cb4b7d0c08 languageName: node linkType: hard @@ -3508,16 +3507,16 @@ __metadata: linkType: hard "browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": - version: 4.24.0 - resolution: "browserslist@npm:4.24.0" + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" dependencies: - caniuse-lite: "npm:^1.0.30001663" - electron-to-chromium: "npm:^1.5.28" + caniuse-lite: "npm:^1.0.30001669" + electron-to-chromium: "npm:^1.5.41" node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" + update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/95e76ad522753c4c470427f6e3c8a4bb5478ff448841e22b3d3e53f89ecaf17b6984666d6c7e715c370f1e7fa0cf684f42e34e554236a8b2fab38ea76b9e4c52 + checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a languageName: node linkType: hard @@ -3642,7 +3641,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001663": +"caniuse-lite@npm:^1.0.30001669": version: 1.0.30001669 resolution: "caniuse-lite@npm:1.0.30001669" checksum: 10c0/f125f23440d3dbb6c25ffb8d55f4ce48af36a84d0932b152b3b74f143a4170cbe92e02b0a9676209c86609bf7bf34119ff10cc2bc7c1b7ea40e936cc16598408 @@ -4521,10 +4520,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.28": - version: 1.5.41 - resolution: "electron-to-chromium@npm:1.5.41" - checksum: 10c0/97b82383963029e6ed0bd7a71eb527f640c8cf658c9e43c776b0257b3c65e366590ac54135683a21e4474a156b8be78717d6e94d3c1def84b69f92bf48f2390f +"electron-to-chromium@npm:^1.5.41": + version: 1.5.45 + resolution: "electron-to-chromium@npm:1.5.45" + checksum: 10c0/f361ceda3bedcdc531ec0c060759c3487efd894d16a379beffe82a372fbeadcd1ac3cfc74a103b946dd2d12923a547289916743a609adaf68e5c4eef806e9e49 languageName: node linkType: hard @@ -4681,7 +4680,7 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.19": +"es-iterator-helpers@npm:^1.1.0": version: 1.1.0 resolution: "es-iterator-helpers@npm:1.1.0" dependencies: @@ -4983,15 +4982,15 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.35.0": - version: 7.37.1 - resolution: "eslint-plugin-react@npm:7.37.1" + version: 7.37.2 + resolution: "eslint-plugin-react@npm:7.37.2" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" array.prototype.flatmap: "npm:^1.3.2" array.prototype.tosorted: "npm:^1.1.4" doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" + es-iterator-helpers: "npm:^1.1.0" estraverse: "npm:^5.3.0" hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" @@ -5006,7 +5005,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/13cf55666f16d2ca45b14aad1b0e14741d1817679c86d20aff0bc1e802439a8541f40a42c4c8e3486ffb710f1bcc2f3e56697f2b5f724306a7fca174e1ad6433 + checksum: 10c0/01c498f263c201698bf653973760f86a07fa0cdec56c044f3eaa5ddaae71c64326015dfa5fde76ca8c5386ffe789fc79932624b614e13b6a1ad789fee3f7c491 languageName: node linkType: hard @@ -5051,7 +5050,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.57.0": +"eslint@npm:^8.57.1": version: 8.57.1 resolution: "eslint@npm:8.57.1" dependencies: @@ -8097,13 +8096,20 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 languageName: node linkType: hard +"negotiator@npm:^0.6.3": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + "neo-async@npm:^2.5.0, neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -9300,7 +9306,7 @@ __metadata: languageName: node linkType: hard -"release-it@npm:^17.6.0": +"release-it@npm:^17.10.0": version: 17.10.0 resolution: "release-it@npm:17.10.0" dependencies: @@ -10301,13 +10307,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -10594,7 +10593,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0": +"update-browserslist-db@npm:^1.1.1": version: 1.1.1 resolution: "update-browserslist-db@npm:1.1.1" dependencies: From 7455b216183d13bc2066a0fc858d69390003cce6 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Thu, 24 Oct 2024 10:30:42 +0200 Subject: [PATCH 17/86] feat: automatically extend matchers (#1684) --- README.md | 6 +----- extend-expect.d.ts | 1 - extend-expect.js | 1 - jest-setup.ts | 1 - matchers.d.ts | 1 + matchers.js | 2 ++ package.json | 4 ++-- src/index.ts | 1 + src/matchers/__tests__/to-be-checked.test.tsx | 3 +-- src/matchers/__tests__/to-be-partially-checked.test.tsx | 3 +-- 10 files changed, 9 insertions(+), 14 deletions(-) delete mode 100644 extend-expect.d.ts delete mode 100644 extend-expect.js create mode 100644 matchers.d.ts create mode 100644 matchers.js diff --git a/README.md b/README.md index 4f0ff8233..16c498ff0 100644 --- a/README.md +++ b/README.md @@ -44,11 +44,7 @@ This library has a `peerDependencies` listing for `react-test-renderer`. Make su ### Additional Jest matchers -You can use the built-in Jest matchers by adding the following line to your `jest-setup.ts` file (configured using [`setupFilesAfterEnv`](https://jestjs.io/docs/configuration#setupfilesafterenv-array)): - -```ts -import '@testing-library/react-native/extend-expect'; -``` +You can use the built-in Jest matchers automatically by having any import from `@testing-library/react-native` in your test. ## Example diff --git a/extend-expect.d.ts b/extend-expect.d.ts deleted file mode 100644 index 14b2aff7c..000000000 --- a/extend-expect.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './build/matchers/extend-expect'; diff --git a/extend-expect.js b/extend-expect.js deleted file mode 100644 index 796915b5f..000000000 --- a/extend-expect.js +++ /dev/null @@ -1 +0,0 @@ -require('./build/matchers/extend-expect'); diff --git a/jest-setup.ts b/jest-setup.ts index a4d893a18..f120a77e7 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -1,5 +1,4 @@ import { resetToDefaults } from './src/pure'; -import './src/matchers/extend-expect'; beforeEach(() => { resetToDefaults(); diff --git a/matchers.d.ts b/matchers.d.ts new file mode 100644 index 000000000..6abd59c4e --- /dev/null +++ b/matchers.d.ts @@ -0,0 +1 @@ +export * from './build/matchers'; diff --git a/matchers.js b/matchers.js new file mode 100644 index 000000000..dafd7cfb2 --- /dev/null +++ b/matchers.js @@ -0,0 +1,2 @@ +// makes it so people can import from '@testing-library/react-native/pure' +module.exports = require('./build/matchers'); diff --git a/package.json b/package.json index a6feeb5ca..aa8c4b9bf 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "files": [ "build/", "jest-preset/", - "extend-expect.js", - "extend-expect.d.ts", + "matchers.js", + "matchers.d.ts", "pure.js", "pure.d.ts", "dont-cleanup-after-each.js", diff --git a/src/index.ts b/src/index.ts index b01198181..8b2ab83d4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,7 @@ import { cleanup } from './pure'; import { flushMicroTasks } from './flush-micro-tasks'; import { getIsReactActEnvironment, setReactActEnvironment } from './act'; +import './matchers/extend-expect'; if (!process?.env?.RNTL_SKIP_AUTO_CLEANUP) { // If we're running in a test runner that supports afterEach diff --git a/src/matchers/__tests__/to-be-checked.test.tsx b/src/matchers/__tests__/to-be-checked.test.tsx index 6cf432b85..2b674c627 100644 --- a/src/matchers/__tests__/to-be-checked.test.tsx +++ b/src/matchers/__tests__/to-be-checked.test.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { type AccessibilityRole, Switch, View } from 'react-native'; -import render from '../../render'; -import { screen } from '../../screen'; +import { render, screen } from '../..'; function renderViewsWithRole(role: AccessibilityRole) { render( diff --git a/src/matchers/__tests__/to-be-partially-checked.test.tsx b/src/matchers/__tests__/to-be-partially-checked.test.tsx index 03ab58290..dd84e0cb7 100644 --- a/src/matchers/__tests__/to-be-partially-checked.test.tsx +++ b/src/matchers/__tests__/to-be-partially-checked.test.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { type AccessibilityRole, View } from 'react-native'; -import render from '../../render'; -import { screen } from '../../screen'; +import { render, screen } from '../..'; function renderViewsWithRole(role: AccessibilityRole) { return render( From 8e1e6ac5143f801616d2e4477c0c5d4bda4137ff Mon Sep 17 00:00:00 2001 From: ELABBASSI Hicham Date: Fri, 25 Oct 2024 08:52:40 +0200 Subject: [PATCH 18/86] docs: readme example userevent import (#1688) --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f0ff8233..ac32f38ed 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ import '@testing-library/react-native/extend-expect'; ## Example ```jsx -import { render, screen, fireEvent } from '@testing-library/react-native'; +import { render, screen, userEvent } from '@testing-library/react-native'; import { QuestionsBoard } from '../QuestionsBoard'; // It is recommended to use userEvent with fake timers @@ -109,7 +109,6 @@ React Native Testing Library consists of following APIs: - [Migration to 12.0](https://callstack.github.io/react-native-testing-library/docs/migration/v12) - [Migration to built-in Jest Matchers](https://callstack.github.io/react-native-testing-library/docs/migration/jest-matchers) - ## Troubleshooting - [Troubleshooting guide](https://callstack.github.io/react-native-testing-library/docs/guides/troubleshooting) From f231ea30b22e6ceaf0c74faf6868d21f2f46f2cb Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 09:06:41 +0200 Subject: [PATCH 19/86] feat: option for enabling concurrent rendering (#1685) --- .github/workflows/ci.yml | 17 +++++++++++++- jest-setup.ts | 5 ++++- package.json | 3 ++- src/__tests__/config.test.ts | 5 +++++ src/__tests__/render.test.tsx | 10 +++++++++ src/config.ts | 7 ++++++ src/render.tsx | 26 ++++++++++++++++++++-- website/docs/12.x/docs/api/misc/config.mdx | 5 +++++ website/docs/12.x/docs/api/render.mdx | 4 ++++ 9 files changed, 77 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9bc937e29..3ec3a6626 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,11 +56,26 @@ jobs: uses: ./.github/actions/setup-deps - name: Test - run: yarn test:ci + run: yarn test:ci:coverage - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 + + test-concurrent: + needs: [install-cache-deps] + runs-on: ubuntu-latest + name: Test (concurrent mode) + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js and deps + uses: ./.github/actions/setup-deps + + - name: Test in concurrent mode + run: CONCURRENT_MODE=1 yarn test:ci + test-website: runs-on: ubuntu-latest name: Test Website diff --git a/jest-setup.ts b/jest-setup.ts index a4d893a18..9ed60181d 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -1,6 +1,9 @@ -import { resetToDefaults } from './src/pure'; +import { resetToDefaults, configure } from './src/pure'; import './src/matchers/extend-expect'; beforeEach(() => { resetToDefaults(); + if (process.env.CONCURRENT_MODE === '1') { + configure({ concurrentRoot: true }); + } }); diff --git a/package.json b/package.json index f3ab481d1..dfce46bef 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "scripts": { "clean": "del build", "test": "jest", - "test:ci": "jest --maxWorkers=2 --collectCoverage=true --coverage-provider=v8", + "test:ci": "jest --maxWorkers=2", + "test:ci:coverage": "jest --maxWorkers=2 --collectCoverage=true --coverage-provider=v8", "typecheck": "tsc", "copy-flowtypes": "cp typings/index.flow.js build", "lint": "eslint src --cache", diff --git a/src/__tests__/config.test.ts b/src/__tests__/config.test.ts index aca62f304..b3d2a7ed1 100644 --- a/src/__tests__/config.test.ts +++ b/src/__tests__/config.test.ts @@ -1,5 +1,9 @@ import { getConfig, configure, resetToDefaults, configureInternal } from '../config'; +beforeEach(() => { + resetToDefaults(); +}); + test('getConfig() returns existing configuration', () => { expect(getConfig().asyncUtilTimeout).toEqual(1000); expect(getConfig().defaultIncludeHiddenElements).toEqual(false); @@ -12,6 +16,7 @@ test('configure() overrides existing config values', () => { asyncUtilTimeout: 5000, defaultDebugOptions: { message: 'debug message' }, defaultIncludeHiddenElements: false, + concurrentRoot: false, }); }); diff --git a/src/__tests__/render.test.tsx b/src/__tests__/render.test.tsx index 0c09b3904..3127963d7 100644 --- a/src/__tests__/render.test.tsx +++ b/src/__tests__/render.test.tsx @@ -241,3 +241,13 @@ test('render calls detects host component names', () => { render(); expect(getConfig().hostComponentNames).not.toBeUndefined(); }); + +test('supports legacy rendering', () => { + render(, { concurrentRoot: false }); + expect(screen.root).toBeDefined(); +}); + +test('supports concurrent rendering', () => { + render(, { concurrentRoot: true }); + expect(screen.root).toBeDefined(); +}); diff --git a/src/config.ts b/src/config.ts index c343a3e15..388933cdd 100644 --- a/src/config.ts +++ b/src/config.ts @@ -13,6 +13,12 @@ export type Config = { /** Default options for `debug` helper. */ defaultDebugOptions?: Partial; + + /** + * Set to `true` to enable concurrent rendering. + * Otherwise `render` will default to legacy synchronous rendering. + */ + concurrentRoot: boolean; }; export type ConfigAliasOptions = { @@ -37,6 +43,7 @@ export type InternalConfig = Config & { const defaultConfig: InternalConfig = { asyncUtilTimeout: 1000, defaultIncludeHiddenElements: false, + concurrentRoot: false, }; let config = { ...defaultConfig }; diff --git a/src/render.tsx b/src/render.tsx index 5f31dcb2a..e4a6e22e4 100644 --- a/src/render.tsx +++ b/src/render.tsx @@ -1,4 +1,8 @@ -import type { ReactTestInstance, ReactTestRenderer } from 'react-test-renderer'; +import type { + ReactTestInstance, + ReactTestRenderer, + TestRendererOptions, +} from 'react-test-renderer'; import * as React from 'react'; import { Profiler } from 'react'; import act from './act'; @@ -14,7 +18,18 @@ import { setRenderResult } from './screen'; import { getQueriesForElement } from './within'; export interface RenderOptions { + /** + * Pass a React Component as the wrapper option to have it rendered around the inner element. This is most useful for creating + * reusable custom render functions for common data providers. + */ wrapper?: React.ComponentType; + + /** + * Set to `true` to enable concurrent rendering. + * Otherwise `render` will default to legacy synchronous rendering. + */ + concurrentRoot?: boolean | undefined; + createNodeMock?: (element: React.ReactElement) => unknown; unstable_validateStringsRenderedWithinText?: boolean; } @@ -39,11 +54,18 @@ export function renderInternal( ) { const { wrapper: Wrapper, + concurrentRoot, detectHostComponentNames = true, unstable_validateStringsRenderedWithinText, - ...testRendererOptions + ...rest } = options || {}; + const testRendererOptions: TestRendererOptions = { + ...rest, + // @ts-expect-error incomplete typing on RTR package + unstable_isConcurrent: concurrentRoot ?? getConfig().concurrentRoot, + }; + if (detectHostComponentNames) { configureHostComponentNamesIfNeeded(); } diff --git a/website/docs/12.x/docs/api/misc/config.mdx b/website/docs/12.x/docs/api/misc/config.mdx index 049e82760..bdaabd107 100644 --- a/website/docs/12.x/docs/api/misc/config.mdx +++ b/website/docs/12.x/docs/api/misc/config.mdx @@ -7,6 +7,7 @@ type Config = { asyncUtilTimeout: number; defaultHidden: boolean; defaultDebugOptions: Partial; + concurrentRoot: boolean; }; function configure(options: Partial) {} @@ -26,6 +27,10 @@ This option is also available as `defaultHidden` alias for compatibility with [R Default [debug options](#debug) to be used when calling `debug()`. These default options will be overridden by the ones you specify directly when calling `debug()`. +### `concurrentRoot` option + +Set to `true` to enable concurrent rendering used in the React Native New Architecture. Otherwise `render` will default to legacy synchronous rendering. + ## `resetToDefaults()` ```ts diff --git a/website/docs/12.x/docs/api/render.mdx b/website/docs/12.x/docs/api/render.mdx index 0763e1dfd..ee38878ff 100644 --- a/website/docs/12.x/docs/api/render.mdx +++ b/website/docs/12.x/docs/api/render.mdx @@ -32,6 +32,10 @@ wrapper?: React.ComponentType, This option allows you to wrap the tested component, passed as the first option to the `render()` function, in an additional wrapper component. This is useful for creating reusable custom render functions for common React Context providers. +#### `concurrentRoot` option + +Set to `true` to enable concurrent rendering used in the React Native New Architecture. Otherwise `render` will default to legacy synchronous rendering. + #### `createNodeMock` option ```ts From 422c007f83e76d36681fd51c497722aa72d7f19f Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 09:25:54 +0200 Subject: [PATCH 20/86] chore: tweak release it --- .release-it.json | 36 +++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/.release-it.json b/.release-it.json index 869746da2..f76bc11f6 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,17 +1,47 @@ { + "hooks": { + "before:init": ["yarn typecheck", "yarn test", "yarn lint"], + "after:bump": "yarn build", + "after:release": "echo Successfully released ${name} v${version} to ${repo.repository}." + }, "git": { - "commitMessage": "chore: release ${version}", + "commitMessage": "chore: release v${version}", "tagName": "v${version}" }, "npm": { "publish": true }, "github": { - "release": true + "release": true, + "releaseName": "v${version}" }, "plugins": { "@release-it/conventional-changelog": { - "preset": "angular" + "preset": { + "name": "conventionalcommits", + "types": [ + { + "type": "feat", + "section": "✨ Features" + }, + { + "type": "perf", + "section": "💨 Performance Improvements" + }, + { + "type": "fix", + "section": "🐛 Bug Fixes" + }, + { + "type": "chore(deps)", + "section": "🛠️ Dependency Upgrades" + }, + { + "type": "docs", + "section": "📚 Documentation" + } + ] + } } } } diff --git a/package.json b/package.json index dfce46bef..1952e49f4 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "build:js": "babel src --out-dir build --extensions \".js,.ts,.jsx,.tsx\" --source-maps --ignore \"**/__tests__/**\"", "build:ts": "tsc --build tsconfig.release.json", "build": "yarn clean && yarn build:js && yarn build:ts && yarn copy-flowtypes", - "publish": "yarn build && release-it" + "release": "release-it" }, "files": [ "build/", From bc083af5aa45a14210ede949ac75aea7cb7a1614 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 09:28:17 +0200 Subject: [PATCH 21/86] chore: release v12.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1952e49f4..227def117 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@testing-library/react-native", - "version": "12.7.2", + "version": "12.8.0", "description": "Simple and complete React Native testing utilities that encourage good testing practices.", "main": "build/index.js", "types": "build/index.d.ts", From 0c8f3a8ec2c48a587491ad59daa75ff60a271a65 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 09:43:37 +0200 Subject: [PATCH 22/86] chore: update RNTL in example apps (#1691) --- examples/basic/.eslintignore | 1 + examples/basic/components/AnimatedView.tsx | 2 +- .../basic/components/__tests__/AnimatedView.test.tsx | 6 ++++-- examples/basic/jest-setup.ts | 4 +++- examples/basic/package.json | 2 +- examples/basic/yarn.lock | 10 +++++----- examples/cookbook/.eslintignore | 3 ++- examples/cookbook/jest-setup.ts | 6 +++++- examples/cookbook/package.json | 2 +- examples/cookbook/yarn.lock | 10 +++++----- 10 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 examples/basic/.eslintignore diff --git a/examples/basic/.eslintignore b/examples/basic/.eslintignore new file mode 100644 index 000000000..bda2aca85 --- /dev/null +++ b/examples/basic/.eslintignore @@ -0,0 +1 @@ +jest-setup.ts diff --git a/examples/basic/components/AnimatedView.tsx b/examples/basic/components/AnimatedView.tsx index d2f2a2e12..7f42d0083 100644 --- a/examples/basic/components/AnimatedView.tsx +++ b/examples/basic/components/AnimatedView.tsx @@ -17,7 +17,7 @@ export function AnimatedView(props: AnimatedViewProps) { duration: props.fadeInDuration ?? 250, useNativeDriver: props.useNativeDriver ?? true, }).start(); - }, [fadeAnim]); + }, [fadeAnim, props.fadeInDuration, props.useNativeDriver]); return ( { it('should use native driver when useNativeDriver is true', async () => { render( - Test + Test , ); expect(screen.root).toHaveStyle({ opacity: 0 }); @@ -25,7 +27,7 @@ describe('AnimatedView', () => { it('should not use native driver when useNativeDriver is false', async () => { render( - Test + Test , ); expect(screen.root).toHaveStyle({ opacity: 0 }); diff --git a/examples/basic/jest-setup.ts b/examples/basic/jest-setup.ts index 7f63025d9..29505bd57 100644 --- a/examples/basic/jest-setup.ts +++ b/examples/basic/jest-setup.ts @@ -1,7 +1,9 @@ -/* eslint-disable no-undef, import/no-extraneous-dependencies */ +import { configure } from '@testing-library/react-native'; // Import built-in Jest matchers import '@testing-library/react-native/extend-expect'; // Silence the warning: Animated: `useNativeDriver` is not supported because the native animated module is missing jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper'); + +configure({ concurrentRoot: true }); diff --git a/examples/basic/package.json b/examples/basic/package.json index 86dd9d991..eb0ea4447 100644 --- a/examples/basic/package.json +++ b/examples/basic/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@babel/core": "^7.24.0", - "@testing-library/react-native": "^12.7.1", + "@testing-library/react-native": "^12.8.0", "@types/eslint": "^8.56.10", "@types/jest": "^29.5.12", "@types/react": "~18.2.79", diff --git a/examples/basic/yarn.lock b/examples/basic/yarn.lock index 69368e8e0..518d371ad 100644 --- a/examples/basic/yarn.lock +++ b/examples/basic/yarn.lock @@ -2463,9 +2463,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.7.1": - version: 12.7.1 - resolution: "@testing-library/react-native@npm:12.7.1" +"@testing-library/react-native@npm:^12.8.0": + version: 12.8.0 + resolution: "@testing-library/react-native@npm:12.8.0" dependencies: jest-matcher-utils: "npm:^29.7.0" pretty-format: "npm:^29.7.0" @@ -2478,7 +2478,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 10c0/caaa4bdf97834b307b72af05c447ce40a2ba2ff40b464050bc29535caadf81981ea2873668445e633fdb3d13efccb136ef0932d6d9f4736bc6f7f98be98088d4 + checksum: 10c0/216d40eefc3afa3259b37611213dcd6667cd0b8deb30521a8aaabe3afc15f07116ce64acba150f8c88b8e268df80639baf6bc38f05af1dbbae247e1d07639bde languageName: node linkType: hard @@ -8923,7 +8923,7 @@ __metadata: resolution: "root-workspace-0b6124@workspace:." dependencies: "@babel/core": "npm:^7.24.0" - "@testing-library/react-native": "npm:^12.7.1" + "@testing-library/react-native": "npm:^12.8.0" "@types/eslint": "npm:^8.56.10" "@types/jest": "npm:^29.5.12" "@types/react": "npm:~18.2.79" diff --git a/examples/cookbook/.eslintignore b/examples/cookbook/.eslintignore index 2b876e21d..91e57fb44 100644 --- a/examples/cookbook/.eslintignore +++ b/examples/cookbook/.eslintignore @@ -1 +1,2 @@ -test-utils.* \ No newline at end of file +jest-setup.ts +test-utils.* diff --git a/examples/cookbook/jest-setup.ts b/examples/cookbook/jest-setup.ts index d51605250..c66317303 100644 --- a/examples/cookbook/jest-setup.ts +++ b/examples/cookbook/jest-setup.ts @@ -1,4 +1,4 @@ -/* eslint-disable no-undef, import/no-extraneous-dependencies */ +import { configure } from '@testing-library/react-native'; // Import built-in Jest matchers import '@testing-library/react-native/extend-expect'; @@ -9,7 +9,11 @@ jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper'); // Enable API mocking via Mock Service Worker (MSW) beforeAll(() => server.listen()); + // Reset any runtime request handlers we may add during the tests afterEach(() => server.resetHandlers()); + // Disable API mocking after the tests are done afterAll(() => server.close()); + +configure({ concurrentRoot: true }); diff --git a/examples/cookbook/package.json b/examples/cookbook/package.json index 8c2416cb2..3bb98797c 100644 --- a/examples/cookbook/package.json +++ b/examples/cookbook/package.json @@ -30,7 +30,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@expo/metro-runtime": "~3.2.3", - "@testing-library/react-native": "^12.7.2", + "@testing-library/react-native": "^12.8.0", "@types/eslint": "^8.56.10", "@types/jest": "^29.5.12", "@types/react": "~18.2.45", diff --git a/examples/cookbook/yarn.lock b/examples/cookbook/yarn.lock index acf5f5385..01a301ae3 100644 --- a/examples/cookbook/yarn.lock +++ b/examples/cookbook/yarn.lock @@ -2833,9 +2833,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.7.2": - version: 12.7.2 - resolution: "@testing-library/react-native@npm:12.7.2" +"@testing-library/react-native@npm:^12.8.0": + version: 12.8.0 + resolution: "@testing-library/react-native@npm:12.8.0" dependencies: jest-matcher-utils: "npm:^29.7.0" pretty-format: "npm:^29.7.0" @@ -2848,7 +2848,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 10c0/0e4e26bd211056646f8b5c80e9177efc90affe0ddc7e1a2c22742a4e6da7129ec1f9125c7d233adddeb27f429fb3eb91e3f3bfa9e77e176f042475574546b001 + checksum: 10c0/216d40eefc3afa3259b37611213dcd6667cd0b8deb30521a8aaabe3afc15f07116ce64acba150f8c88b8e268df80639baf6bc38f05af1dbbae247e1d07639bde languageName: node linkType: hard @@ -9762,7 +9762,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@expo/metro-runtime": "npm:~3.2.3" - "@testing-library/react-native": "npm:^12.7.2" + "@testing-library/react-native": "npm:^12.8.0" "@types/eslint": "npm:^8.56.10" "@types/jest": "npm:^29.5.12" "@types/react": "npm:~18.2.45" From 383c241d2e02029646bf1adece8d14a47b496e7c Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 10:02:02 +0200 Subject: [PATCH 23/86] feat(v13): enable concurrent rendering by default (#1692) * feat!: enable concurrent rendering by default * chore: tweaks --- .github/workflows/ci.yml | 9 ++++----- jest-setup.ts | 4 ++-- src/__tests__/config.test.ts | 2 +- src/config.ts | 6 +++--- src/render.tsx | 6 +++--- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3ec3a6626..22d0c9bc4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: test: needs: [install-cache-deps] runs-on: ubuntu-latest - name: Test + name: Test (concurrent by default) steps: - name: Checkout uses: actions/checkout@v4 @@ -61,11 +61,10 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 - - test-concurrent: + test-legacy: needs: [install-cache-deps] runs-on: ubuntu-latest - name: Test (concurrent mode) + name: Test (legacy) steps: - name: Checkout uses: actions/checkout@v4 @@ -74,7 +73,7 @@ jobs: uses: ./.github/actions/setup-deps - name: Test in concurrent mode - run: CONCURRENT_MODE=1 yarn test:ci + run: CONCURRENT_MODE=0 yarn test:ci test-website: runs-on: ubuntu-latest diff --git a/jest-setup.ts b/jest-setup.ts index 9ed60181d..868f7ba89 100644 --- a/jest-setup.ts +++ b/jest-setup.ts @@ -3,7 +3,7 @@ import './src/matchers/extend-expect'; beforeEach(() => { resetToDefaults(); - if (process.env.CONCURRENT_MODE === '1') { - configure({ concurrentRoot: true }); + if (process.env.CONCURRENT_MODE === '0') { + configure({ concurrentRoot: false }); } }); diff --git a/src/__tests__/config.test.ts b/src/__tests__/config.test.ts index b3d2a7ed1..d20f91707 100644 --- a/src/__tests__/config.test.ts +++ b/src/__tests__/config.test.ts @@ -16,7 +16,7 @@ test('configure() overrides existing config values', () => { asyncUtilTimeout: 5000, defaultDebugOptions: { message: 'debug message' }, defaultIncludeHiddenElements: false, - concurrentRoot: false, + concurrentRoot: true, }); }); diff --git a/src/config.ts b/src/config.ts index cd0bf1bb6..742963376 100644 --- a/src/config.ts +++ b/src/config.ts @@ -15,8 +15,8 @@ export type Config = { defaultDebugOptions?: Partial; /** - * Set to `true` to enable concurrent rendering. - * Otherwise `render` will default to legacy synchronous rendering. + * Set to `false` to disable concurrent rendering. + * Otherwise `render` will default to concurrent rendering. */ concurrentRoot: boolean; }; @@ -43,7 +43,7 @@ export type InternalConfig = Config & { const defaultConfig: InternalConfig = { asyncUtilTimeout: 1000, defaultIncludeHiddenElements: false, - concurrentRoot: false, + concurrentRoot: true, }; let config = { ...defaultConfig }; diff --git a/src/render.tsx b/src/render.tsx index acdd9511e..7727130c2 100644 --- a/src/render.tsx +++ b/src/render.tsx @@ -24,10 +24,10 @@ export interface RenderOptions { wrapper?: React.ComponentType; /** - * Set to `true` to enable concurrent rendering. - * Otherwise `render` will default to legacy synchronous rendering. + * Set to `false` to disable concurrent rendering. + * Otherwise `render` will default to concurrent rendering. */ - concurrentRoot?: boolean | undefined; + concurrentRoot?: boolean; createNodeMock?: (element: React.ReactElement) => unknown; unstable_validateStringsRenderedWithinText?: boolean; From 94f5b390d0034a6ddbaefca00dd99413354add06 Mon Sep 17 00:00:00 2001 From: Maciej Jastrzebski Date: Fri, 25 Oct 2024 10:23:30 +0200 Subject: [PATCH 24/86] chore: v13 versioned docs (#1693) * chore: duplicate docs * chore: add v13 versioned docs --- website/docs/13.x/_meta.json | 16 + website/docs/13.x/cookbook/_meta.json | 18 + .../docs/13.x/cookbook/advanced/_meta.json | 1 + .../cookbook/advanced/network-requests.md | 380 +++++++++++ website/docs/13.x/cookbook/basics/_meta.json | 1 + .../docs/13.x/cookbook/basics/async-tests.md | 142 ++++ .../13.x/cookbook/basics/custom-render.md | 78 +++ website/docs/13.x/cookbook/index.md | 29 + .../13.x/cookbook/state-management/_meta.json | 1 + .../13.x/cookbook/state-management/jotai.md | 226 ++++++ website/docs/13.x/docs/_meta.json | 24 + website/docs/13.x/docs/advanced/_meta.json | 1 + .../docs/13.x/docs/advanced/testing-env.mdx | 146 ++++ .../13.x/docs/advanced/understanding-act.mdx | 226 ++++++ website/docs/13.x/docs/api.md | 22 + website/docs/13.x/docs/api/_meta.json | 8 + website/docs/13.x/docs/api/events/_meta.json | 4 + .../docs/13.x/docs/api/events/fire-event.mdx | 158 +++++ .../docs/13.x/docs/api/events/user-event.mdx | 300 ++++++++ website/docs/13.x/docs/api/jest-matchers.mdx | 224 ++++++ website/docs/13.x/docs/api/misc/_meta.json | 7 + .../docs/13.x/docs/api/misc/accessibility.mdx | 27 + website/docs/13.x/docs/api/misc/async.mdx | 138 ++++ website/docs/13.x/docs/api/misc/config.mdx | 56 ++ website/docs/13.x/docs/api/misc/other.mdx | 75 ++ .../docs/13.x/docs/api/misc/render-hook.mdx | 126 ++++ website/docs/13.x/docs/api/queries.mdx | 646 ++++++++++++++++++ website/docs/13.x/docs/api/render.mdx | 65 ++ website/docs/13.x/docs/api/screen.mdx | 150 ++++ website/docs/13.x/docs/guides/_meta.json | 1 + .../13.x/docs/guides/community-resources.mdx | 13 + website/docs/13.x/docs/guides/faq.mdx | 39 ++ .../docs/13.x/docs/guides/how-to-query.mdx | 125 ++++ .../docs/13.x/docs/guides/troubleshooting.mdx | 80 +++ website/docs/13.x/docs/migration/_meta.json | 5 + .../13.x/docs/migration/jest-matchers.mdx | 75 ++ .../13.x/docs/migration/previous/_meta.json | 1 + .../docs/13.x/docs/migration/previous/v11.mdx | 53 ++ .../docs/13.x/docs/migration/previous/v2.mdx | 123 ++++ .../docs/13.x/docs/migration/previous/v7.mdx | 115 ++++ .../docs/13.x/docs/migration/previous/v9.mdx | 64 ++ website/docs/13.x/docs/migration/v12.mdx | 70 ++ website/docs/13.x/docs/start/_meta.json | 1 + website/docs/13.x/docs/start/intro.md | 46 ++ website/docs/13.x/docs/start/quick-start.mdx | 53 ++ website/docs/13.x/index.md | 27 + website/rspress.config.ts | 2 +- 47 files changed, 4187 insertions(+), 1 deletion(-) create mode 100644 website/docs/13.x/_meta.json create mode 100644 website/docs/13.x/cookbook/_meta.json create mode 100644 website/docs/13.x/cookbook/advanced/_meta.json create mode 100644 website/docs/13.x/cookbook/advanced/network-requests.md create mode 100644 website/docs/13.x/cookbook/basics/_meta.json create mode 100644 website/docs/13.x/cookbook/basics/async-tests.md create mode 100644 website/docs/13.x/cookbook/basics/custom-render.md create mode 100644 website/docs/13.x/cookbook/index.md create mode 100644 website/docs/13.x/cookbook/state-management/_meta.json create mode 100644 website/docs/13.x/cookbook/state-management/jotai.md create mode 100644 website/docs/13.x/docs/_meta.json create mode 100644 website/docs/13.x/docs/advanced/_meta.json create mode 100644 website/docs/13.x/docs/advanced/testing-env.mdx create mode 100644 website/docs/13.x/docs/advanced/understanding-act.mdx create mode 100644 website/docs/13.x/docs/api.md create mode 100644 website/docs/13.x/docs/api/_meta.json create mode 100644 website/docs/13.x/docs/api/events/_meta.json create mode 100644 website/docs/13.x/docs/api/events/fire-event.mdx create mode 100644 website/docs/13.x/docs/api/events/user-event.mdx create mode 100644 website/docs/13.x/docs/api/jest-matchers.mdx create mode 100644 website/docs/13.x/docs/api/misc/_meta.json create mode 100644 website/docs/13.x/docs/api/misc/accessibility.mdx create mode 100644 website/docs/13.x/docs/api/misc/async.mdx create mode 100644 website/docs/13.x/docs/api/misc/config.mdx create mode 100644 website/docs/13.x/docs/api/misc/other.mdx create mode 100644 website/docs/13.x/docs/api/misc/render-hook.mdx create mode 100644 website/docs/13.x/docs/api/queries.mdx create mode 100644 website/docs/13.x/docs/api/render.mdx create mode 100644 website/docs/13.x/docs/api/screen.mdx create mode 100644 website/docs/13.x/docs/guides/_meta.json create mode 100644 website/docs/13.x/docs/guides/community-resources.mdx create mode 100644 website/docs/13.x/docs/guides/faq.mdx create mode 100644 website/docs/13.x/docs/guides/how-to-query.mdx create mode 100644 website/docs/13.x/docs/guides/troubleshooting.mdx create mode 100644 website/docs/13.x/docs/migration/_meta.json create mode 100644 website/docs/13.x/docs/migration/jest-matchers.mdx create mode 100644 website/docs/13.x/docs/migration/previous/_meta.json create mode 100644 website/docs/13.x/docs/migration/previous/v11.mdx create mode 100644 website/docs/13.x/docs/migration/previous/v2.mdx create mode 100644 website/docs/13.x/docs/migration/previous/v7.mdx create mode 100644 website/docs/13.x/docs/migration/previous/v9.mdx create mode 100644 website/docs/13.x/docs/migration/v12.mdx create mode 100644 website/docs/13.x/docs/start/_meta.json create mode 100644 website/docs/13.x/docs/start/intro.md create mode 100644 website/docs/13.x/docs/start/quick-start.mdx create mode 100644 website/docs/13.x/index.md diff --git a/website/docs/13.x/_meta.json b/website/docs/13.x/_meta.json new file mode 100644 index 000000000..4ffae6a41 --- /dev/null +++ b/website/docs/13.x/_meta.json @@ -0,0 +1,16 @@ +[ + { + "text": "Docs", + "link": "/docs/start/intro", + "activeMatch": "^/docs/" + }, + { + "text": "Cookbook", + "link": "/cookbook/", + "activeMatch": "^/cookbook/" + }, + { + "text": "Examples", + "link": "https://github.com/callstack/react-native-testing-library/tree/main/examples" + } +] diff --git a/website/docs/13.x/cookbook/_meta.json b/website/docs/13.x/cookbook/_meta.json new file mode 100644 index 000000000..deb5689d7 --- /dev/null +++ b/website/docs/13.x/cookbook/_meta.json @@ -0,0 +1,18 @@ +[ + "index", + { + "type": "dir", + "name": "basics", + "label": "Basic Recipes" + }, + { + "type": "dir", + "name": "advanced", + "label": "Advanced Recipes" + }, + { + "type": "dir", + "name": "state-management", + "label": "State Management Recipes" + } +] diff --git a/website/docs/13.x/cookbook/advanced/_meta.json b/website/docs/13.x/cookbook/advanced/_meta.json new file mode 100644 index 000000000..9d0399cc6 --- /dev/null +++ b/website/docs/13.x/cookbook/advanced/_meta.json @@ -0,0 +1 @@ +["network-requests"] diff --git a/website/docs/13.x/cookbook/advanced/network-requests.md b/website/docs/13.x/cookbook/advanced/network-requests.md new file mode 100644 index 000000000..08002ef92 --- /dev/null +++ b/website/docs/13.x/cookbook/advanced/network-requests.md @@ -0,0 +1,380 @@ +# Network Requests + +## Introduction + +Mocking network requests is an essential part of testing React Native applications. By mocking +network +requests, you can control the data that is returned from the server and test how your application +behaves in different scenarios, such as when the request is successful or when it fails. + +In this guide, we will show you how to mock network requests and guard your test suits from unwanted +and unmocked/unhandled network requests + +:::info +To simulate a real-world scenario, we will use the [Random User Generator API](https://randomuser.me/) that provides random user data. +::: + +## Phonebook Example + +Let's assume we have a simple phonebook application that +uses [`fetch`](https://reactnative.dev/docs/network#using-fetch) for fetching Data from a server. +In our case, we have a list of contacts and favorites that we want to display in our application. + +This is how the root of the application looks like: + +```tsx title=network-requests/Phonebook.tsx +import React, { useEffect, useState } from 'react'; +import { Text } from 'react-native'; +import { User } from './types'; +import ContactsList from './components/ContactsList'; +import FavoritesList from './components/FavoritesList'; +import getAllContacts from './api/getAllContacts'; +import getAllFavorites from './api/getAllFavorites'; + +export default () => { + const [usersData, setUsersData] = useState([]); + const [favoritesData, setFavoritesData] = useState([]); + const [error, setError] = useState(null); + + useEffect(() => { + const _getAllContacts = async () => { + const _data = await getAllContacts(); + setUsersData(_data); + }; + const _getAllFavorites = async () => { + const _data = await getAllFavorites(); + setFavoritesData(_data); + }; + + const run = async () => { + try { + await Promise.all([_getAllContacts(), _getAllFavorites()]); + } catch (e) { + const message = isErrorWithMessage(e) ? e.message : 'Something went wrong'; + setError(message); + } + }; + + void run(); + }, []); + + if (error) { + return An error occurred: {error}; + } + + return ( + <> + + + + ); +}; +``` + +We fetch the contacts from the server using the `getAllFavorites` function that utilizes `fetch`. + +```tsx title=network-requests/api/getAllContacts.ts +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=25'); + if (!res.ok) { + throw new Error(`Error fetching contacts`); + } + const json = await res.json(); + return json.results; +}; +``` + +We have similar function for fetching the favorites, but this time limiting the results to 10. + +```tsx title=network-requests/api/getAllFavorites.ts +import { User } from '../types'; + +export default async (): Promise => { + const res = await fetch('https://randomuser.me/api/?results=10'); + if (!res.ok) { + throw new Error(`Error fetching favorites`); + } + const json = await res.json(); + return json.results; +}; +``` + +Our `FavoritesList` component is a simple component that displays the list of favorite contacts and +their avatars horizontally. + +```tsx title=network-requests/components/FavoritesList.tsx +import {FlatList, Image, StyleSheet, Text, View} from 'react-native'; +import React, {useCallback} from 'react'; +import type {ListRenderItem} from '@react-native/virtualized-lists'; +import {User} from '../types'; + +export default ({users}: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback(({item: {picture}}) => { + return ( + + + + ); + }, []); + + if (users.length === 0) return ( + + Figuring out your favorites... + + ); + + return ( + + ⭐My Favorites + + horizontal + showsHorizontalScrollIndicator={false} + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; + +// Looking for styles? +// Check examples/cookbook/app/advanced/components/FavoritesList.tsx +const styles = +... +``` + +Our `ContactsList` component is similar to the `FavoritesList` component, but it displays the list +of +all contacts vertically. + +```tsx title=network-requests/components/ContactsList.tsx +import { FlatList, Image, StyleSheet, Text, View } from 'react-native'; +import React, { useCallback } from 'react'; +import type { ListRenderItem } from '@react-native/virtualized-lists'; +import { User } from '../types'; + +export default ({ users }: { users: User[] }) => { + const renderItem: ListRenderItem = useCallback( + ({ item: { name, email, picture, cell }, index }) => { + const { title, first, last } = name; + const backgroundColor = index % 2 === 0 ? '#f9f9f9' : '#fff'; + return ( + + + + + Name: {title} {first} {last} + + Email: {email} + Mobile: {cell} + + + ); + }, + [], + ); + + if (users.length === 0) return ; + + return ( + + + data={users} + renderItem={renderItem} + keyExtractor={(item, index) => `${index}-${item.id.value}`} + /> + + ); +}; + +// Looking for styles or FullScreenLoader component? +// Check examples/cookbook/app/advanced/components/ContactsList.tsx +const FullScreenLoader = () => ... +const styles = ... +``` + +## Start testing with a simple test + +In our initial test we would like to test if the `PhoneBook` component renders the `FavoritesList` +and `ContactsList` components correctly. +We will need to mock the network requests and their corresponding responses to ensure that the component behaves as +expected. To mock the network requests we will use [MSW (Mock Service Worker)](https://mswjs.io/docs/getting-started). + +:::note +We recommend using the Mock Service Worker (MSW) library to declaratively mock API communication in your tests instead of stubbing `fetch`, or relying on third-party adapters. +::: + +:::info +You can install MSW by running `npm install msw --save-dev` or `yarn add msw --dev`. +More info regarding installation can be found in [MSW's getting started guide](https://mswjs.io/docs/getting-started#step-1-install). + +Please make sure you're also aware of [MSW's setup guide](https://mswjs.io/docs/integrations/react-native). +Please be minded that the MSW's setup guide is potentially incomplete and might contain discrepancies/missing pieces. +::: + +```tsx title=network-requests/Phonebook.test.tsx +import { render, screen, waitForElementToBeRemoved } from '@testing-library/react-native'; +import React from 'react'; +import PhoneBook from '../PhoneBook'; +import { User } from '../types'; +import {http, HttpResponse} from "msw"; +import {setupServer} from "msw/node"; + +// Define request handlers and response resolvers for random user API. +// By default, we always return the happy path response. +const handlers = [ + http.get('https://randomuser.me/api/*', () => { + return HttpResponse.json(DATA); + }), +]; + +// Setup a request interception server with the given request handlers. +const server = setupServer(...handlers); + +// Enable API mocking via Mock Service Worker (MSW) +beforeAll(() => server.listen()); +// Reset any runtime request handlers we may add during the tests +afterEach(() => server.resetHandlers()); +// Disable API mocking after the tests are done +afterAll(() => server.close()); + +describe('PhoneBook', () => { + it('fetches all contacts and favorites successfully and renders lists in sections correctly', async () => { + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect(await screen.findByText('Name: Mrs Ida Kristensen')).toBeOnTheScreen(); + expect(await screen.findByText('Email: ida.kristensen@example.com')).toBeOnTheScreen(); + expect(await screen.findAllByText(/name/i)).toHaveLength(3); + expect(await screen.findByText(/my favorites/i)).toBeOnTheScreen(); + expect(await screen.findAllByLabelText('favorite-contact-avatar')).toHaveLength(3); + }); +}); + +const DATA: { results: User[] } = { + results: [ + { + name: { + title: 'Mrs', + first: 'Ida', + last: 'Kristensen', + }, + email: 'ida.kristensen@example.com', + id: { + name: 'CPR', + value: '250562-5730', + }, + picture: { + large: 'https://randomuser.me/api/portraits/women/26.jpg', + medium: 'https://randomuser.me/api/portraits/med/women/26.jpg', + thumbnail: 'https://randomuser.me/api/portraits/thumb/women/26.jpg', + }, + cell: '123-4567-890', + }, + // For brevity, we have omitted the rest of the users, you can still find them in + // examples/cookbook/app/network-requests/__tests__/test-utils.ts + ... + ], +}; +``` + +:::info +More info regarding how to describe the network using request handlers, intercepting a request and handling its response can be found in the [MSW's documentation](https://mswjs.io/docs/getting-started#step-2-describe). +::: + +## Testing error handling + +As we are dealing with network requests, and things can go wrong, we should also cover the case when +the API request fails. In this case, we would like to test how our application behaves when the API request fails. + +:::info +The nature of the network can be highly dynamic, which makes it challenging to describe it completely in a fixed list of request handlers. +MSW provides us the means to override any particular network behavior using the designated `.use()` API. +More info can be found in [MSW's Network behavior overrides documentation](https://mswjs.io/docs/best-practices/network-behavior-overrides) +::: + +```tsx title=network-requests/Phonebook.test.tsx +... + +const mockServerFailureForGetAllContacts = () => { + server.use( + http.get('https://randomuser.me/api/', ({ request }) => { + // Construct a URL instance out of the intercepted request. + const url = new URL(request.url); + // Read the "results" URL query parameter using the "URLSearchParams" API. + const resultsLength = url.searchParams.get('results'); + // Simulate a server error for the get all contacts request. + // We check if the "results" query parameter is set to "25" + // to know it's the correct request to mock, in our case get all contacts. + if (resultsLength === '25') { + return new HttpResponse(null, { status: 500 }); + } + // Return the default response for all other requests that match URL and verb. (in our case get favorites) + return HttpResponse.json(DATA); + }), + ); +}; + +describe('PhoneBook', () => { +... + it('fails to fetch all contacts and renders error message', async () => { + mockServerFailureForGetAllContacts(); + render(); + + await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i)); + expect( + await screen.findByText(/an error occurred: error fetching contacts/i), + ).toBeOnTheScreen(); + }); +}); + +```` + +## Global guarding against unwanted API requests + +As mistakes may happen, we might forget to mock a network request in one of our tests in the future. +To prevent us from happening, and alert when a certain network request is left unhandled, you may choose to +move MSW's server management from `PhoneBook.test.tsx` to Jest's setup file via [`setupFilesAfterEnv`](https://jestjs.io/docs/configuration#setupfilesafterenv-array). + +```tsx title=examples/cookbook/jest-setup.ts +// Enable API mocking via Mock Service Worker (MSW) +beforeAll(() => server.listen()); +// Reset any runtime request handlers we may add during the tests +afterEach(() => server.resetHandlers()); +// Disable API mocking after the tests are done +afterAll(() => server.close()); + +// ... rest of your setup file +``` + +This setup will ensure you have the MSW server running before any test suite starts and stops it after all tests are done. +Which will result in a warning in the console if you forget to mock an API request in your test suite. + +```bash +[MSW] Warning: intercepted a request without a matching request handler: + • GET https://randomuser.me/api/?results=25?results=25 +``` + +## Conclusion + +Testing a component that makes network requests in combination with MSW takes some initial preparation to configure and describe the overridden networks. +We can achieve that by using MSW's request handlers and intercepting APIs. + +Once up and running we gain full grip over the network requests, their responses, statuses. +Doing so is crucial to be able to test how our application behaves in different +scenarios, such as when the request is successful or when it fails. + +When global configuration is in place, MSW's will also warn us when an unhandled network requests has occurred throughout a test suite. + +## Further Reading and Alternatives + +Explore more advanced scenarios for mocking network requests with MSW: + +- MSW's Basics - [Intercepting requests](https://mswjs.io/docs/basics/intercepting-requests) and/or [Mocking responses](https://mswjs.io/docs/basics/mocking-responses) +- MSW's Network behavior - how to describe [REST](https://mswjs.io/docs/network-behavior/rest) and/or [GraphQL](https://mswjs.io/docs/network-behavior/graphql) APIs diff --git a/website/docs/13.x/cookbook/basics/_meta.json b/website/docs/13.x/cookbook/basics/_meta.json new file mode 100644 index 000000000..591daedc8 --- /dev/null +++ b/website/docs/13.x/cookbook/basics/_meta.json @@ -0,0 +1 @@ +["async-tests", "custom-render"] diff --git a/website/docs/13.x/cookbook/basics/async-tests.md b/website/docs/13.x/cookbook/basics/async-tests.md new file mode 100644 index 000000000..c3900d519 --- /dev/null +++ b/website/docs/13.x/cookbook/basics/async-tests.md @@ -0,0 +1,142 @@ +# Async tests + +## Summary + +Typically, you would write synchronous tests, as they are simple and get the work done. However, there are cases when using asynchronous (async) tests might be necessary or beneficial. The two most common cases are: + +1. **Testing Code with asynchronous operations**: When your code relies on asynchronous operations, such as network calls or database queries, async tests are essential. Even though you should mock these network calls, the mock should act similarly to the actual behavior and hence by async. +2. **UserEvent API:** Using the [User Event API](docs/api/events/user-event) in your tests creates more realistic event handling. These interactions introduce delays (even though these are typically event-loop ticks with 0 ms delays), requiring async tests to handle the timing correctly. + +Using async tests when needed ensures your tests are reliable and simulate real-world conditions accurately. + +### Example + +Consider a basic asynchronous test for a user signing in with correct credentials: + +```javascript +test('User can sign in with correct credentials', async () => { + // Typical test setup + const user = userEvent.setup(); + render(); + + // No need to use async here, components are already rendered + expect(screen.getByRole('header', { name: 'Sign in to Hello World App!' })).toBeOnTheScreen(); + + // Using await as User Event requires it + await user.type(screen.getByLabelText('Username'), 'admin'); + await user.type(screen.getByLabelText('Password'), 'admin1'); + await user.press(screen.getByRole('button', { name: 'Sign In' })); + + // Using await as sign in operation is asynchronous + expect(await screen.findByRole('header', { name: 'Welcome admin!' })).toBeOnTheScreen(); + + // Follow-up assertions do not need to be async, as we already waited for sign in operation to complete + expect( + screen.queryByRole('header', { name: 'Sign in to Hello World App' }) + ).not.toBeOnTheScreen(); + expect(screen.queryByLabelText('Username')).not.toBeOnTheScreen(); + expect(screen.queryByLabelText('Password')).not.toBeOnTheScreen(); +}); +``` + +## Async utilities + +There are several asynchronous utilities you might use in your tests. + +### `findBy*` queries + +The most common are the [`findBy*` queries](docs/api/queries#find-by). These are useful when waiting for a matching element to appear. They can be understood as a [`getBy*` queries](docs/api/queries#get-by) used in conjunction with a [`waitFor` function](docs/api/misc/async#waitfor). + +They accept the same predicates as `getBy*` queries like `findByRole`, `findByTest`, etc. They also have a multiple elements variant called [`findAllBy*`](docs/api/queries#find-all-by). + +```typescript +function findByRole: ( + role: TextMatch, + queryOptions?: { + // Query specific options + } + waitForOptions?: { + timeout?: number; + interval?: number; + // .. + } +): Promise; +``` + +Each query has a default `timeout` value of 1000 ms and a default `interval` of 50 ms. Custom timeout and check intervals can be specified if needed, as shown below: + +#### Example + +```typescript +const button = await screen.findByRole('button'), { name: 'Start' }, { timeout: 1000, interval: 50 }); +``` + +Alternatively, a default global `timeout` value can be set using the [`configure` function](docs/api/misc/config#configure): + +```typescript +configure({ asyncUtilTimeout: timeout }); +``` + +### `waitFor` function + +The `waitFor` function is another option, serving as a lower-level utility in more advanced cases. + +```typescript +function waitFor( + expectation: () => T, + options?: { + timeout: number; + interval: number; + } +): Promise; +``` + +It accepts an `expectation` to be validated and repeats the check every defined interval until it no longer throws an error. Similarly to `findBy*` queries they accept `timeout` and `interval` options and have the same default values of 1000ms for timeout, and a checking interval of 50 ms. + +#### Example + +```typescript +await waitFor(() => expect(mockAPI).toHaveBeenCalledTimes(1)); +``` + +If you want to use it with `getBy*` queries, use the `findBy*` queries instead, as they essentially do the same, but offer better developer experience. + +### `waitForElementToBeRemoved` function + +A specialized function, [`waitForElementToBeRemoved`](docs/api/misc/async#waitforelementtoberemoved), is used to verify that a matching element was present but has since been removed. + +```typescript +function waitForElementToBeRemoved( + expectation: () => T, + options?: { + timeout: number; + interval: number; + } +): Promise {} +``` + +This function is, in a way, the negation of `waitFor` as it expects the initial expectation to be true (not throw an error), only to turn invalid (start throwing errors) on subsequent runs. It operates using the same `timeout` and `interval` parameters as `findBy*` queries and `waitFor`. + +#### Example + +```typescript +await waitForElementToBeRemoved(() => getByText('Hello World')); +``` + +## Fake Timers + +Asynchronous tests can take long to execute due to the delays introduced by asynchronous operations. To mitigate this, fake timers can be used. These are particularly useful when delays are mere waits, such as the 130 milliseconds wait introduced by the UserEvent `press()` event due to React Native runtime behavior or simulated 1000 wait in a API call mock. Fake timers allow for precise fast-forwarding through these wait periods. + +Here are the basics of using [Jest fake timers](https://jestjs.io/docs/timer-mocks): + +- Enable fake timers with: `jest.useFakeTimers()` +- Disable fake timers with: `jest.useRealTimers()` +- Advance fake timers forward with: `jest.advanceTimersByTime(interval)` +- Run **all timers** to completion with: `jest.runAllTimers()` +- Run **currently pending timers** to completion with: `jest.runOnlyPendingTimers()` + +Be cautious when running all timers to completion as it might create an infinite loop if these timers schedule follow-up timers. In such cases, it's safer to use `jest.runOnlyPendingTimers()` to avoid ending up in an infinite loop of scheduled tasks. + +You can use both built-in Jest fake timers, as well as [Sinon.JS fake timers](https://sinonjs.org/releases/latest/fake-timers/). + +Note: you do not need to advance timers by hand when using User Event API, as it's automatically. diff --git a/website/docs/13.x/cookbook/basics/custom-render.md b/website/docs/13.x/cookbook/basics/custom-render.md new file mode 100644 index 000000000..6d1d88ffd --- /dev/null +++ b/website/docs/13.x/cookbook/basics/custom-render.md @@ -0,0 +1,78 @@ +# Custom `render` function + +### Summary + +RNTL exposes the `render` function as the primary entry point for tests. If you make complex, repeating setups for your tests, consider creating a custom render function. The idea is to encapsulate common setup steps and test wiring inside a render function suitable for your tests. + +### Example + +```tsx title=test-utils.ts +// ... + +interface RenderWithProvidersProps { + user?: User | null; + theme?: Theme; +} + +export function renderWithProviders( + ui: React.ReactElement, + options?: RenderWithProvidersProps +) { + return render( + + {ui} + + ); +} +``` + +```tsx title=custom-render/index.test.tsx +import { screen } from '@testing-library/react-native'; +import { renderWithProviders } from '../test-utils'; +// ... + +test('renders WelcomeScreen with user', () => { + renderWithProviders(, { user: { name: 'Jar-Jar' } }); + expect(screen.getByText(/hello Jar-Jar/i)).toBeOnTheScreen(); +}); + +test('renders WelcomeScreen without user', () => { + renderWithProviders(, { user: null }); + expect(screen.getByText(/hello stranger/i)).toBeOnTheScreen(); +}); +``` + +Example [full source code](https://github.com/callstack/react-native-testing-library/tree/main/examples/cookbook/custom-render). + +### More info + +#### Additional params + +A custom render function might accept additional parameters to allow for setting up different start conditions for a test, e.g., the initial state for global state management. + +```tsx title=SomeScreen.test.tsx +test('renders SomeScreen for logged in user', () => { + renderScreen(, { state: loggedInState }); + // ... +}); +``` + +#### Multiple functions + +Depending on the situation, you may declare more than one custom render function. For example, you have one function for testing application flows and a second for testing individual screens. + +```tsx title=test-utils.tsx +function renderNavigator(ui, options); +function renderScreen(ui, options); +``` + +#### Async function + +Make it async if you want to put some async setup in your custom render function. + +```tsx title=SomeScreen.test.tsx +test('renders SomeScreen', async () => { + await renderWithAsync(); + // ... +}); +``` diff --git a/website/docs/13.x/cookbook/index.md b/website/docs/13.x/cookbook/index.md new file mode 100644 index 000000000..da99e2155 --- /dev/null +++ b/website/docs/13.x/cookbook/index.md @@ -0,0 +1,29 @@ +# Introduction + +Welcome to the **React Native Testing Library (RNTL) Cookbook**! +This app is your go-to resource for learning how to effectively test React Native applications. +It provides a collection of **best practices**, **ready-made recipes**, and **tips & tricks** to +simplify and improve your testing workflow. Whether you’re a beginner just getting started or a +seasoned developer looking to sharpen your +skills, the Cookbook has something for everyone. + +## What's Inside the Cookbook? + +The Cookbook is currently organized into **three main chapters**: + +- **Basic Recipes**: A great starting point, covering essential testing scenarios such as async + operations and custom render functions. +- **Advanced Recipes**: More complex scenarios like network requests and in the future, navigation + testing and more. +- **State Management Recipes**: Best practices for testing state management libraries + +Each recipe includes a clear explanation along with a corresponding code example to help you get +hands-on with testing. Checkout +the [Cookbook App](https://github.com/callstack/react-native-testing-library/tree/main/examples/cookbook#rntl-cookbook) to see the +recipes in action. + +## What's Next? + +Join the conversation +on [GitHub](https://github.com/callstack/react-native-testing-library/issues/1624) here to discuss +ideas, ask questions, or provide feedback. diff --git a/website/docs/13.x/cookbook/state-management/_meta.json b/website/docs/13.x/cookbook/state-management/_meta.json new file mode 100644 index 000000000..beac50b85 --- /dev/null +++ b/website/docs/13.x/cookbook/state-management/_meta.json @@ -0,0 +1 @@ +["jotai"] diff --git a/website/docs/13.x/cookbook/state-management/jotai.md b/website/docs/13.x/cookbook/state-management/jotai.md new file mode 100644 index 000000000..8471367c0 --- /dev/null +++ b/website/docs/13.x/cookbook/state-management/jotai.md @@ -0,0 +1,226 @@ +# Jotai + +## Introduction + +Jotai is a global state management library for React that uses an atomic approach to optimize +renders and solve issues like extra re-renders and the need for memoization. It scales from simple +state management to complex enterprise applications, offering utilities and extensions to enhance +the developer experience. + +## Task List Example + +Let's assume we have a simple task list component that uses Jotai for state management. The +component has a list of tasks, a text input for typing new task name and a button to add a new task to the list. + +```tsx title=state-management/jotai/TaskList.tsx +import * as React from 'react'; +import { Pressable, Text, TextInput, View } from 'react-native'; +import { useAtom } from 'jotai'; +import { nanoid } from 'nanoid'; +import { newTaskTitleAtom, tasksAtom } from './state'; + +export function TaskList() { + const [tasks, setTasks] = useAtom(tasksAtom); + const [newTaskTitle, setNewTaskTitle] = useAtom(newTaskTitleAtom); + + const handleAddTask = () => { + setTasks((tasks) => [ + ...tasks, + { + id: nanoid(), + title: newTaskTitle, + }, + ]); + setNewTaskTitle(''); + }; + + return ( + + {tasks.map((task) => ( + + {task.title} + + ))} + + {!tasks.length ? No tasks, start by adding one... : null} + + setNewTaskTitle(text)} + /> + + + Add Task + + + ); +} +``` + +## Starting with a Simple Test + +We can test our `TaskList` component using React Native Testing Library's (RNTL) regular `render` +function. Although it is sufficient to test the empty state of the `TaskList` component, it is not +enough to test the component with initial tasks present in the list. + +```tsx title=status-management/jotai/__tests__/TaskList.test.tsx +import * as React from 'react'; +import { render, screen, userEvent } from '@testing-library/react-native'; +import { renderWithAtoms } from './test-utils'; +import { TaskList } from './TaskList'; +import { newTaskTitleAtom, tasksAtom } from './state'; +import { Task } from './types'; + +jest.useFakeTimers(); + +test('renders an empty task list', () => { + render(); + expect(screen.getByText(/no tasks, start by adding one/i)).toBeOnTheScreen(); +}); +``` + +## Custom Render Function to populate Jotai Atoms with Initial Values + +To test the `TaskList` component with initial tasks, we need to be able to populate the `tasksAtom` with +initial values. We can create a custom render function that uses Jotai's `useHydrateAtoms` hook to +hydrate the atoms with initial values. This function will accept the initial atoms and their +corresponding values as an argument. + +```tsx title=status-management/jotai/test-utils.tsx +import * as React from 'react'; +import { render } from '@testing-library/react-native'; +import { useHydrateAtoms } from 'jotai/utils'; +import { PrimitiveAtom } from 'jotai/vanilla/atom'; + +// Jotai types are not well exported, so we will make our life easier by using `any`. +export type AtomInitialValueTuple = [PrimitiveAtom, T]; + +export interface RenderWithAtomsOptions { + initialValues: AtomInitialValueTuple[]; +} + +/** + * Renders a React component with Jotai atoms for testing purposes. + * + * @param component - The React component to render. + * @param options - The render options including the initial atom values. + * @returns The render result from `@testing-library/react-native`. + */ +export const renderWithAtoms = ( + component: React.ReactElement, + options: RenderWithAtomsOptions, +) => { + return render( + {component}, + ); +}; + +export type HydrateAtomsWrapperProps = React.PropsWithChildren<{ + initialValues: AtomInitialValueTuple[]; +}>; + +/** + * A wrapper component that hydrates Jotai atoms with initial values. + * + * @param initialValues - The initial values for the Jotai atoms. + * @param children - The child components to render. + * @returns The rendered children. + + */ +function HydrateAtomsWrapper({ initialValues, children }: HydrateAtomsWrapperProps) { + useHydrateAtoms(initialValues); + return children; +} +``` + +## Testing the `TaskList` Component with initial tasks + +We can now use the `renderWithAtoms` function to render the `TaskList` component with initial tasks. The +`initialValues` property will contain the `tasksAtom`, `newTaskTitleAtom` and their initial values. We can then test the component to ensure that the initial tasks are rendered correctly. + +:::info +In our test, we populated only one atom and its initial value, but you can add other Jotai atoms and their corresponding values to the initialValues array as needed. +::: + +```tsx title=status-management/jotai/__tests__/TaskList.test.tsx +======= +const INITIAL_TASKS: Task[] = [{ id: '1', title: 'Buy bread' }]; + +test('renders a to do list with 1 items initially, and adds a new item', async () => { + renderWithAtoms(, { + initialValues: [ + [tasksAtom, INITIAL_TASKS], + [newTaskTitleAtom, ''], + ], + }); + + expect(screen.getByText(/buy bread/i)).toBeOnTheScreen(); + expect(screen.getAllByTestId('task-item')).toHaveLength(1); + + const user = userEvent.setup(); + await user.type(screen.getByPlaceholderText(/new task/i), 'Buy almond milk'); + await user.press(screen.getByRole('button', { name: /add task/i })); + + expect(screen.getByText(/buy almond milk/i)).toBeOnTheScreen(); + expect(screen.getAllByTestId('task-item')).toHaveLength(2); +}); +``` + +## Modifying atom outside of React components + +In several cases, you might need to change an atom's state outside a React component. In our case, +we have a set of functions to get tasks and set tasks, which change the state of the task list atom. + +```tsx title=state-management/jotai/state.ts +import { atom, createStore } from 'jotai'; +import { Task } from './types'; + +export const tasksAtom = atom([]); +export const newTaskTitleAtom = atom(''); + +// Available for use outside React components +export const store = createStore(); + +// Selectors +export function getAllTasks(): Task[] { + return store.get(tasksAtom); +} + +// Actions +export function addTask(task: Task) { + store.set(tasksAtom, [...getAllTasks(), task]); +} +``` + +## Testing atom outside of React components + +You can test the `getAllTasks` and `addTask` functions outside the React component's scope by setting +the initial to-do items in the store and then checking if the functions work as expected. +No special setup is required to test these functions, as `store.set` is available by default by +Jotai. + +```tsx title=state-management/jotai/__tests__/TaskList.test.tsx +import { addTask, getAllTasks, store, tasksAtom } from './state'; + +//... + +test('modify store outside of React component', () => { + // Set the initial to do items in the store + store.set(tasksAtom, INITIAL_TASKS); + expect(getAllTasks()).toEqual(INITIAL_TASKS); + + const NEW_TASK = { id: '2', title: 'Buy almond milk' }; + addTask(NEW_TASK); + expect(getAllTasks()).toEqual([...INITIAL_TASKS, NEW_TASK]); +}); +``` + +## Conclusion + +Testing a component or a function that depends on Jotai atoms is straightforward with the help of +the `useHydrateAtoms` hook. We've seen how to create a custom render function `renderWithAtoms` that +sets up atoms and their initial values for testing purposes. We've also seen how to test functions +that change the state of atoms outside React components. This approach allows us to test components +in different states and scenarios, ensuring they behave as expected. diff --git a/website/docs/13.x/docs/_meta.json b/website/docs/13.x/docs/_meta.json new file mode 100644 index 000000000..4387b5b9a --- /dev/null +++ b/website/docs/13.x/docs/_meta.json @@ -0,0 +1,24 @@ +[ + { + "type": "dir", + "name": "start", + "label": "Getting started" + }, + { "type": "dir", "name": "api", "label": "API reference" }, + { + "type": "dir", + "name": "guides", + "label": "Guides" + }, + { + "type": "dir", + "name": "advanced", + "label": "Advanced Guides" + }, + { + "type": "dir", + "name": "migration", + "label": "Migration Guides", + "collapsed": true + } +] diff --git a/website/docs/13.x/docs/advanced/_meta.json b/website/docs/13.x/docs/advanced/_meta.json new file mode 100644 index 000000000..32b909fa0 --- /dev/null +++ b/website/docs/13.x/docs/advanced/_meta.json @@ -0,0 +1 @@ +["testing-env", "understanding-act"] diff --git a/website/docs/13.x/docs/advanced/testing-env.mdx b/website/docs/13.x/docs/advanced/testing-env.mdx new file mode 100644 index 000000000..41292a3ff --- /dev/null +++ b/website/docs/13.x/docs/advanced/testing-env.mdx @@ -0,0 +1,146 @@ +# Testing environment + +:::info + +This document is intended for a more advanced audience who want to understand the internals of our testing environment better, e.g., to contribute to the codebase. You should be able to write integration or component tests without reading this. + +::: + +React Native Testing Library allows you to write integration and component tests for your React Native app or library. While the JSX code used in tests closely resembles your React Native app, things are not as simple as they might appear. This document will describe the key elements of our testing environment and highlight things to be aware of when writing more advanced tests or diagnosing issues. + +## React renderers + +React allows you to write declarative code using JSX, write function or class components, or use hooks like `useState`. You need to use a renderer to output the results of your components. Every React app uses some renderer: + +- React Native is a renderer for mobile apps, +- React DOM is a renderer for web apps, +- There are other more [specialized renderers](https://github.com/chentsulin/awesome-react-renderer) that can e.g., render to console or HTML canvas. + +When you run your tests in the React Native Testing Library, somewhat contrary to what the name suggests, they are actually **not** using React Native renderer. This is because this renderer needs to be run on an iOS or Android operating system, so it would need to run on a device or simulator. + +## React Test Renderer + +Instead, RNTL uses React Test Renderer, a specialized renderer that allows rendering to pure JavaScript objects without access to mobile OS and can run in a Node.js environment using Jest (or any other JavaScript test runner). + +Using React Test Renderer has pros and cons. + +Benefits: + +- tests can run on most CIs (Linux, etc) and do not require a mobile device or emulator +- faster test execution +- light runtime environment + +Disadvantages: + +- Tests do not execute native code +- Tests are unaware of the view state that would be managed by native components, e.g., focus, unmanaged text boxes, etc. +- Assertions do not operate on native view hierarchy +- Runtime behaviors are simulated, sometimes imperfectly + +It's worth noting that the React Testing Library (web one) works a bit differently. While RTL also runs in Jest, it has access to a simulated browser DOM environment from the `jsdom` package, which allows it to use a regular React DOM renderer. Unfortunately, there is no similar React Native runtime environment package. This is probably because while the browser environment is well-defined and highly standardized, the React Native environment constantly evolves in sync with the evolution of underlying OS-es. Maintaining such an environment would require duplicating countless React Native behaviors and keeping them in sync as React Native develops. + +## Element tree + +Calling the `render()` function creates an element tree. This is done internally by invoking `TestRenderer.create()` method. The output tree represents your React Native component tree, and each node of that tree is an "instance" of some React component (to be more precise, each node represents a React fiber, and only class components have instances, while function components store the hook state using fibers). + +These tree elements are represented by `ReactTestInstance` type: + +```tsx +interface ReactTestInstance { + type: ElementType; + props: { [propName: string]: any }; + parent: ReactTestInstance | null; + children: Array; + + // Other props and methods +} +``` + +Based on: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-test-renderer/index.d.ts + +## Host and composite components + +One of the most important aspects of the element tree is that it is composed of both host and composite components: + +- [Host components](https://reactnative.dev/architecture/glossary#react-host-components-or-host-components) will have direct counterparts in the native view tree. Typical examples are ``, `` , ``, and `` from React Native. You can think of these as an analog of `

    `, `` etc on the Web. You can also create custom host views as native modules or import them from 3rd party libraries, like React Navigation or React Native Gesture Handler. +- [Composite components](https://reactnative.dev/architecture/glossary#react-composite-components) are React code organization units that exist only on the JavaScript side of your app. Typical examples are components you create (function and class components), components imported from React Native (`View`, `Text`, etc.), or 3rd party packages. + +That might initially sound confusing since we put React Native's `View` in both categories. There are two `View` components: composite and host. The relation between them is as follows: + +- composite `View` is the type imported from the `react-native` package. It is a JavaScript component that renders the host `View` as its only child in the element tree. +- host `View`, which you do not render directly. React Native takes the props you pass to the composite `View`, does some processing on them and passes them to the host `View`. + +The part of the tree looks as follows: + +```jsx +* (composite) + * (host) + * children prop passed in JSX +``` + +A similar relation exists between other composite and host pairs: e.g. `Text` , `TextInput`, and `Image` components: + +```jsx +* (composite) + * (host) + * string (or mixed) content +``` + +Not all React Native components are organized this way, e.g., when you use `Pressable` (or `TouchableOpacity`), there is no host `Pressable`, but composite `Pressable` is rendering a host `View` with specific props being set: + +```jsx +* (composite) + * (host) + * children prop passed in JSX +``` + +### Differentiating between host and composite elements + +Any easy way to differentiate between host and composite elements is the `type` prop of `ReactTestInstance`: + +- for host components, it's always a string value representing a component name, e.g., `"View"` +- for composite components, it's a function or class corresponding to the component + +You can use the following code to check if a given element is a host one: + +```jsx +function isHostElement(element: ReactTestInstance) { + return typeof element.type === 'string'; +} +``` + +## Tree nodes + +We encourage you to only assert values on host views in your tests because they represent the user interface view and controls which the user can see and interact with. Users cannot see or interact with composite views as they exist purely in the JavaScript domain and do not generate any visible UI. + +### Asserting props + +For example, suppose you assert a `style` prop of a composite element. In that case, there is no guarantee that the style will be visible to the user, as the component author can forget to pass this prop to some underlying `View` or other host component. Similarly `onPress` event handler on a composite prop can be unreachable by the user. + +```jsx +function ForgotToPassPropsButton({ title, onPress, style }) { + return ( + + {title} + + ); +} +``` + +In the above example, user-defined components accept both `onPress` and `style` props but do not pass them (through `Pressable`) to host views, so they will not affect the user interface. Additionally, React Native and other libraries might pass some of the props under different names or transform their values between composite and host components. + +## Tree navigation + +:::caution +You should avoid navigating over the element tree, as this makes your testing code fragile and may result in false positives. This section is more relevant for people who want to contribute to our codebase. +::: + +You will encounter host and composite elements when navigating a tree of react elements using `parent` or `children` props of a `ReactTestInstance` element. You should be careful when navigating the element tree, as the tree structure for third-party components can change independently from your code and cause unexpected test failures. + +Inside RNTL, we have various tree navigation helpers: `getHostParent`, `getHostChildren`, etc. These are intentionally not exported, as using them is not recommended. + +## Queries + +All recommended Testing Library queries return host components to encourage the best practices described above. + +Only `UNSAFE_*ByType` and `UNSAFE_*ByProps` queries can return both host and composite components depending on used predicates. They are marked as unsafe precisely because testing composite components makes your test more fragile. diff --git a/website/docs/13.x/docs/advanced/understanding-act.mdx b/website/docs/13.x/docs/advanced/understanding-act.mdx new file mode 100644 index 000000000..a6dfd519d --- /dev/null +++ b/website/docs/13.x/docs/advanced/understanding-act.mdx @@ -0,0 +1,226 @@ +# Understanding `act` function + +When writing RNTL tests one of the things that confuses developers the most are cryptic [`act()`](https://reactjs.org/docs/testing-recipes.html#act) function errors logged into console. In this article I will try to build an understanding of the purpose and behaviour of `act()` so you can build your tests with more confidence. + +## `act` warnings + +Let’s start with typical `act()` warnings logged to console. There are two kinds of these issues, let’s call the first one the "sync `act()`" warning: + +``` +Warning: An update to Component inside a test was not wrapped in act(...). + +When testing, code that causes React state updates should be wrapped into act(...): + +act(() => { + /* fire events that update state */ +}); +/* assert on the output */ +``` + +The second one relates to async usage of `act` so let’s call it the "async `act`" error: + +``` +Warning: You called act(async () => ...) without await. This could lead to unexpected +testing behaviour, interleaving multiple act calls and mixing their scopes. You should +- await act(async () => ...); +``` + +## Synchronous `act` + +### Responsibility + +This function is intended only for using in automated tests and works only in development mode. Attempting to use it in production build will throw an error. + +The responsibility for `act` function is to make React renders and updates work in tests in a similar way they work in real application by grouping and executing related units of interaction (e.g. renders, effects, etc) together. + +To showcase that behaviour let make a small experiment. First we define a function component that uses `useEffect` hook in a trivial way. + +```jsx +function TestComponent() { + const [count, setCount] = React.useState(0); + React.useEffect(() => { + setCount((c) => c + 1); + }, []); + + return Count {count}; +} +``` + +In the following tests we will directly use `ReactTestRenderer` instead of RNTL `render` function to render our component for tests. In order to expose familiar queries like `getByText` we will use `within` function from RNTL. + +```jsx +test('render without act', () => { + const renderer = TestRenderer.create(); + + // Bind RNTL queries for root element. + const view = within(renderer.root); + expect(view.getByText('Count 0')).toBeOnTheScreen(); +}); +``` + +When testing without `act` call wrapping rendering call, we see that the assertion runs just after the rendering but before `useEffect`hooks effects are applied. Which is not what we expected in our tests. + +```jsx +test('render with act', () => { + let renderer: ReactTestRenderer; + act(() => { + renderer = TestRenderer.create(); + }); + + // Bind RNTL queries for root element. + const view = within(renderer!.root); + expect(view.getByText('Count 1')).toBeOnTheScreen(); +}); +``` + +When wrapping rendering call with `act` we see that the changes caused by `useEffect` hook have been applied as we would expect. + +### When to use act + +The name `act` comes from [Arrange-Act-Assert](http://wiki.c2.com/?ArrangeActAssert) unit testing pattern. Which means it’s related to part of the test when we execute some actions on the component tree. + +So far we learned that `act` function allows tests to wait for all pending React interactions to be applied before we make our assertions. When using `act` we get guarantee that any state updates will be executed as well as any enqueued effects will be executed. + +Therefore, we should use `act` whenever there is some action that causes element tree to render, particularly: + +- initial render call - `ReactTestRenderer.create` call +- re-rendering of component -`renderer.update` call +- triggering any event handlers that cause component tree render + +Thankfully, for these basic cases RNTL has got you covered as our `render`, `update` and `fireEvent` methods already wrap their calls in sync `act` so that you do not have to do it explicitly. + +Note that `act` calls can be safely nested and internally form a stack of calls. However, overlapping `act` calls, which can be achieved using async version of `act`, [are not supported](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js#L161). + +### Implementation + +As of React version of 18.1.0, the `act` implementation is defined in the [ReactAct.js source file](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js) inside React repository. This implementation has been fairly stable since React 17.0. + +RNTL exports `act` for convenience of the users as defined in the [act.ts source file](https://github.com/callstack/react-native-testing-library/blob/main/src/act.ts). That file refers to [ReactTestRenderer.js source](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react-test-renderer/src/ReactTestRenderer.js#L52) file from React Test Renderer package, which finally leads to React act implementation in ReactAct.js (already mentioned above). + +## Asynchronous `act` + +So far we have seen synchronous version of `act` which runs its callback immediately. This can deal with things like synchronous effects or mocks using already resolved promises. However, not all component code is synchronous. Frequently our components or mocks contain some asynchronous behaviours like `setTimeout` calls or network calls. Starting from React 16.9, `act` can also be called in asynchronous mode. In such case `act` implementation checks that the passed callback returns [object resembling promise](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react/src/ReactAct.js#L60). + +### Asynchronous code + +Asynchronous version of `act` also is executed immediately, but the callback is not yet completed because of some asynchronous operations inside. + +Lets look at a simple example with component using `setTimeout` call to simulate asynchronous behaviour: + +```jsx +function TestAsyncComponent() { + const [count, setCount] = React.useState(0); + React.useEffect(() => { + setTimeout(() => { + setCount((c) => c + 1); + }, 50); + }, []); + + return Count {count}; +} +``` + +```jsx +import { render, screen } from '@testing-library/react-native'; + +test('render async natively', () => { + render(); + expect(screen.getByText('Count 0')).toBeOnTheScreen(); +}); +``` + +If we test our component in a native way without handling its asynchronous behaviour we will end up with sync act warning: + +``` +Warning: An update to TestAsyncComponent inside a test was not wrapped in act(...). + +When testing, code that causes React state updates should be wrapped into act(...): + +act(() => { + /* fire events that update state */ +}); +/* assert on the output */ +``` + +Note that this is not yet the infamous async act warning. It only asks us to wrap our event code with `act` calls. However, this time our immediate state change does not originate from externally triggered events but rather forms an internal part of the component. So how can we apply `act` in such scenario? + +### Solution with fake timers + +First solution is to use Jest's fake timers inside out tests: + +```jsx +test('render with fake timers', () => { + jest.useFakeTimers(); + render(); + + act(() => { + jest.runAllTimers(); + }); + expect(screen.getByText('Count 1')).toBeOnTheScreen(); +}); +``` + +That way we can wrap `jest.runAllTimers()` call which triggers the `setTimeout` updates inside an `act` call, hence resolving the act warning. Note that this whole code is synchronous thanks to usage of Jest fake timers. + +### Solution with real timers + +If we wanted to stick with real timers then things get a bit more complex. Let’s start by applying a crude solution of opening async `act()` call for the expected duration of components updates: + +```jsx +test('render with real timers - sleep', async () => { + render(); + await act(async () => { + await sleep(100); // Wait a bit longer than setTimeout in `TestAsyncComponent` + }); + + expect(screen.getByText('Count 1')).toBeOnTheScreen(); +}); +``` + +This works correctly as we use an explicit async `act()` call that resolves the console error. However, it relies on our knowledge of exact implementation details which is a bad practice. + +Let’s try more elegant solution using `waitFor` that will wait for our desired state: + +```jsx +test('render with real timers - waitFor', async () => { + render(); + + await waitFor(() => screen.getByText('Count 1')); + expect(screen.getByText('Count 1')).toBeOnTheScreen(); +}); +``` + +This also works correctly, because `waitFor` call executes async `act()` call internally. + +The above code can be simplified using `findBy` query: + +```jsx +test('render with real timers - findBy', async () => { + render(); + + expect(await screen.findByText('Count 1')).toBeOnTheScreen(); +}); +``` + +This also works since `findByText` internally calls `waitFor` which uses async `act()`. + +Note that all of the above examples are async tests using & awaiting async `act()` function call. + +### Async act warning + +If we modify any of the above async tests and remove `await` keyword, then we will trigger the notorious async `act()`warning: + +```jsx +Warning: You called act(async () => ...) without await. This could lead to unexpected +testing behaviour, interleaving multiple act calls and mixing their scopes. You should +- await act(async () => ...); +``` + +React decides to show this error whenever it detects that async `act()`call [has not been awaited](https://github.com/facebook/react/blob/ce13860281f833de8a3296b7a3dad9caced102e9/packages/react/src/ReactAct.js#L93). + +The exact reasons why you might see async `act()` warnings vary, but finally it means that `act()` has been called with callback that returns `Promise`-like object, but it has not been waited on. + +## References + +- [React `act` implementation source](https://github.com/facebook/react/blob/main/packages/react/src/ReactAct.js) +- [React testing recipes: `act()`](https://reactjs.org/docs/testing-recipes.html#act) diff --git a/website/docs/13.x/docs/api.md b/website/docs/13.x/docs/api.md new file mode 100644 index 000000000..ef91c3ae8 --- /dev/null +++ b/website/docs/13.x/docs/api.md @@ -0,0 +1,22 @@ +--- +uri: /api +--- +# API Overview + +React Native Testing Library consists of following APIs: + +- [`render` function](docs/api/render) - render your UI components for testing purposes +- [`screen` object](docs/api/screen) - access rendered UI: + - [Queries](docs/api/queries) - find relevant components by various predicates: role, text, test ids, etc + - Lifecycle methods: [`rerender`](docs/api/screen#rerender), [`unmount`](docs/api/screen#unmount) + - Helpers: [`debug`](docs/api/screen#debug), [`toJSON`](docs/api/screen#tojson), [`root`](docs/api/screen#root) +- [Jest matchers](docs/api/jest-matchers) - validate assumptions about your UI +- [User Event](docs/api/events/user-event) - simulate common user interactions like [`press`](docs/api/events/user-event#press) or [`type`](docs/api/events/user-event#type) in a realistic way +- [Fire Event](docs/api/events/fire-event) - simulate any component event in a simplified way +purposes +- Misc APIs: + - [`renderHook` function](docs/api/misc/render-hook) - render hooks for testing + - [Async utils](docs/api/misc/async): `findBy*` queries, `wait`, `waitForElementToBeRemoved` + - [Configuration](docs/api/misc/config): `configure`, `resetToDefaults` + - [Accessibility](docs/api/misc/accessibility): `isHiddenFromAccessibility` + - [Other](docs/api/misc/other): `within`, `act`, `cleanup` diff --git a/website/docs/13.x/docs/api/_meta.json b/website/docs/13.x/docs/api/_meta.json new file mode 100644 index 000000000..033be926d --- /dev/null +++ b/website/docs/13.x/docs/api/_meta.json @@ -0,0 +1,8 @@ +[ + { "type": "file", "name": "render", "label": "Render function" }, + { "type": "file", "name": "screen", "label": "Screen object" }, + "queries", + "jest-matchers", + { "type": "dir", "name": "events", "label": "Triggering events" }, + { "type": "dir", "name": "misc", "label": "Miscellaneous" } +] diff --git a/website/docs/13.x/docs/api/events/_meta.json b/website/docs/13.x/docs/api/events/_meta.json new file mode 100644 index 000000000..363342aa2 --- /dev/null +++ b/website/docs/13.x/docs/api/events/_meta.json @@ -0,0 +1,4 @@ +[ + { "type": "file", "name": "user-event", "label": "User Event" }, + { "type": "file", "name": "fire-event", "label": "Fire Event" } +] diff --git a/website/docs/13.x/docs/api/events/fire-event.mdx b/website/docs/13.x/docs/api/events/fire-event.mdx new file mode 100644 index 000000000..7f072d48b --- /dev/null +++ b/website/docs/13.x/docs/api/events/fire-event.mdx @@ -0,0 +1,158 @@ +# Fire Event API + +```ts +function fireEvent(element: ReactTestInstance, eventName: string, ...data: unknown[]): void; +``` + +:::note +For common events like `press` or `type` it's recommended to use [User Event API](docs/api/events/user-event) as it offers +more realistic event simulation by emitting a sequence of events with proper event objects that mimic React Native runtime behavior. + +Use Fire Event for cases not supported by User Event and for triggering event handlers on composite components. +::: + +The `fireEvent` API allows you to trigger all kinds of event handlers on both host and composite components. It will try to invoke a single event handler traversing the component tree bottom-up from passed element and trying to find enabled event handler named `onXxx` when `xxx` is the name of the event passed. + +Unlike User Event, this API does not automatically pass event object to event handler, this is responsibility of the user to construct such object. + +```jsx +import { render, screen, fireEvent } from '@testing-library/react-native'; + +test('fire changeText event', () => { + const onEventMock = jest.fn(); + render( + // MyComponent renders TextInput which has a placeholder 'Enter details' + // and with `onChangeText` bound to handleChangeText + + ); + + fireEvent(screen.getByPlaceholderText('change'), 'onChangeText', 'ab'); + expect(onEventMock).toHaveBeenCalledWith('ab'); +}); +``` + +:::note +Please note that from version `7.0` `fireEvent` performs checks that should prevent events firing on disabled elements. +::: + +An example using `fireEvent` with native events that aren't already aliased by the `fireEvent` api. + +```jsx +import { TextInput, View } from 'react-native'; +import { fireEvent, render } from '@testing-library/react-native'; + +const onBlurMock = jest.fn(); + +render( + + + +); + +// you can omit the `on` prefix +fireEvent(screen.getByPlaceholderText('my placeholder'), 'blur'); +``` + +FireEvent exposes convenience methods for common events like: `press`, `changeText`, `scroll`. + +### `fireEvent.press` {#press} + +``` +fireEvent.press: (element: ReactTestInstance, ...data: Array) => void +``` + +:::note +It is recommended to use the User Event [`press()`](docs/api/events/user-event#press) helper instead as it offers more realistic simulation of press interaction, including pressable support. +::: + +Invokes `press` event handler on the element or parent element in the tree. + +```jsx +import { View, Text, TouchableOpacity } from 'react-native'; +import { render, screen, fireEvent } from '@testing-library/react-native'; + +const onPressMock = jest.fn(); +const eventData = { + nativeEvent: { + pageX: 20, + pageY: 30, + }, +}; + +render( + + + Press me + + +); + +fireEvent.press(screen.getByText('Press me'), eventData); +expect(onPressMock).toHaveBeenCalledWith(eventData); +``` + +### `fireEvent.changeText` {#change-text} + +``` +fireEvent.changeText: (element: ReactTestInstance, ...data: Array) => void +``` + +:::note +It is recommended to use the User Event [`type()`](docs/api/events/user-event#type) helper instead as it offers more realistic simulation of text change interaction, including key-by-key typing, element focus, and other editing events. +::: + +Invokes `changeText` event handler on the element or parent element in the tree. + +```jsx +import { View, TextInput } from 'react-native'; +import { render, screen, fireEvent } from '@testing-library/react-native'; + +const onChangeTextMock = jest.fn(); +const CHANGE_TEXT = 'content'; + +render( + + + +); + +fireEvent.changeText(screen.getByPlaceholderText('Enter data'), CHANGE_TEXT); +``` + +### `fireEvent.scroll` {#scroll} + +``` +fireEvent.scroll: (element: ReactTestInstance, ...data: Array) => void +``` + +Invokes `scroll` event handler on the element or parent element in the tree. + +#### On a `ScrollView` + +```jsx +import { ScrollView, Text } from 'react-native'; +import { render, screen, fireEvent } from '@testing-library/react-native'; + +const onScrollMock = jest.fn(); +const eventData = { + nativeEvent: { + contentOffset: { + y: 200, + }, + }, +}; + +render( + + XD + +); + +fireEvent.scroll(screen.getByText('scroll-view'), eventData); +``` + +:::note + +Prefer using [`user.scrollTo`](docs/api/events/user-event#scrollto) over `fireEvent.scroll` for `ScrollView`, `FlatList`, and `SectionList` components. User Event provides a more realistic event simulation based on React Native runtime behavior. + +::: diff --git a/website/docs/13.x/docs/api/events/user-event.mdx b/website/docs/13.x/docs/api/events/user-event.mdx new file mode 100644 index 000000000..5a8379fe8 --- /dev/null +++ b/website/docs/13.x/docs/api/events/user-event.mdx @@ -0,0 +1,300 @@ +# User Event interactions + +:::info RNTL minimal version + +User Event interactions require RNTL v12.2.0 or later. + +::: + +## Comparison with Fire Event API + +Fire Event is our original event simulation API. It can invoke **any event handler** declared on **either host or composite elements**. Suppose the element does not have `onEventName` event handler for the passed `eventName` event, or the element is disabled. In that case, Fire Event will traverse up the component tree, looking for an event handler on both host and composite elements along the way. By default, it will **not pass any event data**, but the user might provide it in the last argument. + +In contrast, User Event provides realistic event simulation for user interactions like `press` or `type`. Each interaction will trigger a **sequence of events** corresponding to React Native runtime behavior. These events will be invoked **only on host elements**, and **will automatically receive event data** corresponding to each event. + +If User Event supports a given interaction, you should always prefer it over the Fire Event counterpart, as it will make your tests much more realistic and, hence, reliable. In other cases, e.g., when User Event does not support the given event or when invoking event handlers on composite elements, you have to use Fire Event as the only available option. + +## `setup()` + +```ts +userEvent.setup(options?: { + delay: number; + advanceTimers: (delay: number) => Promise | void; +}) +``` + +Example + +```ts +const user = userEvent.setup(); +``` + +Creates a User Event object instance, which can be used to trigger events. + +### Options {#setup-options} + +- `delay` controls the default delay between subsequent events, e.g., keystrokes. +- `advanceTimers` is a time advancement utility function that should be used for fake timers. The default setup handles both real timers and Jest fake timers. + +## `press()` + +```ts +press( + element: ReactTestInstance, +): Promise +``` + +Example + +```ts +const user = userEvent.setup(); +await user.press(element); +``` + +This helper simulates a press on any pressable element, e.g. `Pressable`, `TouchableOpacity`, `Text`, `TextInput`, etc. Unlike `fireEvent.press()`, a more straightforward API that will only call the `onPress` prop, this function simulates the entire press interaction in a more realistic way by reproducing the event sequence emitted by React Native runtime. This helper will trigger additional events like `pressIn` and `pressOut`. + +This event will take a minimum of 130 ms to run due to the internal React Native logic. Consider using fake timers to speed up test execution for tests involving `press` and `longPress` interactions. + +## `longPress()` + +```ts +longPress( + element: ReactTestInstance, + options: { duration: number } = { duration: 500 } +): Promise +``` + +Example + +```ts +const user = userEvent.setup(); +await user.longPress(element); +``` + +Simulates a long press user interaction. In React Native, the `longPress` event is emitted when the press duration exceeds the long press threshold (by default, 500 ms). In other aspects, this action behaves similarly to regular `press` action, e.g., by emitting `pressIn` and `pressOut` events. The press duration is customizable through the options. This should be useful if you use the `delayLongPress` prop. + +This event will, by default, take 500 ms to run. Due to internal React Native logic, it will take at least 130 ms regardless of the duration option passed. Consider using fake timers to speed up test execution for tests involving `press` and `longPress` interactions. + +### Options {#longpress-options} + +- `duration` - duration of the press in milliseconds. The default value is 500 ms. + +## `type()` + +```ts +type( + element: ReactTestInstance, + text: string, + options?: { + skipPress?: boolean + submitEditing?: boolean + } +``` + +Example + +```ts +const user = userEvent.setup(); +await user.type(textInput, 'Hello world!'); +``` + +This helper simulates the user focusing on a `TextInput` element, typing `text` one character at a time, and leaving the element. + +This function supports only host `TextInput` elements. Passing other element types will result in throwing an error. + +:::note +This function will add text to the text already present in the text input (as specified by `value` or `defaultValue` props). To replace existing text, use [`clear()`](#clear) helper first. +::: + +### Options {#type-options} + +- `skipPress` - if true, `pressIn` and `pressOut` events will not be triggered. +- `submitEditing` - if true, `submitEditing` event will be triggered after typing the text. + +### Sequence of events {#type-sequence} + +The sequence of events depends on the `multiline` prop and the passed options. + +Events will not be emitted if the `editable` prop is set to `false`. + +**Entering the element**: + +- `pressIn` (optional) +- `focus` +- `pressOut` (optional) + +The `pressIn` and `pressOut` events are sent by default but can be skipped by passing the `skipPress: true` option. + +**Typing (for each character)**: + +- `keyPress` +- `change` +- `changeText` +- `selectionChange` +- `contentSizeChange` (only multiline) + +**Leaving the element**: + +- `submitEditing` (optional) +- `endEditing` +- `blur` + +The `submitEditing` event is skipped by default. It can sent by setting the `submitEditing: true` option. + +## `clear()` + +```ts +clear( + element: ReactTestInstance, +) +``` + +Example + +```ts +const user = userEvent.setup(); +await user.clear(textInput); +``` + +This helper simulates the user clearing the content of a `TextInput` element. + +This function supports only host `TextInput` elements. Passing other element types will result in throwing an error. + +### Sequence of events {#clear-sequence} + +Events will not be emitted if the `editable` prop is set to `false`. + +**Entering the element**: + +- `focus` + +**Selecting all content**: + +- `selectionChange` + +**Pressing backspace**: + +- `keyPress` +- `change` +- `changeText` +- `selectionChange` + +**Leaving the element**: + +- `endEditing` +- `blur` + +## `paste()` + +```ts +paste( + element: ReactTestInstance, + text: string, +) +``` + +Example + +```ts +const user = userEvent.setup(); +await user.paste(textInput, 'Text to paste'); +``` + +This helper simulates the user pasting given text to a `TextInput` element. + +This function supports only host `TextInput` elements. Passing other element types will result in throwing an error. + +### Sequence of events {#paste-sequence} + +Events will not be emitted if the `editable` prop is set to `false`. + +**Entering the element**: + +- `focus` + +**Selecting all content**: + +- `selectionChange` + +**Pasting the text**: + +- `change` +- `changeText` +- `selectionChange` + +**Leaving the element**: + +- `endEditing` +- `blur` + +## `scrollTo()` \{#scroll-to} + +:::note +`scrollTo` interaction has been introduced in RNTL v12.4.0. +::: + +```ts +scrollTo( + element: ReactTestInstance, + options: { + y: number, + momentumY?: number, + contentSize?: { width: number, height: number }, + layoutMeasurement?: { width: number, height: number }, + } | { + x: number, + momentumX?: number, + contentSize?: { width: number, height: number }, + layoutMeasurement?: { width: number, height: number }, + } +``` + +Example + +```ts +const user = userEvent.setup(); +await user.scrollTo(scrollView, { y: 100, momentumY: 200 }); +``` + +This helper simulates the user scrolling a host `ScrollView` element. + +This function supports only host `ScrollView` elements, passing other element types will result in an error. Note that `FlatList` is accepted as it renders to a host `ScrollView` element. + +Scroll interaction should match the `ScrollView` element direction: + +- for a vertical scroll view (default or `horizontal={false}`), you should pass only the `y` option (and optionally also `momentumY`). +- for a horizontal scroll view (`horizontal={true}`), you should pass only the `x` option (and optionally `momentumX`). + +Each scroll interaction consists of a mandatory drag scroll part, which simulates the user dragging the scroll view with his finger (the `y` or `x` option). This may optionally be followed by a momentum scroll movement, which simulates the inertial movement of scroll view content after the user lifts his finger (`momentumY` or `momentumX` options). + +### Options {#scroll-to-options} + +- `y` - target vertical drag scroll offset +- `x` - target horizontal drag scroll offset +- `momentumY` - target vertical momentum scroll offset +- `momentumX` - target horizontal momentum scroll offset +- `contentSize` - passed to `ScrollView` events and enabling `FlatList` updates +- `layoutMeasurement` - passed to `ScrollView` events and enabling `FlatList` updates + +User Event will generate several intermediate scroll steps to simulate user scroll interaction. You should not rely on exact number or values of these scrolls steps as they might be change in the future version. + +This function will remember where the last scroll ended, so subsequent scroll interaction will starts from that position. The initial scroll position will be assumed to be `{ y: 0, x: 0 }`. + +To simulate a `FlatList` (and other controls based on `VirtualizedList`) scrolling, you should pass the `contentSize` and `layoutMeasurement` options, which enable the underlying logic to update the currently visible window. + +### Sequence of events {#scroll-sequence} + +The sequence of events depends on whether the scroll includes an optional momentum scroll component. + +**Drag scroll**: + +- `contentSizeChange` +- `scrollBeginDrag` +- `scroll` (multiple events) +- `scrollEndDrag` + +**Momentum scroll (optional)**: + +- `momentumScrollBegin` +- `scroll` (multiple events) +- `momentumScrollEnd` diff --git a/website/docs/13.x/docs/api/jest-matchers.mdx b/website/docs/13.x/docs/api/jest-matchers.mdx new file mode 100644 index 000000000..26255ada9 --- /dev/null +++ b/website/docs/13.x/docs/api/jest-matchers.mdx @@ -0,0 +1,224 @@ +# Jest matchers + +:::info RNTL minimal version + +Built-in Jest matchers require RNTL v12.4.0 or later. + +::: + +This guide describes built-in Jest matchers, we recommend using these matchers as they provide readable tests, accessibility support, and a better developer experience. + +## Setup + +You can use the built-in matchers by adding the following line to your `jest-setup.ts` file (configured using [`setupFilesAfterEnv`](https://jestjs.io/docs/configuration#setupfilesafterenv-array)): + +```ts title=jest-setup.ts +import '@testing-library/react-native/extend-expect'; +``` + +Alternatively, you can add above script to your Jest configuration (usually located either in the `jest.config.js` file or in the `package.json` file under the `"jest"` key): + +```json title=jest.config.js +{ + "preset": "react-native", + "setupFilesAfterEnv": ["@testing-library/react-native/extend-expect"] +} +``` + +## Migration from legacy Jest Native matchers. + +If you are already using legacy Jest Native matchers we have a [migration guide](docs/migration/jest-matchers) for moving to the built-in matchers. + +## Checking element existence + +### `toBeOnTheScreen()` + +```ts +expect(element).toBeOnTheScreen(); +``` + +This allows you to assert whether an element is attached to the element tree or not. If you hold a reference to an element and it gets unmounted during the test it will no longer pass this assertion. + +## Element Content + +### `toHaveTextContent()` + +```ts +expect(element).toHaveTextContent( + text: string | RegExp, + options?: { + exact?: boolean; + normalizer?: (text: string) => string; + }, +) +``` + +This allows you to assert whether the given element has the given text content or not. It accepts either `string` or `RegExp` matchers, as well as [text match options](docs/api/queries#text-match-options) of `exact` and `normalizer`. + +### `toContainElement()` + +```ts +expect(container).toContainElement( + element: ReactTestInstance | null, +) +``` + +This allows you to assert whether the given container element does contain another host element. + +### `toBeEmptyElement()` + +```ts +expect(element).toBeEmptyElement(); +``` + +This allows you to assert whether the given element does not have any host child elements or text content. + +## Checking element state + +### `toHaveDisplayValue()` + +```ts +expect(element).toHaveDisplayValue( + value: string | RegExp, + options?: { + exact?: boolean; + normalizer?: (text: string) => string; + }, +) +``` + +This allows you to assert whether the given `TextInput` element has a specified display value. It accepts either `string` or `RegExp` matchers, as well as [text match options](docs/api/queries#text-match-options) of `exact` and `normalizer`. + +### `toHaveAccessibilityValue()` + +```ts +expect(element).toHaveAccessibilityValue( + value: { + min?: number; + max?: number; + now?: number; + text?: string | RegExp; + }, +) +``` + +This allows you to assert whether the given element has a specified accessible value. + +This matcher will assert accessibility value based on `aria-valuemin`, `aria-valuemax`, `aria-valuenow`, `aria-valuetext` and `accessibilityValue` props. Only defined value entries will be used in the assertion, the element might have additional accessibility value entries and still be matched. + +When querying by `text` entry a string or `RegExp` might be used. + +### `toBeEnabled()` / `toBeDisabled` {#tobeenabled} + +```ts +expect(element).toBeEnabled(); +expect(element).toBeDisabled(); +``` + +These allow you to assert whether the given element is enabled or disabled from the user's perspective. It relies on the accessibility disabled state as set by `aria-disabled` or `accessibilityState.disabled` props. It will consider a given element disabled when it or any of its ancestors is disabled. + +:::note +These matchers are the negation of each other, and both are provided to avoid double negations in your assertions. +::: + +### `toBeSelected()` + +```ts +expect(element).toBeSelected(); +``` + +This allows you to assert whether the given element is selected from the user's perspective. It relies on the accessibility selected state as set by `aria-selected` or `accessibilityState.selected` props. + +### `toBeChecked()` / `toBePartiallyChecked()` {#tobechecked} + +```ts +expect(element).toBeChecked(); +expect(element).toBePartiallyChecked(); +``` + +These allow you to assert whether the given element is checked or partially checked from the user's perspective. It relies on the accessibility checked state as set by `aria-checked` or `accessibilityState.checked` props. + +:::note + +- `toBeChecked()` matcher works only on `Switch` host elements and accessibility elements with `checkbox`, `radio` or `switch` role. +- `toBePartiallyChecked()` matcher works only on elements with `checkbox` role. + +::: + +### `toBeExpanded()` / `toBeCollapsed()` {#tobeexpanded} + +```ts +expect(element).toBeExpanded(); +expect(element).toBeCollapsed(); +``` + +These allows you to assert whether the given element is expanded or collapsed from the user's perspective. It relies on the accessibility disabled state as set by `aria-expanded` or `accessibilityState.expanded` props. + +:::note +These matchers are the negation of each other for expandable elements (elements with explicit `aria-expanded` or `accessibilityState.expanded` props). However, both won't pass for non-expandable elements (ones without explicit `aria-expanded` or `accessibilityState.expanded` props). +::: + +### `toBeBusy()` + +```ts +expect(element).toBeBusy(); +``` + +This allows you to assert whether the given element is busy from the user's perspective. It relies on the accessibility selected state as set by `aria-busy` or `accessibilityState.busy` props. + +## Checking element style + +### `toBeVisible()` + +```ts +expect(element).toBeVisible(); +``` + +This allows you to assert whether the given element is visible from the user's perspective. + +The element is considered invisible when itself or any of its ancestors has `display: none` or `opacity: 0` styles, as well as when it's hidden from accessibility. + +### `toHaveStyle()` + +```ts +expect(element).toHaveStyle( + style: StyleProp

    3ejvYa#(T=tRkEE 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%0DNgATIX^9 zd~?(>QJ%t6tYi0uq3Y&t1U@7DN2DMzgpxs`*NbdoC_W^g0!^-W;iV+?gfKN#V_`zV zdeMUwubY%jB0X0@J*xCeE@hArBYM(%vc30*b1bZNaTiu%X204uHLOColq9V3W4p-uJsCYbjj?u!Y8xu>HxwRlT&C z$~H|Zbag4?L=-CcJF3BFP3-i6K;9`Y3Ux{%0UlaKiSmAl%@$r};vi=DBQ9_h-Ju0A z7cVewl+OT5;qTKDW6ierMNKBsM5$_8xD&$?Wke@G-i#rqiht7neAv7yboj-mrqSk? z?}Sj?9M56%?UAR09{}O~dyDY*dx+9sz|N3w7fNxK{X4_KA>YdtsFyShV0@ZKoCa{myN3pe%dx>j!#Oj@| zA<{O9#W=PF`s!MHM;fH1eNm0zRH^BduqjsKNszH>@(?oqm9dVe@aE*PexIM$Pk>KI zeht6|?*XH@$m^dTidpO2&T0Qk3sS3v3bDx)J7^tP_BiB%_wUz8!%Py{@jhcQrC-K} z5C?ftv17Mpk-E1bF~~!36D+i&7@c;GgQbx<@Avo!G^3S0r%gf7F%J%kqdX4n`!QVKG*q&oq4AF+v(n~#|;l9OB?=%R)^MnYO{W!w% zwe&jJe3eIj8$wqCgrM*Y-t_(F;pOimjNv|wVV%{B>O=dQd-FF((wUqLlpIu0G?hVc;!XnBmKSsK$9%-p_ zhJiVyZ6>b8D@%8SU#n1A!MPWU287|#@Cd+Y6@krYe&*%)-xkK)0^&mVF?ns(uqw>n zZ`Zr@a%qNwV3iKT)ZvCn%;^qkNjfByv9U3hRtIVHoUaqgYPt-fz9Ia2WLa#_)|Q@hd+T; z)HlC9Mjv8Y+O6##tShLGBHx2R757@+vv?}{Ed;`)pOL5MUQIpz1ULPk{*3mGEXtSP zp{zxS=}*iIYv=Etv)3am2mkz*2I=mG@e$-@YnCofJ-_2nc)2VqT3t!$`x%jSf;7Di zP%3dj;)U!r8e0j);2T;r&ft0%QPaVmc(oE^H#{e$W{1JvodA^5>@B@cO7T9SEu&^w zrAuFA#0}18P&$3DEUKDvK4abhzQl=abX0wtK8wyxK2`|x(iLZDj(Oi?bAJH7n!<1q zPqLry*C+6khcJy{pofyV+VTFCuL~j;*L>*@ zpx4U*(a4-wcvIAE?O4xLN+XCbo8njc|GMA}^4-R&Bxp6A$L{dNQ~wN>uHB%i)m1`d z)z(T1+Ok*1tP%%QFj}-XISX;SA+^bAV0xn`;*3ab*D4@8>rWzeFr&|ElrN^W-h+)b zp@OCd(Ag!w0>Q_D?@2eBH^mB7`&qZ`A?@%@CzPymlg|NEJPtI*wX$U5WZ(4{~+72dezS}fpBkY zT=lz6(VHB!2O>+^4h7fI6oD}lbI@sp!|C1EU4%*1*;g#TTHD8W2*L#m;72X#{T9F` zgYdKLy6!Geu-qxrI~8pVPraq>#9DQ*@EC=(b} zp^pBw$M^7B!^A$t7DzZ;Sm`(+2(28H|P74`}&vdtpnyQbS+(&qfSfjN1{lMb}&iNCAI}xWS z$gu2s`-*1jWBE@>F-sMnLNFsfu+6o!8gJoMJGBm3p(&$_$T-G*dhbKMfR_J>m}w+V zi#{M87UU7~8m~Y}U7-N0KvfHmQeePQ1^z>2&t9SE#08>7&vSx&dYUk;y>3hP@L6w%+Pkvlt+eS_yGG(#t7iY zO(6FuDx!UHu_PP4+E}3wr5`ud4~R>ou9V6C2g~gr1>KqgDCl9DP9uBX6B(s>IHHqW zn!33X6ldg3Je2-*@otTQ>Fgm6)J%am{?h!i$?v6rn78yNU!^%lCEom&^nT7B#Wi7L zIu9$b-9l$0?}^iZ^I`>@e|Yc^#W7ZCVKnreVwU)%gE^fB%B3$1WjD)zvDH4+EE;CP zCS&%KO%qL}&}a0rw$4< z!#Qxnf-j@n1Lc0~;aYg}Fn8vQ_Zj&;;JMCG#joSMzWQgIC!(0|SnCR~3UBaiY59*v z#xM%8eLYP(3bU?BeSI?Ga)I?FZ)VBc9zq@ZB(d{5svMq5q<-WrsfNts$4*%$soda{ zGsCa!MKmyalrm6;WN3-NDd~*xH+Gc|XL%uwA>Ux;sPbF!3zU8;VC8DkG^Q*@({VH; z%c;mRRC&RL+2wH}jDe16FYIhlP8DworM~<2k0JP~w&O2b^NsWRr$O0`u_>xrYT`S2 z%cu1}l9_XAJvMA+t3M0poNm4(edAqg=y zNws1yXI&XH4gVm?#)PtkvCvUbC4#6(8r8JHy4M2u7_?Oy`<|Y$&u&Hg)t!_%v`nQ2+1H!>`ZbMd-GF!d z1Rw;QU6EW~&=3h2E0=c+T%5Ymc>-II{>`%n@M+vk#)kAS>e;F*hfh2J-)*i~@Bi#p znoW^&W2*Zq+axg6FK|mFUWJ+U5G7bj!5P@n-{0wMU=29l74MfnwYFQ>d8h6ftF6BX1J3K%w+x zp_?>rum$MCtda@+0d#GpJU}XWNL91KW)P=5iD;W%53>uR!FId!qxR;Pn#sb;{OpUm zD55>3&-^ENuETM3VH?H4IbWqOw4bxz>;fYe$M^i_Sq8H1AD%Y$<~{^9Za#L8WxF!l zMp*#_$o*$Cz|NOfkbtYeOCboD+bbgEZsseNQC!%n_Ft~IU8dDFX~?Tv09V3BfQLqH zF1TP#+9w(m4$nxp^e=$}iSKeeOAcb9Q~Q%JBrNZ_UK|4E>|Z5~ZzqrCTF6s*|DtLF z-f<;5TwFSmY>$`srYlNqEb6VjYrxVG_GduSI|W}Z_kZ))X3z25&Vax0%}s$dp2Yc`6;1+vmK*wJ!kt*WYXK^zlGh7O)|2>}y4bcj z-cjDMeh9`z>Cw@+@O7vEpv5Dy<9kS><+!A;f}0=+&#~__yd*2=S9Qk`af2@KbH5y~ ztbD4oI!GV69JN`(J-o5WdRpMAl{{zS(_Ew5#(q>2F7T7W5es4GFNXyj)wIb^O)r;c zu84%^uSd6UZR#<41V=2S1dm%1#>T&^bQ}eKzxmDf*Jc>V9NfLjGsbMvnPryj4{=nz z>C+OH@47yxnQ#-uM-N2#8X??IZAC@V?lFjc{rH2=BTEEmeh14d0PMrns0b@|897c@lhyg?c20vm-GeB#l~co6Ij zFV2iIz$wp<^o>@Mh;MgcQO|kVasmHYWZhTiA)z$kFU~YLN&8&X0XYaqeSMC?sN6aP z`@^ee#_?K)!6RD2yv)mGj}G47^$krPd9##;Og={w0MuBqy!`LUJxw?7?|`&{eUEQj zb1tfWigNnz`&?VeMcTT!|KrZjxWNx=bm*fAY{jil))u(F_fP7U?pCi=G=C2WeK7lrlIrE8*mSv@Z{}KFS}Ya?Y{Nw=FBJH;lEt%mLhg@o zMCtO7mJ|UKwOtR1{)4RDFN@m3n{@oE^B#FINP=IV`p*(g0`^DKk`clWr^2rqmU%y> z%(p(=uo6J5$9bmV{i56)6bI`T_@=H>6{0}@9dmM+Ja%rsOI%X@BeNq@+2m#nv z)L~qfCC~ZZp&{oKT%YWFFd$kEvoiLVrueZN^_GuehqSa|&`Em#0IN>AN2z5h=cv}M zTo>*VkCD^&>0n!9FyuCSZ%S{so?e0v8Cp?g$q@xvryOWrV7={72g#OiB+fbvsg`28 z3*|h%vsecUN5Aeg)1RNN{XM1RTt3)nn19GITL<}`$I_HJguxW$Jq&gHq=H!~3kq6iB2{`04p<$FJ zf-Vu+FUcdR&gN-L{ttJ!A`ez3ogwP@m+X|Maw`Vs+=!x2iy{TS=$GwWtxbmo#oaci zaAy6=nQx`rK53}J_sgnye#u=xL%A(3ifgjzJB)?me_`RDx^gqq(tqJH(AnhQ&vTj{ zbE)P0YSZ@gerq7U{YS{Bho%}|+h|wQvbSlM@8FYde?es3sfbROdKNxQs2@Lib>u#Q zIct!|90!VjLoi|En4+AJYb@5U%#@$Ko3Ak=#2C!=VvD{;NvX1*-xiWB^I3*|HSOcY)iZBBZdGEN0nL{vmoTWU5H$l%05tG5u3b z{G1wVgF1@_kDk9R|HJUBV&Nr^&lhiP(F3u7t9twfvd~?RQ~`CP@q_z}I_KiffCVh4 zCIQCf`o57vpRav&unnH0!Mga7WuTK%RD za>otfUAm-|6#!Eyy%t{r^N3eE)=s2XodHJrZR4ELYj1PT5ScT_Zz8s45aA$jwO6XC z%?KOrnECMAEe`^t)&f$%t=|Yqozd|7QxlX=fFExTnq#S7Or6|U*Ta(`R#x?eT$3E7 zB_XR$7H*^UkYZJ7SBy{f_VuL7r}JZe7cU6~2Tf82d$MNO5(PGngW@*4<@sBO6=Oxob zBIxMa4v4$C)LnUOCh!k@v6&Rv@|nUWi1%U1c>+t}Ucdb?RUIdm@$yYbfsDgorlKBd z!Z&KqqKTk-dVEUUAXR-(4rGjPA62o=f)} zxC?jeq*>*5MTpz zLwAAJ*WcD+LtZ+shZ0H-zpl*o@Tke73c?J60Sl5qOssW1J7Pb0%?*fE>G#rmw6>0u zmj8Xid*w9u3{mA{C?T&Yl(4&y>wY2(K-(`Ctf^2rH{MD6XzdIM_{t@Fq!;Q6%4;Tn zn$7ue_d^UT=B04)l1pV4Z`@5VdKZ-H#R#=gOz@MJa4SV`?TuW~KO5~m!MC4sYY#*O z7||+D>(^`*J$6$aM zb-Yoikop&gZYD^h?H44R=#m$VZPEqs44=e#=~Pwr-nEVS+MR{B4&6Q%iMYfoARO>y zot26k8FEea34jq0exBYybo``_qNyFOHG{1bHr13HB4o`h!B%O;e8fs766#U zhRk+p?)ZxNoNkb?$HM1s$ztDE9DBZYc1Ez}aq_$x5vwa(Um2?r^l^0Ct~rpiO`T!#`rmEsQ3Rwgli zl`@O^rgp;8r#Pq~5Az>n`&etd;n8eETs4HLN`S(AGlHB1qdh0AcA55zO*;2F_;3buAPZVOAHpGBji70hK&L=4stQg>;pna z+g>>esZ}Rb*zZw+NBM3Et!J+<%TVS*^hj5LGvTKGKxSE^=EAyfxGWQf6?R zs`^=hMP;X=<4_NC<$WPC8?2;$ujpR%DtbpiHWSz^t-R|=^ULntQDuK1GFvig2Z7Rs z`=aOB-vG)s7r;c6Pun4Vf-JoGGik#2^1}>uGLE1NwhpvaZi3&b+O~NvR$`HQMw)_{ zAr7LD5)|?=F%DmuW(P{AWwTC?sUB0Or47dH7m|@8o#5w}Llqt***}PrFr%i#=3v-h zD0@_zly*R?3HwOT$`#|r7i&0G7~HxXdYc0)2bDDXtI3rwl=tJLDxYbdkIA{3*))E? zB9`THGgCK4;p1vW*95UBxu%EH0S21X`w^J?GbM|fEAiZwM8cBNR+HC1Q9MvTJ$q_? z<7$j-E3+}gPWiaYya9CjX#9~vf5u?6cB#4jPB;u z7X*J86qFGnDFc-JuKs|Suw9u467pIpbqd{D=-Gb3Guz2ofR?Y9NyPJj@Lop?E|1g6 zx1#%%1#Er|^48`|nEE4}QYW}W|Rnr<3w13f z5#D4CHH_?N+}UG*_c!`ITnE1(wzF)D?~8XrOos}|&WHQ{!L?U?I4<>^vzOhbCddCc z30@-*`RVE*PYaWA7Zq*qhdU=UTw)kztY*-_r?n#A!W*eZki=XmzIY-%lTi_r4v!J5 zP=Yfe@;pr@zU)_d&7=>UJA}eE{G(WGYvFNy7np*y3>g`FtJZCA>Ko-n;)Sz7$m?kl z;=)4*-AM)HfN=GskP;TH_Y9BJTXD-F!=j~05zd7^*^M{-eX*bW_!(g=WHb5Yhn?gk zeAA39H(4x%0(;4~Jmh>*ZHH5xB#CUNp^}9g z$Oc^}(Yi>vfh95$xWla1eU%6eWZM#P9bWPDCbs_4ZYyON6Qj{Ez(spkJaX(L-l5so|+U=Lc`Q~g|k2mGwCHB!GyMiThFDgeHiZ80xiz&dXRM}K18PcNKAcnAtYxUa<3< zvv^v*?b1(V5sl^&HKbWlc8!FNWLS@qr}1i!*1B}sgl3n2DtXzLwl zOSS^N<*>kyy89JkY*Z9Lr`Z=E9Du#sk^A4JQ{13I_r)0JbTHOXZl(EGG~w>j!V_CE6UMPzuu0RoLG)*k8VNj z$->J74Dy}mA@UfP4@zY9{KU$gCg4u~a4rlo0`_D-_Cbaq{@$2z zt58>*N|HiNf6V4`4$ir>nbj_B6IGw`6`HmngHnk{m*g9G__EQ61V1#M!ZKa+lIia# zp`MCWfNV6#TT#ihXBkS2h^`D7pyU4`lT)VKV%Y&PPVv+BmHPMxP-Ej)e~_4>g53DX z3{&@ABOI34z`8%v=WRP-HrD4vC#bs1q#b6RUP*_&DUP#x?m3m;(oG;203zQN;oG_k zB8R{}*Ys8kK<#f_*&>lu>c!7^&tw z<7jWoUpUxC^zDCa<`RHP*9E`f&iz5;y>Oh44 zH8eb6lx0v#Frug)$~v70ET{m=boG$PX#O5-fp{Ua0C6+*bZaIj3XQ)`BWg zypkCQqy2oc-zM%o-W0?Vr!FP8OY*14zMF{lqlv|}z}~?@Prr%Ff73ju!VtnBS@QT# zoZKR&q;{!749DyT(|19WH(V6FuI`uR0h2Chzx$HjtqhZkQ|9&~QX(D7vg~xuPnPHe zAUGjJ>&S$W03qjnG}*?%5^!2+AJv_Lmqw8HXX#{0-&Rdoxy^p?i~m6W{?rXSb51xn zOW*mrZH4wi13N4IE0!$E(pV-gR#_i2Mnc(ic-r}Zwlb-NOCor=4GsgCopukER zg}}l{4wW6D^Po(f!hTPhQ2RTh3MS_``~`wzX9ii2OLZt_GR8d)tJN4I^{@n!i}gL$qE$2@Xg)Hx?v#nQI*jF0^OVQkBa?w7XD$9o=m z{{TYX8;V59w+`Q3MNdwobhQbDlu*71O;Nz+^LQlrO=*-hc{rp$ZAf7_R~(D!6(=Y* zE%c_XsuRmB#JpY}#Zq)A1H`wuRaN`_J^Y!3i~1WnGI{z$B`zE|;r7pK|b*%zmTMRbI? z;$c0U!{>F%I*OCagwHs(#k$e|(ta(K_HLR?j)Tf^A*UtzErLtlmHkOcmyJF#-VxxegsHRDyh45(b`?#>M! zT<1x72HIuGNrk_suMpk9i8` zBW(-3%={bPXxrB$X8@-8SIuE#SLXR>E0Ca*U{R(G{haTjtLxDc4)@g>WN6e_uy6$?qvdje4>BYm+IqGg*( ze2lz>W01O<7$ue-J%(c#j^|h6GHuRgz(rRCMqwTsbtO}t99jYv9hW35z$K8y3983e zJtXZFrN`iYj>!fMnd|P|GK7^8Dc>$z)sb(5GAx<;-y5j3?+ODd<5*+elso&+t^cPilSA9&96)3& zuH3lq6O)ogNn#Z>oe$sF7Ce%9iyWNRT$)A2vUcPSgw}>feG_M^294dH3O{fN9$G0z zy`&kLb!@-mPP5Ndj$OM&bxmS+m8DU|bjMZN=D}0L zot;?PBSbn3Z|A*BmoH(W*EU(Z3$t3Mn>wei*`M_1<9_QXPBs}<&gMj&Z=W(<>Q?ZX zfX(&~wv7)a;g4Ii&GW5krpHVumL6BVar~Qm5Ez37h76Th`#D>+U;R0y4si+hn3xwC zrmXaklz3SgSev>2m9f&x1;j@Mc2eWUpdey2kfhi2N3HM|`EF~$M$NB$sM0mAKTUfp zro^~-!Xeg+mR~}_X~q_*VX8|*Vab`!BMM4YNRE?mec#x_r^4HTOv%F5tLtj#ggs0( zs38@N)Y67TrfJK(CuWC@DxX6^KHWzvS<3#qkWxePtV)Q8kkqkk-_*Z#5+Joz=Bcq} z?iAz1H>M^L=YM7t5xy@Y181D{kWYhWOBfet-ShhAa|q7uRLkGyJq^SH1|sXDsvE0s zOh8Ccb;v;Hr1&)Hk5|0C-$;K`WHx-hu5!+<pb*$*enhAn9NF!Wo{{wrjpA;jz=X2XUJ7xyR{ z1}+m8A94A;^cb+|oRO>G*)#eaqBCi2aJ$g|rCz1$*PQ$HR+{2a4+=)jNY38Q8=%y> zE#YFo8*B@13;mXBA$o02X4=g*^WuFx3;yTRnsM`*_V&Ypp7qMFR&|$3on03o20~}~ zSn|VD+Tb|h^D@OgYCJi}8?ABBijlZG)fO*EUzflA z&KFjhG-N4pr$SIc0gh_l)J?X|@@;(YxnNxRCyMjashH`80L_AF!t>c~UCL)SsUSQ% zXQ)!W%7mB;cBT`P)=z+@h6XthQ`=bT!Bj>jDj>|E;>0Y^I}l16NE!=vRyHP0I8`ZL zlFoh{%1bUA-KLA%pO^M&dP>S*RogLs$l$VIqWqKq%@FN35Dd)~)STM=1u?^*d;Vg1 z3EZ#HuEN=DfbAa0)I4gowpquT#{bH- z*`Xk2#~cBy{YR+%)ryoO3x0}284}OT9P*KbGJcIf2e|MW78*}h&&BMtxdMswdEErd z*%wslOmiJjHG?9bczrztd2R4oWOaRS{0d&NoD4$Z4R|>>QFXDr{P2GI*R;}ARM_nr z?_91LKA1klyBYA!M@7GH{##j93vQ|lAd3}XSLHoB*f0<|$ei38qe?&-c<#H2*6l75 z&-PY%wpGjDYI3bN(6{|1cJugg}2~5zZFfOCiFv-=DK)*gg#VM&)5d@_WeysSUY; zYA97G^f z__|7{Zj?-5Lc?!I_E#a=jVh#~?o;kl3QyVrA1*h`3Fyc3n5@V=BEO;#A#?Kf-#@=p z*JLnh=*RHy4iZE~YVWjg&t1tOjBiciZ%VuKBH#1mR`i{Fp4t^a!CA4fk1Pknh-d=Y0~&V<#sVe2>6MK@?W zMS&>TUXBQi?C1xf<3144RGRYCg|eDc(?y=@FS{;sV&89taS)6>VAt>(L6`VGM47o} z$JV|ZELHy#famaRtX~CP6a42avdgGNN=b@v3Z#G)u)ixY7VH^h;81&8|T`z+7EoGV;nSNvDHHDM?%B>I{#t1C4XR! zT)OfcQ$kNpwISg=#2U8~*Qw%p*VN>Ui~zNSsOx2(6MAzU4IsM6_>lS`k&0+DHm#{& z0#Vz3isGjDsJ@z{Zobg8?*K;z^2K=r4;H&QhY zR+%ZXP|s!V68M1EU$~Zp8xlocKVH1xS^2|t1@Xz1L{-$xV+?C&xjHeXCojw`pP=pF zgkQJnhKqqkmg(}ylO>2rr#g}h?V*~CjivdcsSy0O%|DtSb{=T05V+*!tzTsxRiTg| zakwwmgy8BS2s2(7Jav#nR_wj5Vl|*9?#WV|MC70WrK)>S1eVVqN@!j}i4AePQ z2mbsF(PmA{dlI8@;N9jz(&+(jdfoR~poS(*U6S8sYnVV;SN#WfUd7HNK39HQ1Z` z`NS6ctI@U*Sgc$-ZsA~Ib86yc?OQJCpBnk}R%gS*^Ri=<*8OQ+dZwm)F`$KE3?Yq6&n6{jTIBEH~jh7LXqjA zM^ge>W;K^sO#;T>{s3$`nlG20bunQCn!_(mv0mNJz$}ZB$CzmNfN14eMZ0b_(sc@X z?K+t8Xr9H<@wx&c>Aw#d5r1B#SJwOI=jTk?qlZAPYb*#bjVVQzGGMdqEL#8Rn=zLF z=T+yJT(4~b*Mzjt7W{m;nv%ayb$`KJ7B;RgDZX)A zL%G>wpM46qU{UGc{mTrOffocv#fz$_*ZE7et?Z6ydA!n&J>Z3;#c{$HMNoP!2!pLr zdcih+EUCtY+AlPVgE634LYNxjO=t*4wVEs%T=PUrg7nDM&v8_TWbC2tmFXg2f4h8J)-q(O;3hZEd_Z4$&q$MKue0AdMWC3X|sNH zVdUeGYnrpZ$&s{Ec@3qY6@(*H=p8EF@e(0>mOV*7vq^fS0In6kxB_qKsxS@!KQvZZ zpzCX1z9ZnQX%19WkY6!!SI#&{zqoc=ubT9Y0GGQ}rIehE#LuL$3>74`CBYr?Hucobou~I2!D^WAUYZ zc5dGbcioX}hklL0rXQxHyI&Of{XKd6uGTB;j<89bvJ)V1PWo+nwclfUIf#_3`CUzp z2sg~W&Q#fU=OYC2iEbV7??52zdQ|jifKx16`yQjeWe?z%yu=Uu@HFr9fPXBzoiZ7_q<1yO;ZdPd2 zcqOFMcp9yPoP#_t&1D^9-wa6hrbe>+ zu%GZe)_2yD*(1^_r0TV?gAa2A=(X1E@oy@L`}0i*a`d(2acXzqmwemDfoNrmnv^By?Wn*W}a-|(|m?`+M2mcZq~Y0PZk8I zO!<)Kj7~ZoTnMiux)3IO-u~-K**3Q?7$X}Vx5;L3{o}3lM|xCLv|+Y2J-#q2O`4%t z1^MD10ND_f;8ubtW!058%ArM8+Ncr_CHZEJ?kRT4n;}BdF{(&k>rBi@12v73GRYz^ zlm}Y^oAv$HmNql>ghp>Ac5w2tq!R@l;7}l1s=CLFh|Zc6lT`|XzV26!dwHH99lc?Y zlLI=L!nX;DT1YBeSiStTTlAqJi2TzW6W>YpD7sST#DWe9>tC5ArOkNY6^^5P_*$`VVAW<*`dC{^Wxqi3@dOo*6TbPZ4 zJas7DhgqFgp`B~-tL7yDhRrO0sJ^TdHBF1hu!m$ZcBSOj_yJ3++0@X9w)`Y9{1sI^ zKjl!LE?^rl+Zt3-FaZ+r_T57p{ba5KTVC!r(krrG!4;o!Do;)fPN2E0_>8f<1E@@> zw@tdQ>OUO5hi}s7{7tpPq9B3jcR;kG$J-X^*Lu0|_~GYs`_T6$nrm2u-)EvZDHg~V zr1U2j|Dut;9;hW8&rH1DgTL*ND?-eWl-9!Hy_NN@$ql&6F!&{A>17-B)F;AcgHVb% z+t*WHfJ3tmqEe~gD@cPyvI7K}^xM({wKG7S1? zv7bjtCs-FRx03f83m>tCg`ZGKeM&>PVio}^7Qe9s_NX`Fpi_8GM7s*h;jl28D?{6$ z*eUf*;HvFrDdn5J5uM!hWlCD@NF_kNEq*Mfn4@4#R5M&_D@wNS!n_oelWNBOK_k7y zq10h}r?jzI089xfxixyj@ULjZC}YAh>bt@mlv+WgePo zJ^onZXc6@YT z{xL{2$Ot`nzC2EB1g!qBk-GotCmT?*-)UMXPEGDegt+CNC9mS>C=X&~QI}xo!Xnf4 zV8~C+?lR%ZI8Z2k3)>Q+9x)?fqgmB82TKQ@DbzE5mZ89;ly@%S#*15+&WM;$Fk&d0 zAMyE6CuvJ5vS2Pe+W>f}peWHa=vY0l{EBipCpKv;_F&QpcPI2`KjFnrOu7}jW=(YT zml&Gkp$`fj9%r64RuOvwC$!!pBZV*UHb%I2OxB-ztwYYQ(pOjV;agD5IB4eRMpZwj zriBwXoeT>c-i%Rd;pHm)HiD`Jcr?1Xw4)P6xP5LDaa!r+KY1=^`H7jkp>5%rB8c6_ zGAj1z9E$W}Fm8fO+Rs^4O1ED@=pKM;r4%TsdcLn0xo^|a<+w;t&hqtw22H!02hrY! zw#)Qc_bl>V-dw+NAZy@uQSDcNLKZit`SLjRKCj^R`&F$W-}MhYbYhX;UsShYUF%o@ zqG!8ml)6^FQ|-GOAk@KQ01g$iK9vyf+;h~Bu2x={{t=?blL~x!+twV$BZcXg@S~~T zzrTAUHi(Ha=IcdlMPx!j5 zei%Bf*B{?Ef0#0M6J5oCcGBJSa5re!KfWE^xJpdzf6{w;vRtnr+?4se$(G`^iy#w! zvyM10R-hH%A1*dXW~PBxOl?Qsin))pj~y+Cs2pY+!pbClIhPfR*|VAaYeKNR%;1dG z<#wJ%S1?Re!w*v1?4kbNfRd?r*iG4xdCv}$)xI)f270%Tt3z}>p`=04VM|3c)X?VJ9)xsZ3{TsyK}8xV;)q;(2NZ^;HK9e{e<%rgXePYGaI8xdL?e4_PtKJ|Ra z0YaCuCA9WQsV{NTR6#u^V@PeQo#)3#=_WnnX?hojYnQ)N{2l-Gg$;9U{Qb8&J+CuI zPqw$bc5)*JBjlzvXz|O_cji}YZbY^;)|i2sOYw^eY1?bpU=l8<#=sE_)=OWm=~3?G ztyA?kK+K9>^;l45n!jk<$y~16NnEbEO2*Iz>M&0E{Up8q&NR$%F08DvL71|}v%P(8 zz-8#u*w@ss8tTjG%Mb%6iTQpEGuF41-fEA&tCymQoYV8X9Zk{lOn!s;T}qn08Og7X zcl!J;IcP4~$@4ho*!%eB#D)Gp#Yxc3BHXOR4B`%&3&U>q6#0X3P2RL^IcKvcy`#pA zFen#Gp{T{~Um{|SYQ!O$#WGJ0V4)-XoTW8H8(M~uiBYhKL1lr|FTX*Yj8@vSBx*6+ zlSH6dHc?uiDB%JwAA*o@*CNO{t}C0o!_30S!BfOJzcj`P)MYX_h+!0=POrcSrOqQSGQ|z_M5*)L8r*;yXEl+IFjgck0Zfik}9$n>rmE4|3uGB(X%(pAXfsT>+>6s#r?fnRjkP+I5p z2^@Gn91VhGRs?=AB|z=8@5D9CPPnF;r*K!o?a{%6E6P!BYqO`!4mk$+RP39a^4CTY z9df3p|6wMeAn%t7F;61VezzhoJ?1_VmsKJ()cDQsmZmm$MC@HcTnp*74i3hSsVsQ~9b3TMq`yo(0zyDu8C!E524v-_ zly0a0Y2#r4QCm6Y+NlK<|iHn8y?iDg-5INf;d3+6i!snroTfTq)c6q6b&*w5?#JiVy%u*jh z{smF1-*`Z~wP&7uQ6A`D_M%iO^h=G7#mo-*s_+z67~vnGg4_P+QRDtdPn-kWY+^6HP7K%(FArpybwnY6k zhmu!YAQ%lPh|+LZ4bF%1D^58X#e4ETt;KV5neP%%NSM^WhI`c2smbhX6^Tl7zcD;% z>7!B_a#vth$5f)IGZ=Cn>2EYj172ncqv*>j^_Awdkqo;C4vO2|%kT{Dd8#DYFvY)< zld=Q2ut{%%5SZ%!1jK2-pfg%)v^Pr6Uj0FQ7RI=AYs5nCaVs7SQ$aqGcu2aHer7US z6-@Q2oZ_!iOSMmv0ZWM(>W%#6XZSXH*Y}eN@80E0GrLM$Reh{~2d0Vz_Z;bqJ&L;5 ztsJ6?uyBmS$8P(7CK(!ZZ~&S6B*!Um9*z<}cr$tr)U?=5xLE1-zc1QU+qQij41k+^ zK>(z`0Ca9fa&}+C1mc1t5*T(-|Ks!g$3>k19aN*?2qyln20#8V5=hI{SS(B3#+eAMv~UPrLOd@Q8#pzbTun7G7rmDL2P=SxXTu*iD3sLGX zwAVj-6${Z1uq2~>o$Hjw7JmQ^_%o^k&$?gEv{_QK8!7Pr7jGbl7RIn_bur>Mu|~KQ zG7=pkiyluyY(06SC0PeO_P)B+BbEVzy_79)>VxJY(gkagdM!a64oUVR;)PTTq%)F| zd2xI|t-8VyGpjs(r9#lUuzZ9RS=Kf}DfbBPh8;u494hG~fD=KUr(W%GtjZJEGh`}A zFRqI^=g{iR!ydHujimLL%$`Z2&EH9ph0+?`2+|1gOhc*5OU45MVQ=W<_`jz{)Tc%m zAzAxuHdnPM*qT?j<8#Vv{$1omDJFA^(>d2OvHNu>e~~5uv^Iw^a+rCQo?BxUj({32h+`OSKLayFD?9)*-Gc-p^JnJ=PI9ou z#7h18Sl3Uca{Dd>+%`M!xmJ5gu2q3oI&2@FTwpKLkeTm=gGqM1edlH8IT%@U_6h*p zp8^(a7vCW&(xlfr-Lba5h1av5+e$ z)GTX4E-;wr$qSJx=saRE^z_KO4jYS=rQ<3|bwpE6%nGtgy9}GgJeR9O!?8YywNLC> z(q2#xCD&G}w1OvI>=w#@a%j-Vsb#MuQl_?%CKZ!N5| zwMGbVEfSXZ`SGNU)mhcxnvHtQrWO}+Vbi!I^On2#MUV8$7sjahQPI%K-XW>Le$n?h zJ13IMeR(5T>kpG8LoGr$EUnLqf0k=GpYh$5r{=Ntn@1>GZ_TDoye z8fdXo4bF|L+-Xs5|32*ePpG6R1k}pdfW(wK;&G3N+Mb||CwwU2j2Wy+BdEP7QD&Me znA#rn4YNp#0lNr(KpM|@V7~%O5W}T0PEF*UHj+9uvTQDD735t<2F0>z64z{hwNoXR z5P<}CP)F0S3SMTXB}?c>-S3*Ch^!P?cE*L#5|&`~w;h-=I;He6V<9wiV(azdFh*Vp z)&-iq#=@!W$y=uwPSFHuaAkf06zy?i$8U7(d6^?65UZrPLb;?M3by+>C0SN`ibn&D zNNHF(;ZY0J?$s1g%3H=S_R7CKm?NA&ABHLxrEsCrgi;%n zb+GZ0@bXHPq>=t?v7r{Y7Do%>P?q!+%RnrY|C!{*9B)~b47D^Rh&+%w;rRhYUTDr& z2{(Ns`fDL4J=-d?RfAlul`)oeq6T$0MxCu*t&^l1716wRr`6Iz1#f59+Xc!f-Y-}# zc=D5{OCRb$Wu*FicG?HCMM3kNRA>$G6tWul;sZpKU_4{+LBYM}ZDq|gO(XBTKKVPl z@rL-u$fY?3=r`hu2Ve0t_6zJ!~gmebzHfsB<74A-v#p`Efb>DQ4v}J4{4P$QhmVC+T!~Xz-v>IL(uMan+$Y@)sn7FMP>i;vz6`WDL#uUx*Io&uR-vcy}L4hu<`Qv7Dpq*p#=ONAf%;SFv$b0UM&QJeg_mRp;Ui85S7~Mk6~= zPng|N?NxfICxFN|cbY>DQl+yoe7IRF)C_R4<-f>v0jI1|ge3YIDY`1^+_%f}n6ri! zmnr;%cuamh>D+-`9dPAL2ta` zl7`7``Y^YiPHBi8q9Rs{V3)5X@tFj(L!|Ot^RzKfJE#(w>1oE!BSzS$=Z!Vc^A+3s zzms*dWlXCuvoQ?A;eSgKe0J81Qf@SzceK~zjidiC7s;H>jcX983@paAAXKRc3{ng- zjGR?dW2B&R#iM$K=nMrx)?8_cc(?d-8fK3Y=Usc5XsXH(77e}qP-C2+R+^7;Q&E|F z_4d(LYUVLdiTugKkjrKd*Y^N_Dk_xrLbr>V1j`h$L^!xqhlgK^00e<CL<%D=?HOKYz39-)S784Fe#`pa zwE!&HR$V*LC?CA=gOY>b?2RijMTO!%o{s*I#f1Edq$6gqDI_kEil^ic!s4lK?w}mm zi>uS3q7hjfLK@bU#0Lqz&(fOdn=lPh0~3Jy&2>E53fptPsM1C-7KcV6Hd^`K0iTjW z{0Q^Hc4qt^MZtgO`+v&8V^C`r-MKiDG9pJgg5GSXd2p9Oq*_R^d2DOLvbd&%ZKTkH z)$dGrgQ?@6b6=(gl`gJHcp(&Bgv$DTgFwda7@ZmAmQmP3{zjz$vplP>L$7@FBL; zip(ujq9dDZ9Pe3R)}KW5Z9E~v05klvVXg$l-PjotGOOAyE4^XWB9nNztkW-gIbU7A zG!4NqBzvKyQ@4@zLtpI`rH}l4`%13H3W+Y$#(#^qr8>}5Gh{GMJP;?C-hXM>XMrT_V3g-e1x$opu4d~)D!G2VUw_`QR z&dy&91PAQl_rhAgu_061azyGk)ZCdxz0GZ3WSC3P%Co0gDHXv}4belrQ-q&4WA;95 zN(;wT>XwZ0O_8HElYTjDI8_orkb>y_d@NXy>T~Xx#_aAY(-rTgf%jAtJ5BphD)566 z9#?o&uTq@jkBe@yPCBelg4``w&SB*}@Kck%%Z)*~kT^oXx*zH}V7eKT^~dt8NHWXp$r}87`BhIN^e#$q!?rQZVg} z#4Nfq+3qkiBpjo6PaWN-g0q&3?Wz9${ho^uNF&|S>oAa;seDKt*^Ueot;%lWDlIL| zQKYI)Hvav06+Qf9q=2c86h}-Xre6ltG00k+h9IfEzKiRv&!66_oZ7t3FJ9J{p&z}h zTkRpvp1Qia{9A4Bf32M4G{RMxLC}ME`ysPUZjfM~k7;86&!>+YOOLnS4x|Q^NKY@l z=nOLvEAM1WJwVHy{l*1)l)O_VRuL%!7M(KD6fJxNRi!S7&)>ggwhD1QBO?(hhdf@A zEJCk1m?e-NmS2o+4qXVB5QSmG9NOiu!hv_37)_b}h{*P{eCA>-D2x5mphxv=!F*?2 zBf(0>1VJLS6w(vakT3F0hw~lZK-u&)X6D}tG~0|nHB7wTESW;YzJ*951mWTEgJOS= z>s=R)+1cq6%go^`5~DyNjz%$WL^UV(;hBlh3`>@{AwT;dxc+^#j~3u7Y+HlEfSSaP zf}D?EapHUK5eJsIm1rB!&jv!Lc(NV+7QY!cT@PD89GOn)D`p)j7Xq5hXdm&3&51+xZI`;X&P>ho& ztMNuCw`0u-gg@EYxMhzsp6rAUCN%4mVJDhfECcuiDR;RIG)aQ(7)`Ci#-un4YHPvk z>M&|!QWgVcsdfg1n2>9ZX#xU=^h|C}*t~n~?C&R|%BdPUQE)6WE(E{oAnHuf&m7Pq zhjH*a|KE4%p4`{yT{$Aq`t37i4z%|^6kHsIdxjIc99lCR)+UNlQ`g=VLMAjdj=uQs zv5U!Ww1vZlxIW1BELD4hy_LzT-6#*d0E!V(O~D*jyY#WOv0=Hm)0<7iMzP>oIk&$m z(uUNORLLrJOXzpG+kr`ulX|isAwn08zo#*oHBou9GO_#2X$fRh%^6V2P;};PTH#}o zuu*Hr<+(}hM(aRWn>~4y2r_-ej)hwhnj_4nXH}h)pF|wg-C~{d`e&1JQa=U#>^#n! z+#Ja;BA0bM{hA};E-rpmiym^+<`guc? zV-h8tZTXzoWGA%X9#D|5g1ZoW}0$CrOChEuGQbe0TjsK75m^{b|I{QZp zECEL>3^C=KXnv_A>p0WV$Q)zXQYbZeff6LpY-Zo#6nkiW$jeR8$mdG4kLqNeusX!N z7v%ir?J|_<<7)+eM0Q^^D>a<4%I=$ejQUEy7VXAYmNEw0Z9v79bWnK|1>2%m1g_r@ zUTJNQ?ADKSJFoV_=F2u4_7xRLe%4jvk>k;t zbGPKFYu0(bXKW!pWMV`FCP-n5_Gv_{-<($^zHYgh%|MM;B<^bvcKvw2ItA9o!u?4I z36Y~s*~7^wh@IEm9l-$ZkxH>32*m5Oj`Ih|0*wek6D;pv&Pk<7{J%cChvrdVp~Vsf zzmtwOE7ybCLw$$}?4-VC6hn)mSl~bv5euHnP^0Jz+(K0&%9%2TkErG6IMo?3aCI&* z4T7cTm#XwkFqi4K%P43iLamZ9SZ zAxeBz2!wZ{Jv&Pl*nTr*JIb$9XQ?!tQM%Wnk>q-3s{~a?I?^m*#dDwfSvLQ^f$%y- z^^;OIiW7Cw*#|Kle$LVFsy^zPQF)kwstt9-$P4xoBA+#N)wdN@uI(&xHf4-K5lTId z`EaE$jYo+z?5Ut_zz`kgdA=Mbi6%h338)d#UtV5NWAa=_2+jV!{9-!*1mGL>M$?m6 zdX-pXCl4CJZZ)S~B4h?sD@Nz{OhM1N>j4S=q&{hVZlC*p&N^Z_at4C;rwJiR+jR7H3v3}-Dv@DvVFgc8mfH((jaeYzXwWRP%8$86_vG6`vPyl<4_!yA?!K4Po1Roq03FfuV2h*km0 zo}9rJb|%&`>blV2vL-i9CsCdKyK6qo*0QE8hpJ+d3-x1f_L@ehTy)qVENxnSK-? zYd2~CIl(jtsIv22wmetD9BMmceu?|<0k$ch)sI(SSZd#W@fEkqX4(*;ssG|v);d$1 zEt^YI{~~8PK1l0cP@_MzIfx#R9jIKp#4RL5y&7trY+ke$ibVKHh7-klk<3L>M+aRb zy=09V5k^Z~(G*dnh9~IxoMI1mX_LwE@ES?Sk`ai;Wk*9AilN_U=ubzqp+^LQKUgy(V zKxxm|cdOn-OCWA&tjw!ITZt2Ek4dQr)goV1*h0kSk0|mu$LWo~ofvTR$fzw` z19?OjAhBB+NZaB;yRwsD&vCGnnSWBJ3Q?#X$7$;rC;l;7kfO2RY@VS;VkH0r(Ay#eozO6(AQ>eXn^+>C}D1Yr{f;L*MG)#1LhtQ|&Q-^p!M${q(}YIwqw z6?lT(+n&NibiJIUFpzAedjqA=vJ&em?}b|4TYIeI`>><&u5*;J{9fpsz$Zfayk->|%>g2GF+#Tl&ZY9x@G5At^R2dGP7H`8xt7-4F8=k2phn0&67gZ}jllLr+R z7P>6!+l0Mh9rn(u>YO_jQ~Uu%mBV!(EIP_7UTLr??~b{v*RJ!k5&OTt5xJr%;XmV? zTYdHoR;fBpbrKRu7Q=%Lcvv@C0Dh%0a~4S|ih*AzZ~#XSCd(|Q4|nopa}$+?x(~tH zJR|8&&bKhbes4ej!qW3QGM`CTdeq8@I7~>_X)(-qAWZEEwI7Y#ZMEC?e z7aSFMm1)Uz$_h#sq(E4Y0Y8*>7#ue%(hFGnLKX5PjdOGh#v*ZA?^sF8G`f z>>xw`Mgm6fvy-T=P-I754Qr>gyI5Q&^}e;(b z1+c?~0qR7D-?%csqW@ZS^l_#_S)=Bege{`*$DUm+4mosvcp~z_zLcP z0iK+G_w&!M7hzJ10Z)Kakoet?VEj-vzdhtVK)LRs*Y)9oGgXgN=fBFBzGW=Er+WD; zWm}N+EXc!cigpT-Zb2X?v`Z%$3WwG{5ak=J7|gMl7Q0*_x~bM}RpZozx3ZFUjNTR0^8u=C%Js%!6@x>?%lWswKP`)LIq8gd`le| zk=`_S{yz@~gFtt?J11hbvB8za`?i>DtMSQw_&+twh7QbYJozBdX0c>rIz?jB&wHG- z2|p3O@;OengKWQk8ASYd-ewQCWuhb^0DNa%_#1%8qvERg_csO&xP%#1rI##x<&^$^Z^6X`jM?s|UB3dYN(xj8IzEB2z zsRYp4I5%Q!xT(;54ZiesA1q?~Dwripq43WU3goP`rL~I8i9Q)?d`t44oSc~;y4M&E z79Poi;#(F^)p_G$PLeS!n5B%#pLvgY&S;S+_tPbgeqDF5Rpl(|&_CuLk;>^hAT_u9jo55={X~y5xV2Ltup8 z(*&(_AM@;a)_pV|#aSOJk?IK!VLXsFhrWTOIM4$RUbqm4)U}6CsVxv0n<)|z zgjSW-67R!;GoJuwDUbC%>r{w0E4pB8)8y;%E6@>$H4kbNbImk6wd%2|>o7?-lz8Zy z6T4*ouQ&RE3R-DPWA+vRzVQ6hBz0J+&22(q@A`eJ`pG^^y#Xt5VHn?pSl2!4zlWnE zP5muTb_OPzJCj{;dmXJE7X$ii=p!*E7n4%4BRqdnIATs9TC#zPj6ja~D*O(-2ItSD zKw8tNstH8a3a5lxeXBG1_0gR7$kiS&DMOMaLm{G$F}CbJE{o8tn7o`#0@+q7cg0JV zQ?^7EcOki}!@S=l?}$LKKgvI4EJ)W|Fi6uo2+1H*3O%ne=6|mfoy};e>&fCFmsHp1 zDs8%tj!q2nTIPv}wpwv^W1(%}IFES1BpxriCZ9+v7$2>%uK5cYx9Y2~m6f)LOq?-G z4onXusIM?=T9bC7_gsvYog4Cx(OIlcqmHCxnBe>X=fwCmv%WdrR~JoLaW|aE88IXz zL?_Q;KuL%LuviUGB4sdw|Jt>6ZCwm}dRh6DnIEGE$>I#54q)}he*V?_SNJ;svNi)C zhseJ=SH67D(EZBSH0_lq@(kE!(E**a$pFx=ug(XEfaObDN+c;A*CRx*T-ccWeCb&; zkg(4oNCiLVc6P`DfOx=+oNL`iz$_oWv3=jV2dL@muN;}DI|c->VMSDZKYl#0&s6bx z=eqR=z#L-zNC@V77e5FjvY)%miX*HwurOr~4geu;cz>Q&dc&D&+bMU+GhBBMV%@`T zK8gh0TmhKFkUPQ!;vVFo+z;z^(@U*CGp0K<*E!2$-e+l9Fpva5;;-?C0XKIAQVPS;$UI`imV z58+PWGcWU^kJ!fZHdK(g_bX&?8$b$-F8P!i?XcGz5cmOT@rE4??(A1?+SF4{?o3C$ z-2&}GZFESXiP5KQq|^6gM_#}l2&rvBcJ`5dN6MguFKMVEjenm+4si6@TxVSJ%eY!1UWIp*o29*2cnBe>W)2YZ_}6{-3?h z+M|!wRAbQ*oNS%U@^!B1D7^rQ{>a*6(+HZ(JTeBJoH5f{L)NE06gqDlru2g*bgrYd zz>l~I>Df>Sdf>Pz_OT~q8Ji-)6sKNR3Ze*y%6UqWw#a}eta z6DfO@wGX>6IaQZ%Mr}unLK(_@GCg_uG>!R*nUW|OeKrb$!fjV9PUS?!GsW;zXs4y7 zxzcHe?ZBHIHT%Z+Z}YedU094-#!- z(P6P-rimSa0cE?C#J`&zxa0+FpHug-0q(RuOt~uhKQt4nQ+ozIMx6O|8!c_hq zigThID@5Z=@ire+zvuL2%Dc>J@^RB+dg|N0Aj3aT)k7H;Sw6uEkrs0QU3G`$2ztNqs+)T@O!4 zAl}mJy#N|8!uqNu)QKwQ0&Gopbwdcly%pCl0}u3a;)_#ZsWWTqnl22hj-ZCRZgQ`P zUmYskAm!U%Sq`-g2Oj`PoQ69t9=xX)T0bW zdGQ87+fsEO(y$@@>OK*^2x`deoQpM|aG!LA0KXj!p)N@dID|m`4!Aw zBLIb>@+Bxe4raxs0FzA#P!P#=(bm6zzGw%k6DOnC3!ujEGsgAz_vfV|`NaaVE{ief z_k>GM4HLr85KqA8<$y}^p5xSn3jPcHOXiqsH|V$lnL^{0vf&@X%A+%$sLJmyoxnk~ z6Gh|UGDKM ztJ6&~{*ylc3~OI=lXWvkKRu{&C}n;)e8*^OcT8@dEHS$F;Bcq8MbkuR(LbbAeNb4? z>48d;oEH?i7zEduvwLpy4>}ehlTaEE zR^z4#hFp*moC}uszz)uD%BFHB9=m1T!?}ne%`|)ceHJt9#+I?5!W~9cvI_jM#gzq% z_b*er*cPUJuCu(R@X7_j+y)RE+(%nM%mWkV_wk!>U)(afKu{Q)k=Xp<8Pl5p|8{3W z>rIP|bEo%@K0k`3&|L_DQ+j2zs2J8R_f{MdpX)1E^}fJ%;!l;N%Ghf-Px#lNx?f~A3e;`yIGh%( zn|yK*x*JZ+vim}Kz?2!i=DbPpq?~y-IVYfzx5fpmXS+evs7CnhkXh1M!KK8K%~x9U z58x)RTS#}_zszuZd4=_9dBUBOpT&$=XJdz zIRFXesP#;OX&UZnn1?OAF5s>z2;r;(ruVB~zWMI2vv0)-@l~F7UA3w)dmppVa_}*q zdCf#*cYQ|{kpf@^*eb0H#YV#NlIn3!6a+`C(;v4Cdjno{dMh%%x=tOJZc{`MYuE%M zR=5CfSO2NGF*(JHsio(x4JI5besNG}uzO^Q>E z5eF$YjdSO`xhT-6lE;9X1(nYi+5Ljjj;+$mV@JgZ@3A+I$!jEDVOeM^T#_mq3l0`= z(IBbpM&q~JvhiagPrl=WR;gy978VVrg2V$XJ-WXC(xH!Ux3r~d$3|R$1w#rJUKG@AwbE`vw}99jqj^N zJ=T8sXeOZDa2$@uRar3ra9BwftfM!ebu*%WSl%Oxh%&`;o))S(>pxzE|kP5GQ^R-5P|?c zZz@#1m>`Q0Sk9AuEoi4Y97sXSEifgfx#_>*qqhsy7hT`Zr}s2hhZ9{@G@}~$D1Akn zbOq$dBQQ`>3$PEMzG27D5iZl7eoVtqhyne`?=WHX}o|e(j=DbUoc$l*FZeW75X2)-GG}yLT1Ni;VFwrj*@j_4mL=QAU->ss!3}> zSS)d6&=tLDPP!22`Mc>8pSJDjon3>UYB5Tn5N2c9O4(JwudaKdvG-6SPy%)H?l}(l zD~(}qY6NwyH+qv*1R0)zYhD(wgCp#$z|HrrQzJ;C)+K%>E=_?~Y%sqL_)lcHd@5%r z&c#}$hCk$K|4v_N0;PQh-SYP~!@7)fXTIq>Oq4fJf(nIU9KsC7L9~2pI~yHDP{tvF ze{a!;4)cCB60*ikxk_Eu8X`G3?*hj37`SftlR8CMU5EB1&~sZgUzdRE<`~lo1oMew zXFv;9IImE;EpWkVZlfY7Rbq2BVl9^kz%s*iyRJ*+g{w8!!F@{+r_rpNFM`hCTne7p z9W0;ZvoF1~6s^*{n{Sm)RZagw$cH<`mn!}E-c3|{9pOe)oZ%e*_xhh(Pb`-X!W^$y z3usI8kv@J0@`#zqZ$&xOT;$k4xi1(5#Sb%1n^@~BSS`*|e?GkbA}?^QWY^ANqe2Bu zj*Y%Aq;$|mqup|HK?+gmCQ;cjy{VVm9SPy<2S%l;F|rs+-@^al>pi2I48OI{6nY6w z=}nQ|At1dsB|&;eLNy@02?!WEf;8y_r1v5vR7FFVraT_!~VXu8Mxc<>`8A{ci2xsvm5!9ugDM z2)W5@&3#E~c72cq>(#z>MP1<7F;5nqx7`TT-E7zg7;&v(J_FRSf0==x>G#0Oo?lOQ zn!8uAAaQ43m6Z(0-X6%5m~{&W|;&5-14pvCSN(PA*v>yw*;|3+`?cc89QMIu| z@U0u=MjIu!lwZh!cF$1xMl!yAkEmR&a$_sLGut~zyA=<%GxfLC&F(t0KLjd#^Whg` z&Q8KNs-T~?+-dvMB~1>Ws(Yt zlLkMHJ@Q6T%vT-%jgtZ~A-2-(FJ2LICoUOgVjrTnyQHuxAAd>A&TMY?{n~o@1%T+S z?y1Bd73ENW&G^gr-G&)yOla>IUXKp=1E?D)LH**tUg6{^M5;)}3G!gcO?Fy6P?;7< zx{?5IhZlB;sxbjYM3)23FuF!}L4MYx`PzT_K$p&0$>v%#>^rcOO-H-xm+R zl|RcpCPW#KxWCpu7U^l^|E{g|wJKf2$JEg=lW;ILb0~s^%9tyBb-yK)s5q@5l5e^C zboTmMp7vWLn&MeWR;B6?%y#d20SNhS!og%l=}2-BkJCe;e-Ie!xC)pOm;EM=PF?I2jhEpx`JU4%^vCSB!a37_Pnm z(RU1HlBNc)JvZ0<&(mX9Jr7gyRk}^(N@4u5X&v@(tAL0t#i8n`I|}G-#vx-U&p_r7$3U7F&E{U2ilF|a3;;NrxXiA zPzl3G&}U~Id7MP&TD{$?xv)bcn!mx0^1@1kq`zc;C`9QPl|ALN4i}rWK)iLthp~AU zFi%nqraz(j(^xq_m&-*6x?j|O@(Z3KUuj#EwvK2eI4bC_JAr=sicQ?cUD&#{KQTi( z-tW9JY!eP)<=elnL&Zg>k0f?FE)-~&?+}1OS`j`rW(Co|1JQu!D;AHyStR@Yj^qX6 zB0h{2n<-lk$dR+hXgot&8UguMQIL&Htahl_UAzvS=y~5d+K#hJ&!4qZ;>J^KRRER($31Ej{^HRqckFA5c|4>X07DoBj0TN+WrV z^{!y|>3mP^Ky{V-(Z9I$=@j0OFIu_mYE826eYHpsL_?U=(yYFr*h)VISIJJE-@z+Cgjb^y0XwP*6>uxqV34OKm7=bKj^aQ1=EElrp8_kO{W^agZ{i?Bk6v#ncX_~?3-fTW*Hoxr4S)Q+$ z91%a+q8HxX^Xd9a3Fona=@*@M|YM5CjczYz6-0@G)4X@?=a_k$TBFvakQ zP;fdXdn2HvaK6g(T-oy$^nMJ-6;epnGb=t${8yu7`L6jm7P-{u?^3DqBZ@ar9kY&r z+hWQ8{4J%66PLKjFjQW`F&~NR>3j`5cP+dua3vR!As-Lhee+HiF6J*=Dv%MG?B&KY z>+aXLy6p7E;S9Xh2OGfuT|ulrlk{n}n2{Z3u;#O$8t*tZgmOpeQayYdLGWOOMfaCE zXh}F<6%Z>Z*?HcNOM z9=$mxhfaDkh*GZnn@eZ1pY)4=bj{gfOHt3MfGQq-5K@1uYT|A&i*(bm4mMQsZJuEH zl5XbU$ajrc)3S=Z+XTv4ulo2?Ywa_S6<)5_FrPbVyBP zSq}=Ey_^YAY6Z)()!r`79X5l$i8fYs%Ct(jy)YY;Z{@v{D{Jxr;o{T1j;N0K#TF@t zkRs%OTjhs4BdT^OP;g=k!ilfV{a4oE2Ij+sqt)G_cHTR`GqYccm36VS(aXuARS{K# z`G@N%N1y|GNO;`~?A9iO*aOMnMeJlF0a{Ih3RBEg2F- zTtVbvA|)kom6UelThd>_mMFUfjep#|cf*uaYy3x>2eM#7z3Y3` zJ;eG<>l)hqM=e*8E7$89npO~w>66V9I58VB?pA4;DFX5R*FZ9yrVLa!b5FbMau<6W z>!h&WzVOzH~3t8iB%e2^6OI<3WwGgIT3Fk1cF{V_lAx@!oo^ zyU4c2pclfk?SzwB5??b0Wl_cD?I2sy+HmVpPem-3OwcM7qTuN&V z^c%99#dNJ%t^}=)Gh%1b*Bf*j8~Pg8FH%pMly1CphV|-xUo=I_lFODXn(ha|T@=B# zM3@+_Ys#v|5zw2pb?9<#10ge7m>MEYmB*W=Y2dH(w2E{auk^lPQ8v3o&1lp&!$wxf1Sb6T|h&Ykxn@CV_0?{qtMo}5A<%DEf!>OT9J@x-g z2TA&$+g@l0s55LjuKx8P1RX_oQNBmo(0x@xmwq~1MVF$joW*{BU;XGx6+bqPiCScU z$^WR*9IzO&-4j)8(_&;ahSe-G%+J>jEh28_CAl&fxUngd$+`=N8@l5PU)RbaTWQvs z-;m{7-rJ_@$dF2we*eVRiwi2@}NB!J<^@L~mLG5X?LL89rc9bvA?{psfS7k7ikh#bzKTnWgqt-aZzC_eY z)z8K2ki)9TO?tlTA>$wW(dUu{?68Oo9TY?^l7u>64NnozG^I6WL`#!H*A7?E zBe_+rAF04MUjNYaZ+`i#R%Rt3f!hL^Qa3zB6lERkd+#+{z~IqD7$PYfVuv>hn59g! zEMnH4^2Q~9)wQqj_Ln1;Ygs%ba+*ABrYt>6F|(w-?q1>W_j62#W=f))5?@YfgnxjT zbnlc=-mNcxOEoh|4k{aAe{O+yh#qg{E|<`AkL;f=p@;TwOWevWFEmTtQxn#Ia;Rpz z7-eK050+oQXP0(f@UWmHP`1|P=8}8mtX8U7MV<_W*vF0$1a;Q1C0a4g@9E!M_Ds#n zY<}j9?T}HaO-F&zX82qNVfzMnO=r_5kMwee$T8$uTF_82Zi|5Dj-(L<}F9R3mxJtcOoT$4=i2%@fVb|1s#E8 zvi1eW)ZR88`l&P##kET^(kC?(YJ>~drAIcNFHf7V?>Z|En-e2($w6E@vJ)!rDx};7 zLohmY;UE82q-S_t6u5I&F6ntZyjEFTWi1*nDZ5n z8)v6J;dfJcchYJEQQe-k+gpe5^^DoRcz8txY2d_l|gA(fR zf4N zmIp}n_8B8$9e3=%LZ1J{0?=m#S?jk<`1jUOi@N2VmXDNodt5&d_tdneuLFFFNAhi+ z(tiX`e4zuTw|^Ren(|r$T`LHFG1~3TX9+Gns!KVrYorVrYPCPja=@>w=)#{5U5Z4NhJ=y^2$!0F>l)~kr?BNYdC=}` z_V!z=%#;?}%|q$cXlWXEAdHd}0!s(q8@CMjG05aCqf_wu&A0GxfFF77iYXmbSjXrw zE7{QA+AwdD_Y;f%@u_>=BY|eTS!w;(Am>t`ftS8KN@e-0NWgLH>@N5O`Zn(mG*v?4< zvLGL}L~>?Ra07Dzf~^x&eXW>$cSDX^C^ADWfw+uX5j+cBl?GB zupr6Cii+@_^PdD4&BD3P?K-~w=#e4k7@hQuyaG`umMTTCcPiAX%z0{c%JX)_y8+Gg zrCi*z&*f95qfNG3H^4_4+;o6fJ9PxI!Mm7JEXX$rFO8UF@`u6jrRx-|rRuWm?MG#r zv%YN0n^F~?ixgU2lVW8-dfFkJ*7XV7du7ZN%VAI2cbcy8VpMM+WQ-?cvY`GGr=1-K%Y70R7}SgW>++V#xXuRJtWXWBP@ z;zu=E(gk1Csoc(Oqm*V2t1iF2*q~HNDL)rmEv&49=999S2ckf+jTeCPK+|p!_okaV z3C(-pr1*X$h^jEJeew^=e6rf%0?0ZVTMnz3=fsLzW z90jtiA4`WL$I8d1nuGE!?EV64+J>%Iu_D`kwtB;>DgNNMvG+noO-3KrETrZD!BQU+ zcv5nGFG5GX?*Rvc%Q!+&?n&*En_J$V-^m3IFfv#q!F$#Y{atEP4gmZ0HXlkzrQj+* zL&{r)5~v!0a(eII&o@^`g`m&&z>CsJTajKsUE&nn=<(U|zmBIJ$SpE7fPbMK% z65CwmlL&3j-rYc4H!?yb6XnkG##=c8A7Kixq# zA&7leYa-z<{lu#^Dg_fW+RpiL$H7(SNpA87POm}) zM^bT5jNyvYhimOs`zB_L%ReuGW}!miwDZMj^y}C^NYCLwU@N`qzpKO0HbofKB#)e9 zvBrh=G+3yZTy5kAlqRFSzCkkilQYM}tw}8{K3@({@3;Eg=cutxx7(hJQqCBne@Gr4 z7KS?MCCL@?*z29f3Y2&vG= zzcsvz9KTW6kf?yM?yD#G5jFZU!6hk%+e_w;|1@(*xO~?MG*R90f+geFn#d=3;3F5L!Z_8JrBe1uuM%eBg%Sg*I84c2e0 z?L~43S2pQ6Jy3f~xn|Y)tM4C(*nKVWX&A~zbxlqQaEjXT2Br@eEMVgykQYl~6iw_2 zm3?{{|+-_$jn_U!#?dyY`(d*p}7s%E-n|d->jA5qa z1fQE2I17Uehakg2{DYhg(2{QI0SSGqW|;w);owUXX`EBIWBoHKPri70yTVwV%!7GP zPsvayYLCX}X-6=K|Bnzg6bo`7ISW(TF| z^?W1__yV$^r@>%>Jl70dzWZ}<)6jWIA- z6jL-Ki%O626Z&!U&IafbXN}EnB$8 zDfbMz#Sf$vgB!SUu94r*njSBX-FKBn4k=7E61O;+6AgT{zO(USi`qLldUb!GMbdM= z3v)g%{o=>71&?6BT*Q?|%9lbD@=kN~KTw&EfOsf4&nD^tTq=8KlJQ=$wh`ysVE#SH ztF@kv-{+kw%Q(B;QN(2^5SCoKo3Ylyyi=b1M&BjU8SEMGM!(<*BJ&5J3aTu!YA7~B z1F3hiu1*qh7XJB@+QYB4i^LOcChP`smOh=JjV417t&^BDv-5Z455h@$%%k$Tt+75S zG>Cj4fczNb7FW>+=bqrh5Ss7|t<&<{8j9r9!to|*x3W3Jcm=KREycOsTk&e$b&JI| z!Y^X;CBgBNKk2yXJ$_hywxt|VPr~+}OI2(AzV<}c;BY&^{q{w+)a6Thxss1W0YAGZ zsP3uhnpxU|9V(=K&n={?KHbzl3x^!DT+@6pP+GWtk!Q``=mgd^jsg=fY0<~?XCZcT7&Q{#S*)+R|$nxFo_zJB!q%N$RbFh1(5z5%(-AXZ<#A2*!c|P5+nYT$@~SaGSSM^;MLjl)cuh=dvS* zbo%4<-)k;}aYl=tUeVj;j1thTo!dh?OSD(=PanX$@%{mXW#(fpP!-t?7E?dY18#u7WYZ6n5E~`N8Ki?5eJ>H8JS#*t8ExYQ;0sNY+&FoR$8!o<_5;)lI636 zZ!<9PNYH@S9?4`O64Q1c-($x3CYNRz=YEkjc^Mh0ZWlnTw*_D6rG$-uwdv%pyM{x= z)p$t_)c8uRN$#c#wR~_6Sa5dns49I#qQ&Px=F~c|lygD-Ju_{1*sBHgtCV9Jmi5c( zx2aAb#C^q?x|nan^h`_YbIfTPnBVQjRLtqND}_D1tgE`LF^JCE;Mqvq*e#SOTd>q* zyr$1=$z2I78-ufys)Zc!@V_ivemhks3y0@q5oe?_ylpgs40qm4OauW%-XlieY;*bc zQgrzB&E#EetH$colTK>OZ8aLJnKWCNz9A&{)*$A*?_R{ujLs#AZNA;|3+x))Kct|T4oF>!ESiTH#{-i z>Y1SRD`~eUH&iiqsX96bMfakIO3Ti;S*aK{C@buh>`8(aE zN1~0xxY_y01p|Yt?OMkB|2bvz7gVpcrnGh!bdp4**Xo~NNYOBoXeJg;vn|1{(~V9s z&U^JakA?A`G)z)!cbt3feOq^2LgvnZ4aW1@dvl4{9gM4#xRcy0rfwPS4>{_MG5kdi~RIa6VrB3cN=a5-D7#CI?l0a`?;5Tk|EW}6V7eW+la{oV}L#(xYY?d16U z>14aiGcFoZTEC*IK?ZweU>;ODm}kq3i(1M`J_~vJ>oV*KA+7+n6x0}wj%UArxo3fuHCfViwcd1~UYsWNQUQ`3Aa?sh6Q&sK9I!ZA@yessWt=I6 z0iOVF5P8o8hZ%1SpU||Du3b3YjXu?+!i)k5V8gRg$^drhOsL%_o%i38=+00Sfx|pgcPv%6FcYwtPTCgGa6=7kpXJrSeFwI8PTWm zsPtYB!R$nO)x?;;$Vk#A!R(Q_I2OshH#rY>8xFyrP|)h&tEO2V6wtjg&w)7Q^3t0K z;Q0(MDecdq&P$-c0KDlc4Wl2x`P#hlQreaOAepOaH8c|FS~)rDANfuH;(6>Mgz(Ve zD_axD|CsqcFlr!mP4tKNKEp#JJkok`}4`sZYgD7%`Q5G z_i6^z3+&qz)js@bzomW)@(v}SJyxl0>cfbCMnR`6XOKVsU36)zMQ>savFO^zXE;?M zs#ZpK?xxY|hAN&9zfGP!qhMxe^i}8jGc1Ww6`nj_i{#O96T~@x63PThG%bQ@bWj&dJ8CX>EOWE13US z1Ew|rss}KyZ9zk5RAzRj!RX3R>PeyF1145vW--z`Ex`1WJ^M+WgYqAmPv}C++*^=? zv_}@V>4rD7!t`sB{Sb5hY)KuScDd{sqgF;PkH5>T+mE&XcD@1cNgO>$Yd!LdM;dM3 zyo;9oa@9CpF}WANPS3TV3yZrs!UZ-mqB_RWA5oBA`4Om^d*guV3L0Vh0O77XEXh-| zmiu!@I8Ov-qfI-_A2M@Vz?j+h4$}JyVzp zXl$_77&z`Cw|&nRF)Xp{!s(T6G$RLvyzmz zm+T!@HWKqt_7{b1t2~p_#{D94yR+~DppGj@n7xu$y*if>^p-#Kk!|-qMmJN-HE+$| z@oNMfV)7DvE#0kk%-;yqB^9dYe=5~Qa#C)UaRG@a&lw3Z@?>0}nLL*21*oe;tx0mJ zXzq^PadoKtVUnAZ_v9un*jY-p(z1g(xmu%tcw!R8iCzp2AYBKsU8J1nu?NtMrJrJO zwE;g4*H^e?z4tl-il5+r#+ToS;S#)%6dT^&beGn7SoGKJcf$BT9X;RCWWnN}U&dm_ zSI9Wd{2)K|`m0_&p8g_tZRCO{ZOBq0x=b0D5$6nJT0ZsdZawlHc@{bm*`2LRydQT< z*m)t9om$q-eszFbJQS}fvJ zZhn-rNNL}8E<*Cf@t#M9K;K)Y>ch>M$^QCCg!EnGCPu#2Ue0!v-JgHCzBl2zmmAnf zT2kn@5&42;M*`YEA_H@!k>8>{awFPO{P*YRATCf+!EH#Ko{)8g+6*k+v5p>Lx5k)F z4s223)i#XENO6{QtPj;b%zU6+GQnhA^=+;S1IUn26{$h#CHu4J+N%cAyfA6jcifeu zq4~=AY2y}BA{gJk2y9ZlzK;I%D=Ho<{XxlpX;T^-fot^;{xA}h;#3KYy5w#1xh22f zgdU`lJ#bQSQ+y9?G(#uQp1pv)t(^YUtl@cv9_#|WBjFwZS=PNrGj^n}ZHqmsIZ}@W zLMhhjuFjzQ<0Q92CWhRoLtp?uC;Hxjn_>4J&m@sV(WtF|Ic*Zc~L$j93^6=;8F{^#*EHUo6;hrYrwnd~C9s<#WpBy&PhY5w&}VfPSU#;uj#m^BmPD8Od9Gj~YJ{wA!Q$~R;NTd4B2`c3?`)Dr_->JhB*T}qr|(m$xYX@+Ur>+~yyG9>`TFn&A=S5q&wqqHyOF5Wl}u>wwddAO73*Qh zhsSY%fqrtW+^nO`pMyZXcIdR%-<5JVL_u*f>|)wLev;9<-8VaFaYa1h2j#1eTga_w zAk?PY0W?9_kdU8n`zA$mhYRSCASrJ`fXuYyEAW6bivBITlE6LE{7-+;y4;k-eAe_e zc}Nk>#G?(1u^CXOS(b%$W7aS(Yu8aBZc$9y)%D+}-=oj8*8b>GIhA)zIuHM=gGB zV@4VK;qB<@oP^Q>m)Q9>aS5M<`qwXqVkK1EpMk70@*MjgG=p#Bldrtn5nJlgIK9wed|{E+B0n6@J;yg{8|gZ3Zf{Ym$V*L!&7BgTgE-_z)p;*63qh~! zjPG6?Z19@UW1p${Wl!Ie(Y2=eiJ+{4M<(4imTiPa&PQt#Bspx zUAg+`K}pZyF1eiMq43GC+h?>tpiysSP@>K5OANoP_S}GiRUw2mFC+!A6ogm3|C|ae zeH>{=%lni)ei}6DBUnh;(5cd9GH22@SRXyrr9ca7cS8$VdD+{RpKCh8IoN?&HHQGJj3bzoW0t!9R~jQth^^ zhY3HUrY4gm_Y){>b~30U#{Tte`tps}V{a1S6xej9`UWI%npwa2PJrI|^cssrID;P* z%!A$;0uLmYJ7^({HVuo_^}mQRQ2f?(^J`~|_}9)_@#E2T!+1{ir=?Q)QPd0N-9+gi zWtjV(16?t>?v~b>E|KxdjHSr&2Mpr0Dm465@j~vSN;1X5z!|liAg@*$kO(Hn-SAF3 zXUvfD03AS*KSMeXr#&-Xtu(7>E>6ZL_a_uHguuGlWgYh7P8o`yTJAf9w{S5`Cr&H* zJJ=d}67W6?O}^YKJ_NPSze5uw1&yy9OqkQ+t~b?~?@vKBMeA*+oO~zt-uSdC2Q_!@ z9xAe-t-CfG9V&`56zZF~=~U9ORlZ@PEwtV+C-=Os#cI^BLJzaFJCi>1UCL)6)aTOr zsB?XgCx;gh=qw&g_E5GM99y=+3{s%{cuQvPzb2I;k>`4t_<-?fLSBEhcLQEJr72bJ z6InD?Ny7ha771?QWoFTB+%?Im!T5>xe9X-Qi~ING$l*{dV`H1G$$udTrnB)aO-$C! z?o|?U3LZ4dD&aj3$+bl};$^)O+pZ@Fq!tlKF=?7rdOYm!0#Nt)EFDiM3)EygYZj#B zn9Yv^;<6wjFchu>g@}*j>*ZF6;SL0ndYoW*^-2s-TA&HwkZdYee= z3PK|?Evm*4F*lh>{03SxX}G;65oekty|WDm{`LO}I(eLqk-$&WgbP2KNqvKJJMRBr z6Er{RU}eN-n=$#+lbiS^5ZWg=3H}NS|9r3hkeSFM{(u~w30k`2hEjg7lCd-F!hR@K7#tWRQSfu;zfe<63%Bsf zbgUv*+7pVzf={J7%J*q$1PukI~B!psZZIEDPu@8S|0A z=ST*PVn{FeIKHIDfYG3PFi)o-kM?`!ywJC(tuB7EPh!AP_nAWMeVpo^Jo+N{XBs&3 zV+n10Kytij+j|KC38{s;yk#PTZX(G9jwmrSD+@7rFVhI6#m%R|em>QH@&kga9)pPW ziCbIrlQ>efRKGlXrSlm5S~HwZ&qS02MTKy~_TD^j@NCY45tu5Lv?Hp*L@Fz;Z=05n zYv?M!dv`(d8X^JyaJN{i@VGEkkma}T*pGWBlSWx3Ps*mN`_>6fKm&5lsLtnKD@IV- z)2Sm*BSQH}ci;Dij3M*gWM@~5f^*>bn+Q|ghN3z0Aw@F**&FduCLwNH&%ZJ~{5()( z@gIB~;Vy`O?g|NhSDFFw(egp9w=1Eal#cLJdQkEW>lTwtW%cmd@y&{`q?1CT9b_&e2P+~P5VtFESA|#b8I8Wq40YhvfY53fU9)@uuSs?p9 zfT!vrF@Ak54Wj3ye(q|_cP0ggb8bxtdVDz~vmwfl+q(6-@~-<57)>ynA z)3|P}7iGi{swi9XQ$xX_w6YK*er$r&IZ{^8QXMFU7$zDa0;Vyk7*F3k-^nM-6x`7` z0pk^X%ITr;rC6DOFrAn>zk3;CCfDykwyXX@SXmZT}I=kMp&sfxLb zGimT#lIx@wGEk1DJJP$7NriDI}GmIA>PZB?aqYXKH`B z4HDZS6$&KxQH_=g)+{wIzeen|cbqCidVKw^iTrZWX#?qAnI;pit(*9Pdt!M#+cWS@ zbt@cKJ_5~@4k>y^N*rhsf3wnU$56>#u7)}*Aon}_D}q`dbfi{*KOmct+AKuI8vzLDStU2CK^9FV?bW+y#b-qd<2W^1c% zf?HYNVW|?5X$gBRo-?}LOvQq~JrbXfxMkyy=`Gvb&CY#v0 zt#w*;J^kSF-=Eokzsrsz%8qqqC~Z7xAn%8=VKci86Cx=};>bkwBH@zjdPYVD=YO$I{LhpA`@syioSB?e?ElW}eWPoI3;U~3TGE2O$QLWCMRSWRshwB6>(} z-TO$KPNEk7TR1TReAZ{KOLI4o+FIiICQBIoxIKNWN7Wr$@Bj!^oEKeoNT<#M$NB)5 zxM#ujmi^n4U_Clp$QeFpsKR$fvN6=r=B`y`>gKdNWR&?D{Ui_)?%AJ2pA|?!MfZhr z$LClQ!nN0-vRn+7TdIz*iaIZ1oRsV94eC&kayT*6$w#!)`1w6Spy7*%5Qu?FYk@I7 zeNVzr`!}QAGMSol+DO5pSA52#O-SyMJ=4p6sj~ioNfZGy4$}o0vL3};lpZu1#<`m0 zoTK}mHJTF^DtL9UI3_SQFecIrx~Uh<0a7&(6HQ@OydbG7U5IDLz3z4occcElkZ%90 zGTB681Agf9GJ>Z>VkES54ZWGD+9W=2ZKUH#295Q;TaVhrM_-R8c-;tyz zDPu`0RHFBFgC?J^oi+!kT5Ma=)?UF)>}ISw zqbf=WJWKy&^%Tv(9WN3UbdoAbLGYea7m>J8oEn;ffSc3t`3kwtIISEbFU`0X9~9^; zAg>PzZ3`s|iKghk;h7F#J@`rv)wI$0hi}T8Snc%H?{q-HJ=n8(PMRCJ=dOKDgynMI z>!|gYRvIUZkN+NC@rV4pOe0~_PHMY<{aZC`P^|KsNhMf-M7<-E*gz^+`$bfw zPQ{wdSc^=y2eXj|>phEmMdOq?6Z1DpR|21rKWich z2Db$~g$7cHB4c_b-N>kk)%i>KW>>8kXw#pMcP^Dpa7JE7ZQv?NHCKI1R})_xl$lD_aJRyVbw36((OJAWG$rbw`A=`b zXLF~?=$2P2ion-fnGVSNZ#Dz06_-6CAs(v`GfWR1V6y&I7kC=moc|LJV$Vnwf+ZOT zQosW#<>Wn#cTJPs5^F4ESp!p=LlX3T?Yi0v8`{gD!rQa%!eKdo^8T+9`M>i}CB(@^ zgcop*6Yr-Z$fFQY2Lh6tq+GGQyesH# zZHUt^IwAMzBRo&0bmT1t_F?86Svh=y-a}j_adYt}r&n&ue z5l-j+ylvu`)Th+*WVpC6G^K#qiv2qDK{9QQY2x)u9_c{a5=~5f-EHh-p2Sbx{{aR2 zzw@^7O1w?4QG{9_m#$Qx&_Q%H#N7~ zkr@QFoD$FbE&0%{YJ;(fyxOHX4U8Jzs%pWDZZN#bBhhhwvmklXlTV#5PZ~Djdyx=k z^igkBrtS5^rNLhv_rBGDRr02jYyM1rZ#tl%*&CQK6jZ5F=nft4Fn;tw?=yX8-^+|V z< z7=zbYr6S5giLgY4AOqJHfKlO2Tm96ajhdb%3sVX3`N<4Z8oW;ApNcPdy`r$jh=XK6 z*Fls3N6T|o!Tg;=C+68ZhCqm$Go34|eB(!+BJH1c&Umd`LJE-E4>r(h;QV^JgL>lM z(uP~bPko#6P;N%D#0IcFf%q)IfLm}Mg>2&vj7jx*u)jr!eM)J&qpG8MJIK=GkJxJ zOkA7ljUW-y>HyxvMdnO7cj~ zY;F)}V2b270U3{Sw;el93Hu|P{ITdxlbgnymLZ*ZYWzoL4m26_-WN8Cp4$0eB?g5< zwM{0InS5xLM@A~ z_j)s{d^aaKG+MLdNm6l6F7hQRVIjlK3as>6d@pvqcXG0~pfL$Y20(`ktaG4#f%H8b zzZo7mJd(HVqVV*?J?MrjtaHi;+!4%hV7m7qy}#(XUC8 z;RbBoBrt9bCwIf0XgT!yYquoC1__ejh65opE1nqnC%F{OrpEO|ggy+cGb!8S(j|Lh zbqQrxbrvT5I_hZNU6S71+WP~_7Q7=STF{3GV)<4 z8>&XOeg*#)md2^713L|hXc^}vMto8U9p9a!JOWW7$qxs(9J}mnJM&8ZXNK2b4q(bV z<4;vUA*N3+=ANeVMeaU{|&+}F5%fHLH*ypPdXd$4?G8*Fk@ z?Afxgv5SXExtLJz$fF!}zLP4OOX(uy(vrFo{_Q#J$Ww7kkpfq-PIz)j=F%#6c?JjpW$v~am`C0wUcYSxLJO>ph#Lg?wIlDt3H31$2aNT zCm;O(8xBCpAL&AlrTt)VdznAr&&PS#T@1_9aXd{58^ELm(S9etw6QvV5hKdZHyED$ ztf}-;FaeT`3mQnI%3MJBs?p2HCa&MeODl>3uQ8-C^wQcVW7D`S}rGU{n!OgL)9H-PK-owp5dOkW8U}=(EoY5F# zTQ7q6PQ!y*bhzF^>X91&c#Yqa8z>gH3n5(8_t12=lph$lvnfk)N~P z`}CI`?`uEYZTJS_$5m%S))h?O?o>*jL-Il|LN&c#hB+GPC>lNLs8HkAo@E*4;#FUr znVQA6N|Q*x!Q(Zhuif7ipgd}1 zl-U^ePu*3H5->$mvah{dDX;kdc|;!&XWUdsqZ=21W2ih(UX_;v+C+MjKCG0{QoPHz zkOj$pxjj~YpIuaZ!D+uq{w@zMm2x5pkjN9>&WT%xIKRyl0` z4f_82o3GsbpLG5oRQ+{SRB_k8k0YRhpbU+aG}7JO5;HUoUD7#}(v5_Gh;#`O(jg!v zIdpf|P}1G?J##`h1QM}Wg!XaVr^ zg7-zTq?6zO`I&Kj#&tLkMIF%T|M=xJ^pJcdbM611gL(pJMkehMpnX`>eMc6@L!J!H zBDShD!z%F=R%_VPmCvOo+tyvYvEO5faOV4cnJ_WbIjwWfVW*08zq#8$7r%Xfz5ie- z&0s>?F?KRqV*B^6VRm`BC6`;znewYTyYKIP4I^;}lAqxZwLNt!Da&!^jrg_f!=a1w zFXU2nwt2uK!OSpA?uh;k+E+!gmyU%cg0CuiO%hH<$8z3S^HwI|DL+weWr+O}=ibH; z_?zr$3NRv)AsPAf=L?2LcBlm#aX>E$o}N5qsq2}h`)%?zPrY2nQUpY&;gx;Ja|{@4k+uPzvfSD*xhj;gXL|Ga%y*I~|s2Dak1>=V;nsb7GpFudjfubsYiByx;cUUQ-ftWB+Rs zIiJvc>863ih;}#wsnZaARZ&>6rQTvvDXD?%Ysu#K%_j-Z&^+cH{v3TT5Y5|Odh!LC z;C*f~3B>gU49yv1SAjV=!7GWoqodU6CI)fRYVw;g{T$jYeo^UuJC4)*{=K1lLi8gn)_Wny zFLswS&2*z-w+ssz^50u%0Z9F1LG`{Dvy7rZq!TCBXPveK8Tx%~o9@Z8_Rvn;3<8#g zI6{@#>*+?G4@GBYW>x^0?GPlMacZiA@}i=`>->xZe-74UNjZ9_d?dZG@8s{j$ae@t zNM8VI*5xk=u1jd1o20LR5WKE$dEiOb{hn0^qr|mhqhlfmYSgPe;Lq_GaxJX`f}sM% zjy2w_zjqAS)Bmq@tjJI@(e20=bE@~RyMFTg^KSX0Iws#2K#>`sv4SJpxEdIPktrBo zVPG6)rlwPfMo_A!*6bi-r{MfF^2ziFPu%O|LU#Sp=%YHfzy|bC6rQxa*@faABAChbtKTN?@B8gFV(Ai{uYPX+ZZpu@{-rf*TC#6Uot&O5vq+KOIKGq2ZSkwq zN!b@}+(+-*9R=mPdQlI#?inUg(iI zY1@!L#O*u~AY*(xH=Vx_Z`b#f*udmC1RqlI*-O&)XRCY3jhLNQ*{o=psrC%Ir03$U z5%E7PoC9PIvK@)1vn)3F>SCP)6CDPuykP-M4(R`)h^US;FPp3+$*?53=26t7cn**$ zFT<_k+us?r;XpQ+xC1FC06@Nf9OzrzT0F?htN-e-{*<~{XOs}SyP0-*{WXLU!0Cb8 z7>1^=TN$X#euG~B@v*i@xFtKUFqEW2 zFI7{mr%=N;#rlO=N`KOTZYRtqvY6aDpjKxyF8Obo)m>%`os>|;3;@QltAc3@M#Lkp z^Br;r)fjJiB;>3`j;D-mD#gnPTKU+w7V)`k7ZVlxdzx>43){Rm=l!?7#<@>FDO!YD zHameUKSAKz0$a1R;aQ}^7rwUn7Mssy^D)|vRg$4lsj!H~Lib#rMp^Y{@Uy*9u|;yk0fJ|160h?^&iz?+f!JW#lkM7+#6Ub8pB1!%r{GE9t07>- zaEX~@=%MSbsXrYnw3+N&AhOsycL#LG%{N2$cUqA~aA)Ko3^~=|3Cg$4LLzEE12f`- z|Kz~k$EyL58EuSUdo^Z#nE*cLw)a?kCc(&xL0RDGu_J&k*7;F5dwg;``vQMWe&027 z2{=6MFj7g|=mxfz&hiC9f5wV8FpW2O#N>@$xfuPw%@T7=R=Yulu%=7D=V55C>dosO z^p`<(C_X=!(B!2b^D!VXFM8HTI&{CAJjV_TlAU>mMNlbPiw6Dv#Guk=>aF?H?{$ed zf*2CuRt6MBRVQO;y+(j+K$t^*Xs%%i+x~nuH@{tK+neeyTE8%O(F{(WDMm(55zSk- zE2k)CZop4a7&g1ioo-Zr>QU#hb(xRShs=`C0XF66;tX7ivwn{8XKndpjtjq@zw%LA z1&IdneZaD&(d&Hmh3?I1u!Vz~!2Yi0{h0+@k*N2KpIfLze}#(pcg1Tnrwfbp$hB08 z*w3m<&YHi4j08@FKWyFq*kkuzqA8j6{8()3{UAAyIrtR`<~=3qkhXOlXykDyLMeT< z{&71mX>R@o&?yvy**G37uQE-$@XMtb)18BS-&pNjBR5OE>r?{U0r2(nVC;`gYZM(Z zA_pV^6ry#=aVYB>X(6IywPWWwm6e6(M!9p=6ZgQWF+#cIBK-REPU+Cd0QC~@oR(axu{vjH3MQej>k}Ij{&}U0z z^*Gkwr?8Z0w{Ei3(ZVw9Iprr4=pV-nhW3B_voyxl6Tq2T{(TFT!O6N9no2w12CS!%46utb8*)^y?);1F*|uImZ|>FXmlC(r()FIJ*I7bFa=yN{LT^}{WA zS+W3ELF%(Dj9lfeOPEP-S@ zZ3YmS^oR^3iuFZH^0h${xoiLM$A59E*_j716*&bWdzJI-rk9Hz$V8YcRD1XBPYENG z)L+uRxmiScVp_TQf}_@y{{aAQM4 zPIPW1R7+88MAjjH)a=g8BGuhd(7<~!%z6KutoGr8t&}JW(&zjaCQi1ALB!tgSr&r-Q z%zeAN5P#;wz7kL<6*y_vZAg9Y`{H;zW{;4HejZ^<75n-3H9DowRH^=-ghVt3O>1KN zsDMp$oNBH+!)5OQ+gds3x@-{ae^~%3zBbcWff4|hs)?`rW7hNDw8cG39{yppw{sj^ zKPp2wNLS?eP~QK?4uS&4-Xr7lGXrQ;CP9VT*f?Gz!2_3|)*|)Rz0b!Zme`_iv%C-L zVeV36Nc!;VQ;ttky2Q?(KOf5ne%|%HT>KOARPdG4RC=MhFV6;0HT&Z>s8jZ!p`+ZX zJa0HE4Tvx`STv~jN{y3r$LaZML{>Ktv&}qI}zhWtn}|_QB+g^lRle8d~a8Y6b)9k z4Hh-lDMIA;65PJeJ)6ED+}i=|xy18ZbosJP0-v^0uoS5z>F&Tc#;y+!`NHvk<;e3g@d&+NvRnxD! zp)Ngm;dp@7retls;q?f-1NI{Iz-ziORr3}AQ+siB13xcyn!N@d%&T2Ii=Og+b7rSN zgM`Bl#0jl)$YT;`pO4^n0O2Nq!$U|(6hXmhq2<)-=QrZ?);V`bPI*kfE<^R4(>UM) zDiIzD;m4oG8A#6$dbac%8aqy^cQaEa)N`{LPS>Z2hH+82rUVfPv`COZ7@~%wKL{ z!haY14sRcueW&Vg59&A4y)Xara6a<=9-gyE`0MYTc(-Q!vpR$*gkfQLL>%z%W$U@DQ_%?459QNP+|O})NqmbM<_x>rbN#saHTWGh&uK7Aw0 zP~t00C)^tkaoCib*M+~x#;nB5#%wFp+%gOYrynvzn9qA$FhSyFDGjl(re#?fEnpci zX}RIiKVF4&Wt;_dda&T1B^}Uq=@L*zwJrv@da&VSAdMqirmBP)!Sk}K{LY7o(GTCD zQ2o4Iat|*}XWw6KZYw~>wO~jNCB_vNm}cj@9OC`vNzg}QSSR5imN&4dwrG&$xB+av zorZK^zhjKr&|r64^4yYJ$ZI;3cs!LzE3@!4=IeHk+DZ)h8mer>61;~j(6omuA^i+N zH29xH3Umwx`s~Xac8WZsT7tix1J7%GS$a@RnpbAJleP#a&_VcyD}xc}NlSqew3xHs z5Q47k-rvEBsRk9U<7amGSgBma!fK@@X^}p42hal%_SjZy)O^A}cGO_A_+a?(Dva z6a+*0R?R+>@a6dNGG!6U1c?>t8sk9yoI?{sjzbt@QcJ>GN9b|%1g%d=;bO9E4!HM+Bi7KKa?K+d(FQ$dy zVY3Vii_Rb0ES?KcKa<3^j>y)mWlnLpt*1OTbKW;aQM#kNY4r-d;+UkGsE6=v30FE& z9e)}2XnpVSvC08e;}Ov1VSeNd(H z+)nz!E?EaJ_&ox3BLr(%tIQ39INcah=T8BIQ9NC{?t-w`0pW0&L!x==g)m-Oz(9K9 zIC6E-4H3b(ImqN1G(jsI(#nn-H1iG+Gp&B#u<{O=J?z6AH5XQ{aG5<39!AUJgT96h zBzP^a34DzI_r3(Jhy)rhbqKA{jwGQ$Sh(QW=J!57d;MbvME|1c! zaZ2M{oCIi-8NP-#-cAJz+rs0BOvn42v&1KE}@C8&kGZb`Kf03soPckbH#8M5G|Dh|&bYe<|xJqX&_rdng|P zS7{h-dPA7|UnsB5>wT45@=s8`TCc|l!~IVEx|g^tp-326tmj0rD@74=ENy)9?A`@d9i5+>z9|!luX)eDd>~AOZ45x=X)M)e|CTHa0S8s4 z(aEigmQPq2HoS_a6FQ91>zNI8|e6969b^pHTr$1}Qzm}Lw zZ`~g@lV&B0b}N4s7r2@WKo~v@cAX0kRTh!uzpUto?*ujfhSnweI1YjT*R8I{sP^_r zX;MpflFxdB<~SN}u+p(|(K^<>!bOiV2FV^a3_b37y=;^R?jxh6mdrnOv#vT&iVLN; z5LF!g4)K1-N(kY%xi(t`VF(64I`eYj?1Be;EUWes7t2Pno8aR+Y30*&kZZN9np1s< zsjqrn$0{D9lw9x+kWTebz}v*P%h2fuP!S!gy1blyZp9Cdm#wrOnwyI~Yst@uu{l9%P*5gRXV29{uk`i5^e#-!3dyEk z8~!r4KZ_poA-cgu$55B~@eTc2dqt$mvz@|LI4&dB1dz{alPa9{2 z4|hoVF`HuaCrRA=l!)}pkD}LfXgqK*GvPubc9hY?1fNC7fnZJ`6w8~9tdqJwrh~3P zERzF)X3@_YGZ|N>x)E@ysY{}LYerP$QlyvnJyv`Anw91GD00=R;0u}-Q5pzezozQf zh3*#rVPMO{Zi^%THPGv!MyT_B9H`L9e7Seh&w-PKcwJQOUPrq7i-Ov@D5l~|J2N*2 zpi@Yxej8ZssdK7vH<(%dk6omHnEJV@`1QJB-+*Pe!Qr(1P42691hT{gZSR0mt$**; z3K=`PA@_~&0uNw~vUGNQxc?}Wr_-1t{8`Eu3#SoMoETwlz~Jx!vf>UqC}R2bA#ODrLBuI24cox zVioMq8BNTVGA~k_5c>Wyo!s&%QpNyx7H+GdC7uMi!2TdmwQPs6nj-z8a7kAn)Q1~VFS<6f3}}hE zn~~n4RZFhy69Tdcg{IzM;%AQ7CNK&q-bTQU!ib?Zuypy!SDy1zH=i>#ez0yxtL+!O zg~W=z*2ov?C9LeLUg46#Q6!1%@$?Ia6_EiVn4{4@S~bC#61rqO`!XafQEtC+)0~q; z&qglHibqw6T=32+6v{oNiE92>f~SB+#+nA7$55sd&x52aN_~NKc2g_)u!W#)v)oY ziq`fy+c-;i{RyV%Z-J>dIOj_HTcXA+@Ep~^h_dbGdQ~#LVWyBu)N&8PiPK6KBMg7J zM!EUWn(+z}La8>~HKNcw;+zHQ7T3pWmzG7I4d3ggOZYib)dfF{rCBP_lPGtlwa|lvlak7g?!{Q z6}8JTIgQq;S+|Ov$~;7rBl9VISQvjxD^ndOE*#3YpIh|fv$CEcW*~PX*C<1oqk9*m zcvrN4e{ZIe_CP=8GDPqMumjm^m{uB;C!7l(yl1&*)k>-2Q;V5}Z&6lOf^IACIvT#E z+&c%#pl|w0H#J^EHd0=1N4;UlSN1-sQTezeZi)Io&()V6s2Z3TLvAOp3kozd7n0cp zi>avtenb)wNv%~W=txJ3MyU`C?^0*M`OU&F-iN-C%>)Hiams*YGwIZA1WUqenXmZG z#xFo=H#NpQC96dF(%-Q>i>-YOoNa4gXUMmJxtK2tg{e_H&kOzQ{}LkJ$FX>64bTz8 zQV|Bv+$izVYVB3Y2vmH>H%niD#6f|rxT!>n)-Ns_!=Rn+a#_@tPcds$A z$9hmRm_y3(Ra=Gsw>;G8L5aC=gW~E~3r#2=)4QvG*0?`|@9$9km(3}^ztVFZ_+)OB zCW!*Em=>^n*{s@Q|31O)&ub(~Cjhgz(`sBMv!)e%Ybwn)e z!jVa0+?7THk0N(g?Fz@M^2eKU=lJ3m=JvFHxF)adveJ`rUq+RODsi@&u@)eoJK93) zWY-Q05N~q^tR!w{F{R>hz58I*E+Xp~Pbcdb>y{@|`q0FO{xGA0r-%_KIr5O_lrznO z1}}B~0)FKM10D{2oJyW3FehCm&O#q7K9#U0=w0_p((dZ(LYBX`i-!;lL!m+W1vuj8 zT_)3V@WO%psS7#zoZ!x{pO*6zO;c-57^oPqACUN`YRwAJGHMg^Jg7p^n%^Xh(!EBV z$hZ=53kZ40QStq;uB5V4Kk0a8nSd4c8n2Zw*6yNvB8J;i%<}dNr@xiA)&KW!+ABrB z(5s9f^DBbqf6lu4ckFFECU*j%``SLokV_ds5&Bl+ot!S!Xk~?)G&)lV=$Srn!gPC? zs!tH4(+!N!(BMre`$h&=YbS!|=}$~%WmyaSBEV3wPz%j)_H<=8wd&}RiSTZ%aD_8P ziRfnBCYQ%PcV{0P4B4uu->fxbXzBYI>W3X1p!^QsN2+c5`S-~tJbwwB;UA||*hlia z#H?tYNoBz@-^r9zbyEK&P_E=?vFy)R;W@;a7<{RdgR2+qQO6Mu#{H?ts3219KZ2`} zFB6-(kYO$D>V5reTzSi88J1=}ITmWNB*cYb?Y>!IP+&h8$k{_>m7h$Feb(RNfj@4} zY)XHrIaC?au4K^=qOIt;$(G5sa6!b3+s_bHzCet~P}%D0Hc9;?QTJz^ck;SD=?Ze~ z*KvxJR+Q-|8`Y*Gn%uxF8|$#S(5Sh}=R6Nw8Yjthfbr;UY9mZFZTs4uh`ki#U1aZ|)%-lq?6)2p&Wg>C zh2av?l0v*g3rn*BEL8ek=*2xS(!x|HEaqi>f}D`)d6n+^O}cRN@wQv(>l$>jr3?q( zUCR(Rl_Rxkh9&KwoQHMQ2fF)*!$-fDR@{}Cf~RZJ5R7#mOnvX2nsqy8$N%0eyme=g+&fvyMoEB~;o4=U>IlaLB2@(s(Cs-}-pf6LVkuOMW7lSlJW|E>8yoylCt_*SG zWq%h+61ojGXKIGSnvPZ5anSb3e>7GQjPXusWZi7^g<0TYwQG75?|hS9sc%-@gftajgxsg_IB_LMqn zN4x;ak2D#mEyjm71&+`fZPR!HCz>maXVY><;SgBvNjuk&UX)G_xu=1`n&eM;XBlg( z?=Lea)&$dpBe)i@Ef#sXMZfDTZ%OL%Q51gyE0eJarbVIzp#<-z>%sCmO2ecKAp2c+ zZG=pXbtBJ$+jLk>-bOW29;ds|WMZR5r{I-YmqOC~0Q9OtdgcOy4qoY5T>mh?0(P4( zX9023%2OMlX7zOK6Vmdr=bkf1c+3}YvbCFdgF9d5uQ zih=$~Tr{b?Nb9ZfP;E+VNUo#!Z;@SBfIm~*$>6wzt3Z(gk=Pw@`-fZg3d+mwMwJa> z#FRrb{mH~@V^{?tU_)oDt;A`sVB8CF({fi+aDnh1hMDAK6e(lr_0SJ|NaA%V`F!)7 z4n=V*lh#l>BKdTfO%wIN7o8NL21=){3ow;C8$KH31DLwvb5n~ zTk{`pSn{8o(^e|-3_8Tk8yJCpB*WO(E4xbEN9AGeFOM17l`ZPtK6K=P(hzef0v0*a z>dm0^nJ+{+87_R!J{_00eYIqIts-Ns5#X%*xpcwm(d`V@U7&sYMy>4N+y>*je}?4| z|6++VZ^sG^&PZjVsn>}IUdxZIn~600zSF|Fwd=R~{#1_NLyHS{R>Pzgb?~O7H^f2Y z;jz5S+W?%WJ*4do5pQX}EvG#~7@Pni(I>pjw>2-ix5zdJ+V>enGa>iTUkRF%ljT14 zMd!8|wrLZ^kzjasFM?#s9?GH}3^M0C1Lg%B@X4x`kYtzDP-4iAE$^gI;w3HOdnp<$ zKD~e7lf~3^YTx~!2L*Ar3v=Uc!sYwv%CB^rs>S_}H^z^}bMTTs*VwepI7C8qU1rhz z(^{AJsk_$`>Mb|vN7q+CcSs1)d7NVOYHZk-F_YwATwA#k2`9#fXU}GmNlyb}QeM-G zK_r@M^g+c&wJ|YeXuA8qHL{5l4HaSgHndY>JL$*itpB5I!)=+!Q`s?jqNr-h9K2xd z3#Kg+mr)YLx2Z~hTS(kg>uZ^Ld9pPJSOwR=JS7a-zR^G^uQ|CiC=o1EH>@c6dXoP> zrYGH}x|k=Lk7!{=@Hsle5K~C%H$L3?4Jk3>&6zGeJK0F0GVfr#k{ddceaVHLHxmP{ zco}ru4slqE5M93BE5+%2BRAl_z~xP`#bL*IAA6e089qEs0M`oUF46^e`dy3>ZRAkt zSIT;_r!{B|gTJ5T*pz+l_-PaRY!pXq`@36DDvTw>x|?GhkLuwWLg^Lj0M)0W!mUb4 zDt0AE%cXaV0JV|Il7ykrD?t?@)ZyCrq756T{23XfIbOt&uFn{N;tUF(sTU;3{$3q> z@tY$-Q}>AZFv~szWvZ@w^@Sp{{xcOFzvhdC=e`zCJ~TWO5vgsE$d6C5yy*zaPcL$C zu`klCcJ8J5ckC9i(hJ9yftw@>;}My`6Q!zc1y*0p6|@Kl4KnCxmMI%GFIBC)XXi;f zcWIp1O1%t`{UV6okY4w=Kul!jY z{2Le0ncrn7VZ?Bm4D&z0&w8iN?_|3}Mr{j9f{<3fDnJDa`Q@iRGpj>sC~C33@|%u&kdt{hIp z^acL(6%WXsf@OAr=mrz6bA7!z5sSrC9X*0_vWRfZZBbk3fXNKsv63~OK7<;cC-8S0 zjM>k+gcVK;WvnIBkGa_LYN<$0W1YG9u$6hq)v@9e1qK?kV1Neh{Zl!Uuq0AX5sHiF z<_nxigDV$x_yxa`X@ZC#sY^PY=I&pEJYPJy+4x%>NI1uu@C0+dFD!OoqpFG{cD!!T;hBb>ymZ4??g_?Fti#|6 zXGnJAOE4GC@Z3z<1`?EoL@BUF)(}uu!Co1cxdkCr{yU+Bd6q+t@@0H@{*L=Vr*I); zH<7!0d+N0skS7Oh-~}v8qG1@aUj$@b$Ltp}i`@GV$_Lg}P&Hy>ADH-phToh`LFhlX zezrfd*Rum!??6{4d)}@!7^|{Ci5)R)Fjp>PU-V+AG!kr;;jSainZmp}7Ot-YS$J%~ zL+xZSI*ttC(~B7olVi|HhRb$blX3HZ*73AMM)0bcP4n{VA?TN3WNP{Gi# zY?*M1HRV;k&w@ejnp`T(JDOqlx#?T(bh%yrHH7-dq%@$?pP90M&Hh%{OVcyM8A{S3 z`PcELL22^z{Gk@(;qd%0GDD*D9InY9v!FD(ccarsAV;^C{rPRMeg@Wz8PyhDduHj} zaXVPEfo3{=bk|tVjN%&Xd($^TB0}7sCzWROMYiup(Yk-g+;)64Hr&n#8;!R;qOvtfO~t;m!gK7zJ}j6^g`ryh(RDgBl8z>1v*xb@m9 z*XulsofICg8LqUwJ`oz$`dHh&ss^!mlHKHA!IzJT-)oW z!Frlk7R7JP4yw}tsFX4ImvqSw+f;jFK6%X=h_^ z_lOL%SwHCqm!w&`)U$nj-+kXsFN9UNQCpzjU1g=J3dHgkLNsNaZ560;xG(d`%cD@v z&_8xZI#X*>Ojmu~+HL;tRk@NW+iEsW_i^`ow*>XGO5?kMg0cL@1Ibg2V>E|Qs+Dk7 z?3W$Uklj1>d4hBXG68|EIMWe)hi!Vjo|8ys3zi)DdEEs}Cm}uvYe8I$`b$Te$Zt2f z%U?h6qKv3`zEsWyrOuRlAhbxgc!;FqOA>NQX@2lK;I`N#%MpR=hC|;HZso-5P)5!5 zRpCqIhzJ0Lv^-giQWB-d?WFR3VUoRunPCAcYpl>=*`-P)>X+vD~>|_(6 zRmE)C47?YV6)MHB4fvrkFAF@-rzb%7QYBDYLIK@6(vySE}KC<*h)%p4L};d$Y< zrLU@xyxG2QS`y@Mk6-J3*2Z^8C@-9J&0bQ8aHZ3E-L|U;-}+DNt-xfnTC--ZSWito zKSuUTDJ%ad<>9UeJRfM(_?7L}Wr`KPWbN)NG<hHwNVv zQjoEX|6ZZ3V&5fwFLp20P&6|x%vHtMGVb@ba%K45#kHwb{&KD>+Md4JtID4Q>Avkq za@EjfHC3%7I8h%L2lhVg!g^-=OIzVt2HZLr;(Bjn#>^VSS9!-k;h>1{7Tz%^=nDe6 zEoc#W!aQxjfnF?a&1_kN1&k6)SoyQlM0!Vm_AY|K_+wB9;B zUN~K=(R7X5YwBucM;CqK)olEY8&u?Ox%1Nta>_@-o~57*Z`FGixR;sOmtMuE!ZNM) z>Rl}1J8jX_!f0}*FD~gFAC7&l20Q^_JzsXA$MYU7_Qtm~FCbQJng?H~PT>u`m;w_i z`EJ7&R(<_CA2z%>HUH|wWC4gm{7775tFpo!Kf&4iRJ%75{yj33+}SBRw_fdSeO*3F zh5tyZ#iA-6GMd+F3tb9XQqYvQ_6B4xWvjy5DeY$fDtEveS;5+s1JE%P*q+;&wqk z(31#{>i7NXk+ZHh^~3LQeBiX^Eyg>vYD96!1RH!0QvCq*5Lrz_WzD9318H-KDXUYB zmt*roC|@6nHj4Mb9+3S=@Z?G98JBL${$BB`x?;2wkGVNRi+*VZcNBp|p$wlB*pnkCjCx)gu!>8WI;;T>o2{at0Ox$6jhGnA~$j=1u01*TMC6cC2tE(J_2Hh>7pP#QwYb%eL7%>gdFDh_ZD!$`+8l{j`+M{RjZD7w-st`=q1M z;Nr}eQYfdwh@F9n!|}|EYRvXdD;hb?h>^U1*Vo#kEJ51kgwjng^ zITXT>yzNknxq1WS?Co^6{J@*+k-r9SGd>xx0)AufR5QchC)h07T$S3yrPs~IJn0uf z|y( zkAWbhpGk$4OvT_MB~WYC(!%2&Vs~4LX|aoFjyo59qsWtqh$&B-TXY-Ln}B<*cf6&EFikhJ9B#6Y?EU{P_P?L@2P1>0Y4hWy zAcg0+92`l;e%EfDv=>9wPc1zw>}TQFCKl?Z4Gg$%`U8XhI4;h8qgUn&;E}e`CSkhl zKL((cjrCX%74WiByKju{P+vqcPbr<{eEYZWa4W+M9WXG=)ptFD+?HbBFik_efaf4F zDG)-ezuCTU(pDdX3^`*-?F3qzaZATBA9?>2vsgq4EX50XXw@uym>>9ZCE$N5fd49C z*%<$o7XRj{pLWBXLt3oofH}jN;e(WEd!Qo!5)dowwz3tUh_oQMJnU8VbAjjlq(ogq zz5wBviSsEA%_Gy?^QUfN|Gj)?$dC`M$7SVHC8AbY{-$0xPl=fX&)dLpg%$Sg?S&(X zD5PGBOjZiizy6UtlFr)`h9X*c3+=&d)kxsD2TX;>iq0X_7=OMKll_mAZUb3r3^+i zZSs{z+-B`^LkoxACdO{0KREy{t(&G4l3&g1^c*&h!`0G;1_AlX14i00ifEsa@|7vPouo7{U6B}GmoQYTi0+|`<)=T~>cKaOPDuAK5ZjxrW)yJt>HQ8seVlR~%S z<7zY&I>6E#@&{t~=~cqg-N1_1UA0AjqUGzW!FA?N)+md9VRSm#$!)wu8R*J)t3HvF z9$H4YU|Ny5^u9%s;gsmWZQ-KsQECFCZXq`V$ZHWZiYmw=2|tH5@#_YO&c@p0xvKAu z=JwgRs#Ak1EZsYujj4EJ)^CHwSZLLVD?(~E$FfRzZ!H}upRSnewEzjnh%>Y;a zwU5Wgn72`6))4>OKmKV@OC@A!${3z^CwUA+x}E22p+aV(ZujTY0{zFjyeYRIeoK(Gh3<=$xF*JMR0Iui>n@9(lkeX@oPRuO-GUnC85P*si(tHo$D9O@lre*y(q4(4AgWRqg zH`fMx&7TT0W*U}CN+RuOaT$a01}|$2M^V{SddRu7b(GGU?Th$AM0@q03K!BpZp`7% zrK713_D^FHQAU(^M+&*F9Ce)c2isP%#eOONsL%qCCM~1ok3O3+9dJDbYZ{5*W{7*2 zO+iK?(%%gR;RyQemj20?xF44QL%9-$L)#AB&?Xo7h0s)49WsHuI0HK74GUxK>|=?Q z7)#%VIkrbEFb;1LIu!bCMcuR!qP)zr&fmuxxKStS16gqCXEP;iMV1L{Dx75HbI3u|7=Tqoh?@WbA4YG(yHLI@5nOLe{u)Sg|8 ztJ4FrTBbGs*yrn-6XcYkG;YUx8+9Kxl+FTwY1AIbjNBk6OIg2>jSzEsnKyJZO$YAf zX(clym)e~SndjHBrQvjZ=Hr){mj@9Xt@U0 zZ*Sg68!G>n`Ty0!)hZ@&&v-ipRuhZssL=VH7LuFKCpik7d^h@S(iX(!Yn-%#UxZ5A zVkpp;hQ3JQZfm6_6w>HNl)Yl>6A{t)_}*%VA@)3GVqBN}eH?tO)K*Mydw)AJPk%Rq z6i&rTjUJk(aW?53KQ6>IqmGe@!6}~K>}=z%6fF!leqFY)OQLK(NA%|M8y*S-Ml9-Ef%cu={#{8 zD=f(GwwA0?8cz@zjBZVMZgVaUl?t%8d0#s0NF&4(M1h3oP_HR<>AGo4PLd;>@uZazGir6ioLJ7||HXbY+V|F!T1fI&2 zlmfGSVB6s%%)vZgb|@ib8H4jnYY-?2|1!?1LHjuF(}(ak*lzt1&=2S;UD8pvlAK2_ zl1BzaU8NZ15`Y2#Zz@37UYe6_cqe&2O&M}mz~Q^CJPJnwf-&31w#E)VxK}c)y{0|T z;4@uC708d<5*zUT2&7B!;qwO1xx)D?D$7mY3o!qoM!L}O9|d1jF;$a@p0ZZ?G%WqKQuY~x71+ZHtK-bw- zo=F+@f;1e?Eh{chQC(O`+(>D%+9WE7_0njTSP6yVl?WKgfWBer%aCZ~+fsM_i!w0H z%RQW&qg{PhZ z#4OE(OY?z`G%9U7B;RA0V3%xR4n*7+j2nVd;sGs+kYa5qGlxw;+8rX>*bq9kVNxb$ zDXh2!+rTFBzYyIz1{Q%gw;)jvP6Zvcqb9_Me}%hS1AJGd%1U0solkmI8b9-HWaA_N zH!7n6|A1T9-t1_|Q`H?3e~#3eiO2?@d~pj8)$H__MyF3yEtbajJt3#Q;S}@*WHQsD zFVXXnbnwCbofnszXn-b>ok)Dr#gpuq4-3rsYrZJLuW!n{B5N3a8-B^`7|?{%kIIrW z;&vHvY8L6eW9W0-$tHmx4n=p7*i1I3iFvR4A%v|=*W$9|)e6^P#I&>GM~3Qg4$HhVsiK zq5ZAZLiTVq*i(ad<{5TTQpD3b;^eYgD%ZZRggM2u*=2^OB;nHdDjrVEjrBm{7VY!2 zyJa0M*GxC_M$_p~n#Mr8(hFr8%Ou@rv=Y=7dC2HaH(gq~x>5B=V zbLVlI0KPJR%}(kdELd?keMs7f8=Azk8|=6B9L_l61KPZG!L zw=zYFPY2E!`*DN&x#BnV?Gfakx+>V)zJ+fUBm}HOiH{$;n4_=6$HfZb4H<_Yk*m$1 zsVjrjA?~lWmH*mquyKj=!~dpSc4|db74#uUV8l^_h2ly1 zMH0)mhu~@M<&uTw|K=lD37#~LPQJVOGi?;#d^_lr%fk1Gp;?6}X5{^gY3^SBRkK9; z{2W)$_B==6^DnlTVFUa4-h5l-ul;3D4aA~hy=rQfi(y)L;h_2-GsE zuh*CDT`XKX-YJC*n$H{W9!K5*IHr}HVU=1K5CdEyFs+{ahBDMzNu3$a%v$}clenFRL$)H1v`6fOi!l$s zxlNGO!^qayjH}wNL4%3Jnw*&B$LdE z{|4qXRiYb@p|;p3*)m5wg;hs3nD1CqT38!V({cT+qAu03tFmy;M8Z)YI|z3?Ifn8$ z(quARZ9r1{m9wa!NGW+Riy6ZdbUj>G^rN#pocdrmGckEGMoJ>$7V~r)9&|0}|By+w zW5U(rjTuFf$+aLB@#xWx$q4`3UQ|{FU#>tKJ+K8F%c51$4cLAPAhr-ha^=i1J3 z|HvR(DUQj}BN`+#YC$&KxjU{hT6zXilEyownudX0_?)pNUtOM=Ty@8$X& zrlt{lYF@<;Qbke(wsfI(k)KrHMl?j@i16+S3TaK;vk$%7a^CxZOY{-mOxC$EFs?RJwB%j7IK1R`6+L;-i9|KCKV6YW*+V}cWo%Tse&RBm6zL$Kqv+i?7$@~c3oZ-o+q z67{p?wy`Cu7zxT~AGFDq`|2&&o(Op}y8o>6kY;sLiJXV=f4dw1sflMaF@P3Fx5zQt zJ;FO7@r}=6BW}8gEKx6eXo99`i0owsl+{K+T0_(N+e$V1s0}Rc^4|~Myb9+RSZ^K7 zSAkecP<$d};EQy}i##j5O2wdfc>WXCFY6f{KQ5JzwU%@o zJX@VDTz)J{@YKxa*;5=L#oHc2HG|P^+*E0MGmZjv+%#d~hOrKUPiMHX>_lbDy}*CA zB!d!#YUZ~=wF&>B2h^v3w@@zwSlYh5Ri%g}BqGve~^VtDZE<`n~ql-89^$LL-6FXs2)fHpjvy5NP%CwsrrcxoF2(YBT z^;J;`Zrsb&=QyfoO_3@FsX;>3=%g^>-o?OlX{4pTm3^0Azu;%JuqK!m(xu`;Gpze- z8j%|&q>B1gq0HeX^1)j1T-sg(66-0I$UH<<#>o~>)_2S(CJ##)0;>vLrn`l!oMr&+ z_yb?`s{YqJW^v*B8ZjGghmDB;kG-=Difh}}Htqz61QH1D5F|K+;F8AO13?;h5-hj| zcXxMpcMmiKcL>3QJAAA6J^Spl@45Ha_v==j>aNsE)6l)voNLM$@B0k@j%*jezZ%RV zN(GmOhc^tI{-64B;NX%9uHI6sv*l#}sfp&{Jn)^I`qQt1-Jc{j<_sLKLa9#7c4Gw~ z%x{AmL5)MqySs9-L>9Yo{&-a>wH3B$J$dD}ZTr#EDhVnDm6p+T_;7^XapmYE6nYyO zOv(MWc_gpoM3oYe-kywR+B2op)0;q?nNn);xSKsS1$Ms@D>71&3s16GNtC#XhbzI_ z_tI!`PGULCf0O!7QD9S={H*Ob+3}!$u;YfUwpc%r$FX zicymDtP{>M6Y-u>qkzKl)Zcfz<-H;2yYTB&LBKeU4puA}rr^POEx;6hE@GM2U5hd! z`Gk|wA3!N7h1MngWnF@sio1DT#B!?Zkvv$DFJK0^KC$!!K6qjNjefaQQNb7D)!z&~ z#B?b*nJ4krulO&?cfAJ$IR%AB%*POZeuAT^bipy$b2Nca{*eZ(9${H*ff|s=;8LA^v(tU-XH1EetRz@(Z#Ab4cw#`=x8{62)STnf+_Yt{CC zbB8Kj&CO;&|HwQ1*Rn+T0XUNfn%`pG#O5SD-IYv_ z4%+G)b@V6E{fL@3zt@b`h00h^X&b%fx1`eR-~HQ6gDok5Lh=)_8q9CV6eWZCC-RvkA_{wh8@p^$0;_>#?4Imy$yA)jO)YNZb z1h)K3cPLQU4E=z$R*eaWZ#!1`$b+cKOZ~je#)DDUW!Y(RbBH#>a<&)o({VYpQT}`` zPyz{SK|OS>+i`6hX_pmy<%P<}_}ZKB3-Ca|qVj4#KU!7Mx(pG=l(gC2?hzVb*&~#z z@{`r2ENm!ElaRzoMxw;Z0@qR^6uhc787_C^-{zk!0MgK6Cc|tg&jha596P%LbA6x9 z*w1C{uJvHaBa^!R@;S9N{il2FUk}`bU_(J}kAlgz0gGHqarHK>j2Bk(iMI{r&Mk-9 zQ?{#@oLqAW{Q*c*bHBX|>4qG^pLleZLXx(e2~q+E_#l-c(O7h3&!c`%PsT{JxGI|- zpHA0Uifc97XVjXnK1>xqT*mZG!Gb&PmQ1_9eD3+{Lj3cJ00%U{MFF!jteF0}*D(0| z!5c<6G`2(Fw)k(a|M}kwY+xeAl58;iU*7Q=jxgo^`QN(KpHUm&#c7F7LuD(v<;Z`m zrT*=GeKhaj|F@5>!vQ{;M27o+{c=@96aVsAfBW0QR?u!8FopTIx#eHptzmh}@#i`I z_b;G80<>IRmZRu@|G}TX0Gu+$-#+eN{_uZJ`QO|6|9C4K4rb8&$pZNIllxC6|CiqX z=UwrCyv6@dwK5a2GCR`Wb_V}tf&H(43w^zqQ}!}{asBJ8@UO={UO;1^{BJ|ue+J=y zpZNYW@BHf>|DUP$&q436QR6?Wi@%L0|5;G|?Q;CFjQsyuLkcJ0EY+Z3U`FJ2Wvz1x zuqR7MNx}it^0g+t$SZ}ZLgYq*C^}%aOo=>fIUzx z$q^6SSR_+?r6IA3kk4;Qa@t1%;z&Q5PiYk6(Okqw)|hNEl2mUADsaqS~e zEhROKWsz&W)%M%f)62_c?a&a=zdtXLfK4CaZK3{h(=^0_^iPdDj9x0FQOgp_+G>>>i)*#JYdUTc{ZFeM zZ#Pz;lcL+&+~H5V?W`#v+>ny=JYa&Qin1>8yXCX){f=_jw}J$6avG~JM{v!hM!etx zu*6>GVS7^{5S+vkbBvIqy!EGiOXd@~!51}x8=`Ix7wTg6o)b;IwK9g`b|PNpT#&+| zkcq3$()r^$RYFrG5Y`AgV|Ap~l;2I&EC~BKWA>_~h~=WeerCAV_3a2l`O4p8WB<68 zYkE?EidSG|+KT@cQZE#rM!x6h>?o5tnJqA&Enm*}JDJO7ksdZ5+nlP-PuN$g2lt1>M{++Zlfj}m6{~c@WVep8Gfr*(14dFpa zfR48tL>-CsHmmKj1tn@_GN$QYOx%A8UKGiPk-0e2Z~cWz0>+CvJRn3uspJ<+jyQc3 zvpw1Qx~ro~sQV%8vuqBoLnR7BsZaNU6rn_8EzUQ7!nbeeK7xfuGW~KN+g}yQ%YI$G zthKuPS!=v6fvQ2GygJSdmfC=P?{p3Z!IN)fUVTT}d2L1KN0#(@{Ve{|R4k!O1>n#X z>7ELywH&HGG2XQwqiA4aR$XanK!E;Kk|;MazpKIli!=q5j3t+`8$1Hi#zfNJUdWtR zbv36K6<-C(HMY;avD{zl+7D5Gf!qjwgEqqX)5O!wyIqittFo24{r$Q%Wy$L1)9lLLkU^9yz$D7=xGm|Bq0Ml&FPYIPr-6g!Gp9lUUhMgZ{$uqvp*-Ji z?l}O#W)<8b#{xHnqyJNR1T5`F!-Z!LiksBpgvn2(-bX!7F<)_(`tk+Zf@EHiXbHr$B<1_PVoCyrn}q$?I~Gw&s2;zuJ#?NE0jQ6TFkQT~NPi2X9x;fM=>z z!P}>*;EQ4pL(Mu@x-tzGav7p2dK@NXn294#oeVi;R-J4)ohPG7=cqZ_SzZ zm>__EOZEY(_wAW+E}wOnQB?EViT@5V_F#bEw?2hiH=LOE=$ zwZ{_2^9a^0hxN8@Zv7nTY&+;TcO6f6ybV>6m;%6vky_jG=;rE_HoCUZ4ZLTtt6BV9=B~i^nUL6fRjlx}Vhz5sSPPOPCk;ck4BaghIoxp( zCQ+s-@fv)3=U(#_)t8%%mdQM$lY^*y;c0l~t|7|Qd6u6)Q~5NJ+W&qZ5^8Tt(H;v~ zLiw=G;K#TF=)cDNETs8|tQ`-(FPx3YUAU(@FMxLe4p0UJag9OpfVOmZ7%cCU(?fj( zHHqD*xM&WPU2l>-eRka>Sxxi=82Q{0o1X4~I*lh>IY#P%5yca**M+@aYjR?WgVK!i z0W>h*@d7n~T<^#jfA@5cdbJN6er*P@L>5&mi+Q5Q{~C;us<%w;6ZJBf!cV4pNgn^2 zC#os{%{N_4Ae*$zXcyn-!{+ntB#`wdjgwS-2zV#l3Ow?Y9}*8&=VAp9bnHa4ZA4lKs_&beKT|DCfZrGlSUy;QEX8w@u7z>vu^!7t)_6H-5@Lg&taX~ajdfy=s_c9X; zKLs|ccW>Gr?Hh^=*`?jcjv#p1ZMIC85)(hyx1FvF0kl zTnd){3AdFqipc98vPWAFwPk$MfIf_q5kSPjeL!yNddwg8^|s(^@@vjC09v>U2*=YD z--txs0vO+yERMYWkf-~Jr(CGOG<2fVjf`GD>aU&nfhSybot=3gOjTsJs#R^J34<76 zU1pqy4VPMDGR}vV0&O@&qg@)h#>+5zwMm1o8BB?sJxleN;DPu>$mLi=ZhP52#H%zp zz-1*#;`Ue$Y+$6tSxfB{Zk?d3q_4HWmKs0w);h_@lQki9k$sG&K?nV&I{m0tr=z?= zqcpF9wrtv!2{%Md>bDjPV?iGHH8bgMj4k!LG@-KZp4(15|5Q9?Lq4XcHl!A=T@BZ8C0NkQ=k>!>IiEwC`9F>K()RSHEDOck0Gkj!Ph_*rlHLA&l?u389l z*vWdb)2hhL(rwS+vXQz3f2~E^I3Z85&zSf{bl;Rg!KqxZV72*F@LDo=wlgY5x%G_m z<|suDYp~X2nRD+Kuv?TLYux^!4wan@Ts@`VYsLe?z^)KjpSeWsFeU!-lE#D+_)UO{60egs`EI9E=AJ0g=fm$oLOH%Ao)Nmy zD%+ZzXK^GKH7TSlzT7%4Z92%vQ{;i9(XIz-v_1~9qnwv6U$0!iIlTh7Kj1!Kdj8Nf z9V=TWG~e_Q8zos%F9%T9m4${3H&C+G?jU7^WtM+7%1*j&jV-bOuu@KTnxDwTPoOCU z0hsGX4Q%9mnb@9?9ionF@!svG2)G#sp$Lxyqnma+GfkmvrDybL+qBi?xi%@hy0T~nZt0tY;!VDfT+4N* z>0SO;0Fm2D;GKZOXk>^RW%rs6Zq>|ZwQG_}fO-Qs=DLu{Ue-wBCRE39E?$W-TD5%p z#|?VG45aDmYzypUV@UBhTGw#{NJaJ{y?kuDoyjvR)#(xN+A5Xxmxhw^FtdWa)^hCe z_E(#jtrlC!t)del9Y!9+Q_;6J^2=Zz=6LMss!ztmhk6uMUv zAtkVaVqYLK0so%dm`_2{F&B$|nk%Q#ai<7@=$3-N^_~N0DnV_qO+?;{|k0*85Etfo8SIVJBDo zMXsT-6Tl#mcWrHrIeUO|j#`3Hq0ZypTVOCvKPUQnLbQ9-VoabRgOU048|&!}py{0pClKp5e0KF^*S)FkGf4dtC!Wl$)O?)0jhLAi??D_b7Q+cC@9Iu^ls zekodn;)N4u&HR1&s<%u`0~tVn9#ctp`|(Mnm2BbTWdSg-?>-!V{hCTyRe;2)+2^>M z@pO}6WDo1-GlWa=nx*-J$aiM+rDmm@8ea#o)b+p!HN4pXo*&l5XP%%-cLyQ2Zd3KN z*`c=}r!s^uw24CTbu+!DZ@0QkovD5&YY0hk?jp=+w#na_k!X&Eik#YH*99b_jy}Rn!V90J2U$Vp%3=%C;FL#!8ODHhLO^v@Smyt~<2LOCxSX z1*#*iQ|8Qf<-erwDq=@;ZDe$fJixYr;})BTyGQ)iG7Zb8i;ibu9dg{Oj=BKBl>}0@ zZ!?p5FNesv8hwj|q9o^a8nwaaRQ08v?-P%QDHBX3>0+LMCin_X>eg3 zAgpqX@hnOMhx6|HWbSs1ywtSE8%%`*48(` zNJlo(l0U|K4E6u)raFvE0{}=)FGLI$L8$a*GvNVDV)gPKu(rMO89TloKlZCr{Ia$z z^Po2JdW9TgTg8cBq;wQjCeI1aoq4CwR~4!P!u``&v&`3SJTY{G_+hkr;xs=(XNDb(ar(eYl6nrao^ z)wR59A>89@QXhr;3_z4Y44ihU6XvB>fT9?gM(9jS8s)qDQS}FE&dF!9H_+~Saz*!~ zF)4G$@~3%}<_$j(BFkUrqOc(8n+czuWFss$go!Cra1gYh;l*k~uo8m{KF0}W^@s6I zn)n{+8NA#iS~I?0T}gj&WflFqR`GocGDSE5n>7y3YiUvMYHU$Xh_`N%Q0RC2lrCM=gHPFO>&8-H1tvjg9NK1_kN%{?k-h%Y^?rHM5tgx zq$MMXy?&bsA&wD+RO@D)R=tVU)0nX{6$=4zL6|SMnP23N_sZml{Z(Sei{2%WGHEb%FQ>L z?DZVeV2v}r-f}+KT4mK`^^2*U(LJ99oQ*3ar8|w0`?o)7|YXT;#hWy9jg( zLZpsuKZ8?X5PRDj4~5{n(|G_TMXZOKi*!&!i!5>a+#)*1XwyG$u++RbU1HZT5q6jq zC(0`+Z!Vt4sL>Q$N0kqvKS<%P>t_9lBFBL#XRF?=RmxQT{n-z0=)V6xThEE$)9djs z8|~b>h6ZE8dw@;Ky>aVdKI1_XYHShEjpKdA7%KY4$A*8`m+am^LqZXGgc&KJ22^_y zSK)3f;VrGk34{hU4!MvUC;Yv}*gxoCSi-F|Xp%->sfGW-UtRq{Z20e7t`!#=;o0E4g@ ziVP13b-L`5W=Td%=l-!(Ih2PEPp zyv7tnJ!MIp9VJGCN-CyBPK^7zI#Q&ob=-g`?bFh*B;vLRcWL7reu7UVRp6b=G5@*g z4(Y&KYLxZ(dL6?FTtqy5ChoU>G{FG)vs4yg*he{HX_b)mP$pE=GP=|6du(66-r@0k z%e_bg|L?swvX)amB&(H3<2|?u5)#|#wB+CqU!t#TrG7}K@g3`F3IdV4xH-QBogffy z|55W{{`o$3ilL9D^OzvdNJ~HhzYA`Cb z+e&U{smMR+-gbad(`gtyGUnasV`bOm& zFG^CBAF{Qo?Gm@f-@h@EqpFiJg<*SQH=9LVRHq=qvm@0*sF~t`K+*BrP;55@Sgd^_ zrZ?Ch3`V^6f%u+Td`~fkEY58r!-<8!_VDi0L&uZ)N~zOBEkrH_8>;|-SC;26Nxhzq zLv}q(rJLw40X$5F_EXZd;+^&;@>}f`M<7#Oh}^px`cRZB$*<>}Qt zjf}Hau+I7pDjxSLa5og?P)bIBT{`ti_8?-&(lEhPnNzUn$YC7lpJx+okMVA|%3qU2 z<53X$z#U&SLqwJ;1lMaU$jf8gdUl9dEEgMWuq>2>a)JwhLR=p7VqaGv?$)v5w1&$# zMi$L}{OlR1yz963Sy&!)kLAC0)~4=bGVZA!kJf||bkDGpuDcK!8UC3w@xCF?RBTm_ zgQ38)cJPPE)>*aUr?MaXMdO#BZyZy9vyhUo^lUq&TV|8TP+5cP;_!O{b5rKwQuh3> z`oS{m6u)$GO)lxz(W=T38=Owuz4;=x(S!K$Ai*L@j?oLID3sb-POV9@%=gNd^7zUW|I9X zxG7XJn3gg73u(JQQmmyq9>(g}M3=&FQ>-U5AIn>gqd(_s9#Z9oeJcd%(x&>LvWD%m zYQODrO4VY?ZG!^>8RVP(YBcJ7%}$FH z(5sascRdL3398BmgLxEz8bmIXD7;--BSo^=3@q-@ovO}C+VBPK%Rf+8kw>1_B&nlzF155&5LgRhGpgz8xJxltcjt(*byj^coarH1vIJNgXg4m#`mOk9UH$|X(!6;K zJA^7{4A)ykis@2m$LqK0FWgPc0jAm0}zw!^)#Hn&iyd%}hvNH{pfL#p8%E zk`KA-aoW*bu}5diRA*4Xk%!wcB~Z??gKt-q=7rq}X zmkAOX6;`X4OH|16$3!9w!uaxiz|uk0rOBM5afaN}IHB5E$L6_CtZqlKm65;qpmP0a zXLC^3fJ(6bAk=c7-*G?EVM*8({d3MJ!peGw;PbYHv4XGvfFp-JxjW8a{ENjz-eAD` zP#-&F6+@Z1&L`>Rfba~-9O|_j5jWQ#7>g9zjqp#}&FAZ|-!W#SYvkye*1=V?cmkM{ z?IWFzELL)=MCxzKYm$R5d|C+AUTpV%2-K*>QE20{Wl7NfbtSqyY71rv4eO<13~ku9 z7~2=%M-g@^fClnT(%-`{)2^hns%w5eUbhc?`?5SNsE#Aerm4)oRlns77~CrG+TDN3 z(H1KQeD;a$*$DQ#z>}Rnef#WJp7}+uTf<&)>d4PjQ&={9Mm^kkFTh9trO|1J{V&G* z9yy>N?!^fUzGj+YN2?O8AdjyM`-vkh8TzzfUd|c*wz~hQFk1qQSCWy{1=}<(ZMnBt z{$iJkOM1Htu1L~HDG0EPECkMp$)TZ>U2xFYA)cj2W`zVesTc!!5C{4q50i3|y~TK> zJH9wpnVvLwuvEUElmF2@%U^b3B6t=PWQOq+M!H@ugaVBT5#{k2Mbg}oSsI&R zLZ>+6Dpalmnzz;%zMa^qwH^vX*?DwZvuY@|6+uruok`b3RPEp1odnB&OOz?ARb=)R zSDdfTa&<4Z@=ImnT6RAhQzlq6{>qzq!GcV}AH=Lom}0w|NRP9hlS&hc)gz2DNk{9M zrr+Xh1+XY2W2rO0ke+`UDH`f!BL31tvVy&x)P-6FZpVXn?yWyCImH6Dp&TKgMpTo@ z=(7|#7|V-$-oRbIRJBEL-4fKg7axLKN^HT$l=>M9lt6go`&%p6 zF6D7o?D0ODmf56gcB)mVu(b!~P6$(#M@M?GD0?wlghJbl{kXfO>gg7hnn~tWZf0#y1Ffpl%vwW&kuLD|o^S2T zM71L~VXdYK&xHm)X8o+BgZQB~>tI9Pp*-s%lVWX(uYB=(H~o|P4Y&K#9nVlT$k*Nk zMH=+6b4{TTmzMx!u7y2Ni5ipiNP<&dm-nmNxUU|)bsyJcTT?C?%H&D7tt^qy1F2`z z#dCE1X~bxlHNPp5Qlyw8JYlC4$|q4o)H_z+2z}avuU-+cZLaZ$1;E1Nw78wG@-3r$ zs7a3;=RszMyElsr+VJZ_Gv?;TFu|eXyyUo}v6Zz9v`nzYsOrx?Z;P$Xt0_BW2K&!D zq6(ptb8b7(wRDnqud(pxx<1{luHr{j_4C~w)Byansj6Kc>xSu00fKH-Y*;*^QRvKN ztyMTPzihdR<-|ex+>JNj#RQP?DjeUp&MQl3-J(8e*n#F~QMMs7@7=rk!mk8a$^phU zYXPIszEMrnANPMf5nsxFZUvqkPgWjFNybb}p9$ro{$o~%g!XzOKP?OX1nUF>y7wW} zyYpYqJz9g2d?d&TEAwWxqMqoI8BG~im_;%_iQAyP;t%S^Z^OD)V(^nVnrjBjoD7V) zY;g7^It6}t<>jQoAN<{Y@~fr1t8${m)3g$P=Wgnz#cG!34N}^2c?AB>mZ>c;c5Kua z0V(F!VJ4pOd7XQq*aWc~ZhQzcLxe5n$$!r& zg1=4uVW>#HDvxi<9+4`6kgywKb?dJb!1J zco`MT18b+5%U(-l%)`iKzcNRrrdOLMQ|nDM@>4x3H#%= z{v&lU`~GVd5soIo+Qo@a+c*A6`U$}uQ`REWb6*LsTI2XM4#r}usnu9!_q;+*8{OBO z6T}7m76s`AH*g|?U@6pKs1Sw#HhZ7zMP5h8*KUk2qqmX*XN{8;UAiy)B38z*UD1}4`} zRlW;8zk8W1x6(qDO=od6c`g`cDPW6gYSevjq9ca;r8l$!o{KHzzi%2T3im5wVfHm| zQMM8<&1XS<|LUcB`ROaZ3h^9sVIREZa6dEUtyey{KjbE@36rTb!iI2V(r``9Et8h^ z0|uzL4yP>vs5~Y~L+=;XnGeo)$AO4H>@`K1XKn~1o-6$*TtK(TA4HEb`|!~3nrT3Yw68&ejU15LIb!$KbW)np`UNL{%B6OZvQrslkR3nZ2AVFapOND~ zQzcYyWa47;C1X)(lv0J{CFl`Xsm?_VIsyP3mC)L@Wx3R}dXkJ>xUMZtE$JmjIDgZI z_kK$GcBV)Y`MMb_V>@>r+Y@ongXedKVN;W+qx|o}6eL?;^-A&l_U#d&K|ou|(U5AK zwX>=8>cTBKVCZvuHUct~siRODoqbqX&d{B?H#JQ0K58&)T>T*Dyvb zUv6eU+ZtH}l1Qk@;dJS*s+4g1K2=LhpVD6(U>a6372|tKi%frZvy&sou%oY5=&qLD znPGHkl`{m<2VKXP@pIzM<=5ueh}or~W$pg%;S`OU=G1|Aa|>S0Eym2E_seQ6Zx`)paMfiCvy`%&!ql~GI(`9RC#hCX+L5M1e5~((hQBDv+2qCGQMiV=nLf_ zCBYHps||u8ixYe1Y8I{12SMCS{Ei}R5k)MKC_!Zg(`32M53bd6YiyhvksyxFMQ3%fZ&7k0gm{agpWiJiqxFS z>jU`F;nL9$$2KJo+gEqi%X_XfHv8Kb=WZTyS4AypZt=$}#p+k;PsjYGhT1_a72IFcG^b>5FLnfW2fQrtCYUbL?v z>~p=IGoa#BTNgaeA|?i}Fe`%2q36>5o(x`i!bJss36}uA%7XG9MU;DuWYc zjbLct{pBMOK@hKeus0so6F;IHlP(btD4MoWxj%|D4AEBRoJ>8*3v}6I?F8A_fGbBw z{*2wkyxjIw?ub7(Z8nWQhwz*M^t?D1MzT{V{^$ES1XczwNaqx?Yt0*JDKl$_^zYJZ z(qe_6VpB>e^dNKl0r2&c$=b zrMqsspTq{E0f4gJT^-Ah8|E`?e9BbQd=jivSy!T2uR7uvy0_$X(@!vdIy!zVFWoEE zf|hST^eE3m85Vds=&mqx?u9JyI@Zo~28OGOqd$Anqx1uVNx;lbD(KXjeO7SaJf~(eqC}?!zoXgiz>~kLl0Z( zu+f(!=E#3OY$r4gzLV{z@Atj1Zko3&K&mXl?P?6|@8cH7WoVkw?l0b_(H#ws`$l0G zjQ2Tz4K zCG)LD0fS9Az{}wDZy)YIr1W%u`2uzirun(-M+zTD_>^bamd%Hk!JOl)590>YW_rS_ zXm#-nrIjyK@vGu1lYH$8j1CImrkh@vvn=KX?cgg6AtKOH?!2+l>8|JK3Dt_45%3vK6{ zLuo{&3LGf`iz8w!1A(yT7w$(zPTaZ^!;H|UY4PRGG@LAgBd45oJ;}Bi3iZV0@@@<} zRVj7MgtkH92I55{x}<&$GSer7FVO=2e&B`C+YeR<+$}ix^7J6ltbB46{(i}+qayPK zLD4qZGEQzc1Y^i6Adh+^7l=h_;ufyCr@&p8O6&>qW5`ct6Vr>vgf;>t{;lG_77pR0UIIa4t(#?c^tk&tLHsxBF();lD&bMe^=Qp zgGw#1CF+fpvF}YY@@(Lp{px&r0GX|do8oTiyV&*HW9-?|d3#y-=4fS)ktofiLwGeohBpe!S>NM$Te@X3u z?eYil8l!*u=Oa~@kY~pLvP5yj+*n7D30J%Rqygj9$o126&qmlDE{F+Pq3>g-_UlvXh;(rLGoZ zpm0E**Lv(y5d1V)o*RX-I25OtJY8MsSeBlDKA5dYs=&Al6g@mVFhcu z)2VH`ukr)g-Q2+NOpI1>EP+PcjVRgecj*}p4C*6?jJucW6HWGQ^`|_lYQ!WJAK+{| zC@raqnw>V_XFgAOUe?4|Xa2q6Jke8?E5We-V*+e`TN2b1Ar&+a$FwiK0+^)5kd(i) z>e!cR)Wxs&3aNqwzP+d@s<7PS!F!b%w2^mehJdI{5%Dd2lIe|^BSmJ63~hvebugZv zY&yw~c3=~-Vfe*#@=zZ(99P(HFa2KoWI7e)!c>uUzYS?)Win3KBnl1QZGVuFiOL7O zEooJdSN@CYOmKm0bDO9tUL}|)s%IjjD6g%B299eCK1GFVd8kwi8SAA?jifgSy^|(Z z_mcHi+p)&9SI7iSwBHH#C2CTL4#voZ{iq@h6IeV}b)8B`jF)gYpZa}_ZGyX>Ckzh^Xw^NI&kC#pb_GINwuCC1;BaN>~q`O1obhNnaj|4S;0_#g1!Wzk| zo-mHT0QY=_h zhoHrt!siKAfqr8-KSclI z+2#{=_(I1rJYi5)NOFD)hf(89SkC9G$%Ud8z=e$ih^#?97hC{1pCxUsTQ`1f~K zQtv*ZEvw%A7D(03d(O7Gc)U?Z ztXIP=72M&Skbb1Fc?|q|9r)=WV2?aR;4k5Jw1gUe%L&yjY@Fyn9O+f)Sy{kT>08H`4yV1pJloouFWCO`bYJ@VT6d1 zo<`bV#)7Kt5hly5NdV&$$LEcUg5Gjq0KUhFJHj4M8CrRYiFL1rfTCge7 zQA5A!8tL8*3l4Kul9nL8fE|rRM2bHm87E~Sf%ObhceE;bE-QVZgqr9Y2}b>1I}Hz7 zM=yA%Gp{jC`5A}n1To$Cy(-!qmDyf)?vy`M=CfMy>uf%TPFyDsNxF zEBL9kto9TroXA#mO{eVZw#tT1iIf%jdM{qvTDs$eq$BF+>(gC9igk050Cn4*YK063 z2gk!<7XjHNq9C*qtzke1lwXKLWLi0zq{03Cd=367bJ(1}Fxeejml>V$k3v{&fRIH# z`~oQT=b}^7<#xN+ez^FDCt#DMPwnfw=Syxr(qzNuvK{BLy95=V#c_F_(Qdk+2BKCr z|H%Td(|g!czrs3PZsCRje;tr6zrU?`a{X|tkp6fDZ~=EeV!3JD7G>NP8&n+T}z_cLc`3!?%kM$Hcdr`j3W88H$3w2autALQ>btVr{UD)wid0LUo2P10}}LCE=p%uBYZuux0xZv#7FGm z5Wu%wn2j7%b`Ypw8vCFc@};%st|j&#!j1yr{G25Ubo9 znGz?`>kdzqoBl&f0{0A>px94mNSw;+LUx2aKHNdj0eoEUo@fI>#r%%YRgQAX53z5CbOFMe@vw&dl2>&W4o@!9svI=j^eAarYt zF?+Y6?zyc#1r-F)s5a?sF4}YmqNao#WBIE(qW?g2ZW(*oyz+Kppa!w}ACK`|#Bo$( z2!+0c|8u0i^5>k380WlP{P8e3$P6<3$m{gn;mq((=U$Qrc}oV9*X+vp4DE9$N`sVH zoYh2+@G#POFz=^|3>Q6cUtL{P8%~oef)hTFue-SGlsN@&}@eOUtwTSbQfuVI)(e9R)R&CwJP$U7a)F^N}2)%S0VA4)k-(DiF*$bQLpSqs= zoSd2{qZ|VPyV^@8r!OR#3_>7%_9nv~97R1n-)C)_tKWh~Q560P*lrb5JU}_S zHL1^hXx1A~PM{h*tn}#FznZ=pQLYB@$5(TKG0gPcJ!0Vmq|5>}2;#R!5vBnzxn@69 z*=u<;KKzln11F_fcHL35Iprf2{hk-FcHyrW#u=S&^Ca>>Y!<0|DbGS)tH{F9vafoH zf|b>9h5aQQ-$Sgdrc?bsBF0XYh2f!nN9e@aNL0l_wM+d{Ml!EC=gMoKoP`#WepLus zm*K{!Gm}J&^9}1FfOiBc2#I{jyDc6R^jB1*f5@FE-AqL`(~^NKDYne9iLV_o7#&T? z-{rFpO$VwrF2DFD02k-RtRNsBX^*Bd1e@*WyG6Hoakg;6c*8S~EYR^u4g@Mldet%& zp5``HzU&71;>IH5Hqk<*TX_}jIEg6k>~Xvj%Ii%2e&kqYwQ)24m#inR9lF3zwg_nw zCw@8t%zh(wwc$(>x%pE{pt|#Uu)I5k=SP++tL;22n`ZP|nDYHBE)Dv_l{Wsh1)#Jw z*@?{$I8b_r=|uW@3jpwABhiVQVB7q*6k~1S6UdHAh791n?;19z_UVPceD@{A=g@51 ze040<9j1R*r?1U*wjg7)`s_F`@ZJ47?94sJ=U<{^&3lP|NDbjXm)N@wE2mdS^U8r& zp@K~0))|nh%XApko#VxfIHl0?Mlx5T5_Xal_0ps$+-WLoPf9Sp_2zdcf(?xoMjY(rE2ZobP?#;u zR1{a)B4uZAoe0=TLc89uh+5jO+Ayn{nE$>2>@znu-1*#pA31JyE`vQU6|~Ips9Kg` zc zeDDHxTJ=3*YEOMLQZzic>D>>`bGDKJjTeq}eDMr)DaBi8T@ywv?4wSnL6{e$b45S!8-Jt$ZV2{@)nvHGDPrEtG10P==SlkSl z=!O*nN`JQ3q%%8yWG5UlM@zmKpBR`RMYjyR^8HHdh-x}k?BjM`K{;GJ6-V}A6I+k5eRTjswl zB{__|tuRxF{~up(8Prz1tq+r+!JSgHP%LP1w-zV3ySsaF3be(cxVt+PcX!t!#fwXE z=O50w_sD%`-r+-%89tEB{_VBavmUWE%c4|MUQ?xKfh(feBrm4W5{;+a>sss#!{)TS z7gPdjz^&{ZJNtcRh!a*!5)j4q4;jwkw93WD2zLEqOeWy%&g*I6rXI1dp*l~mfz3W8hgyr68YBxy zTd@QmV_Q{kS z*P71%0)=S|0mjk$3DhccZRb$g5sP2!ZD4|Oz3_kibn@5-P-tCnas<{+z}E&Who=Nk z0i0mid`SfB$HY%H;-DSgkJ$U~G;a73+(HIlhlw=4TLq%q5*D%7_`?P(!g44Y8)9)_ zk$*eJGK(SF2vRDBGmd!|gN7{^b(Hu-Ug{D$+*23fxSn9<4kvfbV5X<6_sPP}U1JnD zuA**&8DnP?hehmqL^S*Z-{*sdyG+%mOg=_`4AoD<$LO_}Vh)a;NU~NlJhfFJ1+Wi` z6#V6xBrn*e#~H}g)o&eBsR5r=4X}_a#M{PgT*6|W>Kua*V-%5*Q*-3N4)xrIx^Pcs zQUketoe;xs*gpXX=|dP?0*4CeYU`pg***mwsQt|@AJ`kTX;V^)n*AYY!rI1;3B{EJ z)8$-#j6Kx$$!Y)WEaawv<3Jh<*5db$2;y68JZ!mur2oSIUXegPg zT(d2Q5p_L+bS}Ov?=rEbzfu-{6S8&N?@wnZ8N)-mB`GjG_^t?TMqN@EU>&zAq@A#8Sup3;$~cqL4LmD*8D0;)nKCpeoTM2KP8YwHFXKIY zS=Lck=hM_9rfsISQOYK*3MoEt*>!$&_16ZaiGPM6#NyoO*(+X>?=%(rP*4)L%C7dZC^oMVW9pnf$eMjudHprT#7KYE@G-lqFL5V#DX8;qD!XB9o|iD z#Q$79Xlb4WHkZW@8H}2l!#h(;!?F|NBr zrQRQ3L?gS{TUYtS|K=#Ie~0V#(xB)!pZqZy1}Y*;);zE6P%NY#M(Ar z3i-dEl^#q+MbaDZ{}a_M@Ijf@)rNCch0`8S_-*=90xj+XKw!h|>oC|XKM)SDb_Qgi zz*48EhZS3lhDk4sQ{ijJ^((45q$e&HjjaF&xW74Hkc`cV_f!{dd3q>K$Wr$z>%F zsT7#Z8`7v!jBJr3NM%U8kYMO{^qc+0KpBwsUAM2^&J~;i6Sm*9`hg>{Y}tr0A&HY3d#3aG2{Ki~1le99FZEItKAuvteOsYJ2=RBH! zK)S`Y&s%7%MbL>=1*$_ctnK=Ume%4gxBdn;#ywaUJAY8E%Z<53hTx}@8UF%3OkqCL zhq%4;3L~)=Q3Cbg4_`?sao5H3`QB+vnlSC`(zNfC`Ou|pX^;ppv z=Hw`@PZwoL48kE{1K~TT+vFNJ8ge1aeF)({;pEoK{2`QpREHU3{6;w+^hI_Qn-qDJ zi;M8g#vz+37uz9o;B@92k~{lj(KPr=MU&ua z!rOpha0K=MG`dF`5!`b1mfE`HZ^r`wsY@``NvaivHms6O$k6?CH0*sAyVa(V28r@j z-y1@8Q0kIEqR{d;8+e=0tUo}SC?2L&c+E%y^;HT9uj5|@3!;O0TE%$7R4Nc#17)vw z98FB)sEc_Qj5Q_9b1HfbO-;d<&mBH~p69U{F-(hI?|jDS{`cOb#J_FId}w;*oa7}Z zC%bG#a1~&9ufx9PE{nd*nnNu;o~~Md{6_=)x=?gD(KJ}@qVAH~OTle}fv&l+7wUxh z`rz@;l0p}Zp!{RR*rGhzjT#18OA0)cg$McYt7Q4SLjL_^ zvBC@M|7n6coAEuMLioYaj4Qkm9?I3%i3l%hC;k84t-D|0>&a|@8kqPkNskmx-tRT+d! zy*5|S#cdlLcdY@*TB^9R99fGVqeyT3K`;a-uKooSNqlUG*lbqeEq-Zs-dClWV^txC ziT`XTJH;6tpd3gcC{0>_v$pQm)o>t^WFLUxA$(s=_E3EZHE;0Co!fT$zgKm67PySe z+4T;1iEAK*iTfqjcrwKH1|)10d~PRU)Yh@#nRjkco$DR!eEB0<%AvPF6*<}S7s)e< zE6#9%0<)A!kXl=kQnnQ`Ia`?xash?~%xqpi=4E+TM3OSWa$twkb$1t}PkVaKjj7eBI@YoFWC6uj*&dNCKcU)D7 zUHCd5E$j?ua7}RnwLe6;DAfv(+7CO+Jq+v7F`&c)(sFadb*|2)Oa|tCF2|z&YS;#9tQs`SLE93#5JAQUm$wi*->Hs+yZ@y z)h&zmggC9;PJg>St2ZL!e^8-#?9lVm2@la?mmsfqFG|`Pk-4TYc-79-g~-o}DH;<~ z$EzvMi&K~>7u!&{VYPr8f5V5@kgXHFi>>`D_J{!aCLOti`G3*Gbeo)rKAq;uS{Rr{x=220P2XOhFBVM71;@D%+=Pd zmKTUODA5T0%0J`th0Ywv9;6ySk`5z{MKIO}KbcUr@7vgW1-3d* zDqdt-U~DqUx|B4`g3-+QbD~f?m8^I?W+N@{ULfEZ;HQ+1bC>ez7 z_gOw_YIptJKZ`oFq!)dd>VYTFsjBX7Qu(i`N4UO|$20(&%O*@@MCuc60gPw>A@bS! zvp=yDG75UZd0v-K8RClp;kRGk?|FVbb%!Z_@1w=+3r(LY|4oir$JUyiVfjI36-hd` zx;lnk5PgNkE;dVwMN}*Y!x|NCQ}EzSU&surSHfdfF+Nv@810jTweCm|WOkLRg<*k@ zHsxUSetvJ~gd#eG!G`tB9sa!v06PM^MQSmxj1E(4vb@_>UY#49hqj>vNLB&uKdZwO z0vY;v&57RYv<$i;1qan2;o)j7h=`-j(iy~xj7w0U_;#Co@U^vOiai`)l2@$auE-Cq z55?A)=sB9VQ_=M=P*l~fU!jK#4(SpW!FF;UGl8GyZsm*)YmS>jj zAGCNqP5hRctSiyBB) zw(ScUy(iH;wc$4hB3$07Y1-@B3V(==wTw1xMczn` zkVxt##SH#+sE1ri`$7!W;Rl(RR+Jol(p_(IeH!7+Dhzi)aj0%YM&txh!Jy=PHNbDhMaml>NtlWGk^mP?i-GF` z)MFJ^lCJ&2&oEC(G=KDh^fs?Xd=LOdQ9v@_IiQ7#BKDj=1g{I{fud1?UAPGbG7AT% zDVlAP`{CkkmgNwt4l9j$v^Ll*iOo&9bjnD)4&fkMoHjWHp^cL(6)EXpe?6wjpi$U{xguj}0Cp5INYM~`stpY5hQjsND+14sbd|T&{4vTPE$Zm2`hoSir zw6%cGR-3K0Bp{gL7UPa1WQEvii4d%un9n7=SdM4{r&mp4fXIQf#S{mHGvF3MXE?i8 zdT(myg$it>Ela|DOIXK8oo7tuAZ0gDGF$Sf7&cqA-V)EjrsSwxp-&w_{f#JsMGoUl z6KU4a$L{ybhrecfq-*%+{6vc^#0LB7-W9r0)zP*i+3tz`I-Wc*Rw2Vp%STcfTdbugPnDf{EsJh&hrzbokR z7}Z&{;Qq@9uN8Htvhr=vFi2H7mTq0E-wmh{;s_S5!bc#FQ?Z(y#~PGQzmFnU#%3Q| zS852PdZdd`%;5e5upMrc9S57IQS%1K5Ep$_b#@>dCaXm_qg%&_j(9R{0w3f%!pv-M zt3a1Y-(6Qht7HM)Tg37(aAZe1=HI-d(>y1PM!U(cm98$jI8*J z_*HZoy)e&6ACbg0co4)^mY22amGe=*(ee-SGmsSXFP2X5j-C!xaR#K^F5$4g4BwlSfdb%;ze`g0VhKey?ymX3?esPRn{%UdQdXhmUv6YN(e?B z&cZxg%sRYo36!r2c{5noMO=(F`p}&ylxV1|LD%u$=k`B8rKQ2w!`nFR!C!yJYYgK4 zg3H|IBVe;}(uK<~MB?!qF(^$kP6dz>$2PB; zC0z0q&iEi9!JlG2kF~JU3Y)jsiWR3)GX4h(oe_JsP064;2ucTWXei4aXvFD5!|5WHM$dSjA2t}5t z+Td95ewSY;u+Z-`jIS{TtgWrxuV1#4!SLvWRpZZa&k(>LTsSyt!f&FvNrOLsSkI{S zvE%tyKfSI~?=Qc$ObzdEz@C%QiN_!+h5Im^JMi@|!&j@mORw~ev}w#niVLMOi83s2 zG71Nd)!XX`IGw4{ZPKHvr6QCfI9Fr~rKA1175kQk2qU_6+<=~s`*5609!8hAcNHtegzt)VBuzR5*7%k$Unr`JNNQ|2Nu+JdO|QLwavM| zJ83!9t6niX;U~JUO5W10Jc-aNy*e0zF5>HJpjX&{UcYVS#`)<~qaF62<-EQbzCNTz zDqqIJ2_BFX8v+qkHMw>9uJi~s; zktmDd{-Xv;DiVy-1QsXNMZ&rwGuCv_iHI_)_SLa`$*a}-V4Ub14jzu5;}e$$39FwR zMXZVT)%`?yoDnpQwDmG=ThfrhKcI`34L&Yf?s6y(O;T9}%7Idjj4#m^gCZ*0_D676 z^j_($lCRE_@*`PLrtCsKborK<&|I%Yg@S^zUs75jT>>Zja`W=Mc3I)xM&AZq%?sMm zN<@)D8djWS{5qI2%z4w%e7I+fnU?uttW`5&p`H8k7%=rt@XY==g6nru``-xr_lEb- zB%$Du$4{Le0j;0S%*KAODKo;hpxU>7V2d zqGq!N=<(u!R1M@5vpwxtW3&vPR1%$Ii)B{lZZNqr!5b6x=1xND(vQVdE;*F5VpE$M z_6$a>$K~`{RmDR!UDv=v#=$9U%mHpSvsF|Hc!#4?FjsD6j7EgCEj*ExM1ZoT