diff --git a/package.json b/package.json
index 1f3fc035..ce9e5df8 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"colors": "1.4.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-native": "^0.72.7"
+ "react-native": "~0.77.3"
},
"license": "Apache-2.0",
"copyright": "© Mendix Technology BV 2022. All rights reserved.",
diff --git a/packages/generator-widget/CHANGELOG.md b/packages/generator-widget/CHANGELOG.md
index 7939bee4..464803fd 100644
--- a/packages/generator-widget/CHANGELOG.md
+++ b/packages/generator-widget/CHANGELOG.md
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## [Unreleased]
+### Changed
+
+- We upgraded React Native to version 0.77.3 for generated widgets.
+
+- We updated the required Node.js version to 20 or newer for the generator and generated widget projects.
+
+- We switched from Enzyme to React Native Testing Library for generated widget tests.
+
## [10.15.1] - 2025-05-19
### Changed
diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json
index 4f41606c..2bc93be6 100644
--- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json
+++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js-unit.json
@@ -6,7 +6,7 @@
"copyright": "Mendix 2023",
"author": "Jest",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"license": "Apache-2.0",
"config": {
@@ -34,10 +34,10 @@
},
"resolutions": {
"react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
},
"overrides": {
"react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
}
}
diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json
index ccf9b44b..5829b6d5 100644
--- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json
+++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-js.json
@@ -6,7 +6,7 @@
"copyright": "Mendix 2023",
"author": "Jest",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"license": "Apache-2.0",
"config": {
@@ -29,10 +29,10 @@
},
"resolutions": {
"react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
},
"overrides": {
"react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
}
}
diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json
index a3af0292..2f0c66f1 100644
--- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json
+++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts-unit.json
@@ -6,7 +6,7 @@
"copyright": "Mendix 2023",
"author": "Jest",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"license": "Apache-2.0",
"config": {
@@ -29,7 +29,6 @@
"devDependencies": {
"@mendix/pluggable-widgets-tools": "^10.15.0",
"@types/big.js": "^6.0.2",
- "@types/enzyme": "^3.10.8",
"@types/jest": "^29.0.0"
},
"dependencies": {
@@ -38,11 +37,11 @@
"resolutions": {
"react": "^18.2.0",
"@types/react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
},
"overrides": {
"react": "^18.2.0",
"@types/react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
}
}
diff --git a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json
index f825bf3f..eb0f824c 100644
--- a/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json
+++ b/packages/generator-widget/generators/app/templates/packages/__tests__/outputs/package_native.json-ts.json
@@ -6,7 +6,7 @@
"copyright": "Mendix 2023",
"author": "Jest",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"license": "Apache-2.0",
"config": {
@@ -31,11 +31,11 @@
"resolutions": {
"react": "^18.2.0",
"@types/react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
},
"overrides": {
"react": "^18.2.0",
"@types/react": "^18.2.0",
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
}
}
diff --git a/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs b/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs
index 9437c6b4..f6de5945 100644
--- a/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs
+++ b/packages/generator-widget/generators/app/templates/packages/package_native.json.ejs
@@ -6,7 +6,7 @@
"copyright": <%- JSON.stringify(copyright) %>,
"author": <%- JSON.stringify(author) %>,
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"license": <%- JSON.stringify(license) %>,
"config": {
@@ -29,7 +29,6 @@
"devDependencies": {
"@mendix/pluggable-widgets-tools": "^10.15.0"<% if (isLanguageTS) { %>,
"@types/big.js": "^6.0.2"<% if (hasUnitTests) { %>,
- "@types/enzyme": "^3.10.8",
"@types/jest": "^29.0.0"<% } %><% } %>
},
"dependencies": {
@@ -38,11 +37,11 @@
"resolutions": {
"react": "^18.2.0",<% if (isLanguageTS) { %>
"@types/react": "^18.2.0",<% } %>
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
},
"overrides": {
"react": "^18.2.0",<% if (isLanguageTS) { %>
"@types/react": "^18.2.0",<% } %>
- "react-native": "0.72.7"
+ "react-native": "0.77.3"
}
}
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs
index 42c17b25..605f0cb5 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJs/src/components/__tests__/HelloWorld.spec.jsx.ejs
@@ -1,5 +1,5 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
+import { render } from "@testing-library/react-native";
import { Platform } from "react-native";
import { HelloWorld } from "../HelloWorld";
@@ -15,9 +15,9 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os) => {
name: "Mendix",
style: []
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -25,8 +25,8 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os) => {
name: "Mendix",
style: [{ container: { borderColor: "white" }, label: { color: "black" } }]
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs
index 42c17b25..605f0cb5 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateJsFn/src/components/__tests__/HelloWorld.spec.jsx.ejs
@@ -1,5 +1,5 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
+import { render } from "@testing-library/react-native";
import { Platform } from "react-native";
import { HelloWorld } from "../HelloWorld";
@@ -15,9 +15,9 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os) => {
name: "Mendix",
style: []
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -25,8 +25,8 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os) => {
name: "Mendix",
style: [{ container: { borderColor: "white" }, label: { color: "black" } }]
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs
index d483e40c..ba9aa0e3 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTs/src/components/__tests__/HelloWorld.spec.tsx.ejs
@@ -1,5 +1,5 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
+import { render } from "@testing-library/react-native";
import { Platform } from "react-native";
import { HelloWorld, HelloWorldProps } from "../HelloWorld";
@@ -15,9 +15,9 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os: "ios" | "android") =
name: "Mendix",
style: []
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -25,8 +25,8 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os: "ios" | "android") =
name: "Mendix",
style: [{ container: { borderColor: "white" }, label: { color: "black" } }]
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs
index d483e40c..ba9aa0e3 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/emptyTemplateTsFn/src/components/__tests__/HelloWorld.spec.tsx.ejs
@@ -1,5 +1,5 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
+import { render } from "@testing-library/react-native";
import { Platform } from "react-native";
import { HelloWorld, HelloWorldProps } from "../HelloWorld";
@@ -15,9 +15,9 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os: "ios" | "android") =
name: "Mendix",
style: []
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -25,8 +25,8 @@ describe.each(["ios", "android"])("HelloWorld for %s", (os: "ios" | "android") =
name: "Mendix",
style: [{ container: { borderColor: "white" }, label: { color: "black" } }]
};
- const helloWorld = shallow();
+ const component = render();
- expect(helloWorld).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs
index f8202a7a..4fa94b2d 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/Badge.jsx.ejs
@@ -13,7 +13,7 @@ export class Badge extends Component {
return (
-
+
{this.renderContent()}
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs
index 6dd7c1ce..5d146d8b 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJs/src/components/__tests__/Badge.spec.jsx.ejs
@@ -1,6 +1,6 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
-import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native";
+import { render, fireEvent } from "@testing-library/react-native";
+import { Platform } from "react-native";
import { Badge } from "../Badge";
@@ -16,9 +16,9 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -27,9 +27,9 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("triggers the onClick action when pressed", () => {
@@ -38,13 +38,10 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity;
-
- expect(badge.children().find(Touchable)).not.toBeNull();
-
- badge.children().simulate("press");
+ const touchable = component.getByRole("button");
+ fireEvent.press(touchable);
expect(badgeProps.onClick).toHaveBeenCalled();
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs
index 8f11325d..752af8f7 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/Badge.jsx.ejs
@@ -22,7 +22,7 @@ export function Badge({ value, style, onClick }) {
return (
-
+
{renderContent}
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs
index 6dd7c1ce..5d146d8b 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateJsFn/src/components/__tests__/Badge.spec.jsx.ejs
@@ -1,6 +1,6 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
-import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native";
+import { render, fireEvent } from "@testing-library/react-native";
+import { Platform } from "react-native";
import { Badge } from "../Badge";
@@ -16,9 +16,9 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -27,9 +27,9 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("triggers the onClick action when pressed", () => {
@@ -38,13 +38,10 @@ describe.each(["ios", "android"])("Badge for %s", os => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity;
-
- expect(badge.children().find(Touchable)).not.toBeNull();
-
- badge.children().simulate("press");
+ const touchable = component.getByRole("button");
+ fireEvent.press(touchable);
expect(badgeProps.onClick).toHaveBeenCalled();
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs
index 829411eb..0bb264db 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/Badge.tsx.ejs
@@ -19,7 +19,7 @@ export class Badge extends Component {
return (
-
+
{this.renderContent()}
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs
index efdb0b80..91dca169 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTs/src/components/__tests__/Badge.spec.tsx.ejs
@@ -1,6 +1,6 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
-import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native";
+import { render, fireEvent } from "@testing-library/react-native";
+import { Platform } from "react-native";
import { Badge, BadgeProps } from "../Badge";
@@ -16,9 +16,9 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -27,9 +27,9 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("triggers the onClick action when pressed", () => {
@@ -38,13 +38,10 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity;
-
- expect(badge.children().find(Touchable)).not.toBeNull();
-
- badge.children().simulate("press");
+ const touchable = component.getByRole("button");
+ fireEvent.press(touchable);
expect(badgeProps.onClick).toHaveBeenCalled();
});
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs
index 2a3da723..3f42fd81 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/Badge.tsx.ejs
@@ -28,7 +28,7 @@ export function Badge({ value, style, onClick }: BadgeProps): ReactElement {
return (
-
+
{renderContent}
diff --git a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs
index efdb0b80..91dca169 100644
--- a/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs
+++ b/packages/generator-widget/generators/app/templates/pluggable/native/fullTemplateTsFn/src/components/__tests__/Badge.spec.tsx.ejs
@@ -1,6 +1,6 @@
import { createElement } from "react";
-import { shallow } from "enzyme";
-import { Platform, TouchableNativeFeedback, TouchableOpacity } from "react-native";
+import { render, fireEvent } from "@testing-library/react-native";
+import { Platform } from "react-native";
import { Badge, BadgeProps } from "../Badge";
@@ -16,9 +16,9 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("renders the structure correctly with custom style", () => {
@@ -27,9 +27,9 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- expect(badge).toMatchSnapshot();
+ expect(component.toJSON()).toMatchSnapshot();
});
it("triggers the onClick action when pressed", () => {
@@ -38,13 +38,10 @@ describe.each(["ios", "android"])("Badge for %s", (os: "ios" | "android") => {
onClick: jest.fn(),
value: "0"
};
- const badge = shallow();
+ const component = render();
- const Touchable = Platform.OS === "android" ? TouchableNativeFeedback : TouchableOpacity;
-
- expect(badge.children().find(Touchable)).not.toBeNull();
-
- badge.children().simulate("press");
+ const touchable = component.getByRole("button");
+ fireEvent.press(touchable);
expect(badgeProps.onClick).toHaveBeenCalled();
});
diff --git a/packages/pluggable-widgets-tools/CHANGELOG.md b/packages/pluggable-widgets-tools/CHANGELOG.md
index 9a38d95b..0e1d6baf 100644
--- a/packages/pluggable-widgets-tools/CHANGELOG.md
+++ b/packages/pluggable-widgets-tools/CHANGELOG.md
@@ -10,6 +10,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- We migrated to pnpm as our package manager. Users of the widgets tools should be able to continue using their package manager of choice.
+- We updated React Native to version 0.77.3 to align with the Native Widgets project requirements.
+
+- We updated Jest configuration for React Native testing to use the recommended preset and removed Enzyme support for improved compatibility and performance.
+
## [10.21.2] - 2025-07-02
### Changed
diff --git a/packages/pluggable-widgets-tools/package.json b/packages/pluggable-widgets-tools/package.json
index fad4c481..21a4ed3f 100644
--- a/packages/pluggable-widgets-tools/package.json
+++ b/packages/pluggable-widgets-tools/package.json
@@ -31,6 +31,7 @@
"@babel/plugin-transform-react-jsx": "^7.25.9",
"@babel/preset-env": "^7.26.0",
"@babel/preset-react": "^7.25.9",
+ "@react-native/babel-preset": "0.77.3",
"@cfaester/enzyme-adapter-react-18": "^0.6.0",
"@prettier/plugin-xml": "^1.2.0",
"@rollup/plugin-alias": "^5.1.1",
@@ -47,9 +48,9 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.4.3",
+ "@testing-library/react-native": "^13.3.3",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
- "@types/react-native": "^0.72.7",
"@types/testing-library__jest-dom": "^5.14.5",
"@typescript-eslint/eslint-plugin": "^5.8.1",
"@typescript-eslint/parser": "^5.8.1",
@@ -82,14 +83,13 @@
"jest-react-hooks-shallow": "^1.5.1",
"make-dir": "^3.1.0",
"mendix": "^10.21.64362",
- "metro-react-native-babel-preset": "^0.74.1",
"mime": "^3.0.0",
"node-fetch": "^2.6.1",
"postcss": "^8.3.11",
"postcss-import": "^14.0.2",
"postcss-url": "^10.1.0",
"prettier": "^2.5.1",
- "react-test-renderer": "18.2.0",
+ "react-test-renderer": "18.3.1",
"recursive-copy": "^2.0.11",
"resolve": "^1.19.0",
"rollup": "^3.29.5",
@@ -117,7 +117,7 @@
"async-mutex": "^0.2.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-native": "^0.72.7",
+ "react-native": "~0.77.3",
"tree-kill": "^1.2.2",
"yeoman-test": "^6.2.0"
},
diff --git a/packages/pluggable-widgets-tools/test-config/jest.native.config.js b/packages/pluggable-widgets-tools/test-config/jest.native.config.js
index d6a062e9..8346a68b 100644
--- a/packages/pluggable-widgets-tools/test-config/jest.native.config.js
+++ b/packages/pluggable-widgets-tools/test-config/jest.native.config.js
@@ -3,7 +3,7 @@ const { join } = require("path");
const projectDir = process.cwd();
module.exports = {
- preset: hasDependency("@testing-library/react-native") ? "@testing-library/react-native" : "react-native",
+ preset: "react-native",
testRunner: "jest-jasmine2",
clearMocks: true,
haste: {
@@ -14,9 +14,7 @@ module.exports = {
setupFilesAfterEnv: [
join(__dirname, "test-index-native.js"),
...(hasDependency("react-native-gesture-handler") ? ["react-native-gesture-handler/jestSetup.js"] : []),
- ...(hasDependency("@testing-library/jest-native") ? ["@testing-library/jest-native/extend-expect"] : [])
],
- snapshotSerializers: ["enzyme-to-json/serializer"],
testMatch: ["/**/*.spec.{js,jsx,ts,tsx}"],
transformIgnorePatterns: ["node_modules/(?!(.*react-native.*|victory-)/)"],
transform: {
@@ -35,7 +33,6 @@ module.exports = {
"react-hot-loader/root": join(__dirname, "__mocks__/hot")
},
moduleDirectories: ["node_modules", join(projectDir, "node_modules")],
- collectCoverage: !process.env.CI,
coverageDirectory: join(projectDir, "dist/coverage"),
testEnvironment: "jsdom"
};
diff --git a/packages/pluggable-widgets-tools/test-config/test-index-native.js b/packages/pluggable-widgets-tools/test-config/test-index-native.js
index 8c4d3dd8..eec51722 100644
--- a/packages/pluggable-widgets-tools/test-config/test-index-native.js
+++ b/packages/pluggable-widgets-tools/test-config/test-index-native.js
@@ -1,6 +1,4 @@
const { TextEncoder, TextDecoder } = require("util");
-const { configure: configureEnzyme } = require("enzyme");
-const Adapter = require("@cfaester/enzyme-adapter-react-18").default;
const enableHooks = require("jest-react-hooks-shallow").default;
Object.defineProperties(global, {
@@ -12,7 +10,6 @@ Object.defineProperties(global, {
}
});
-configureEnzyme({ adapter: new Adapter() });
enableHooks(jest);
global.setImmediate = global.setTimeout;
diff --git a/packages/pluggable-widgets-tools/test-config/transform-native.js b/packages/pluggable-widgets-tools/test-config/transform-native.js
index eed8109d..4b422fac 100644
--- a/packages/pluggable-widgets-tools/test-config/transform-native.js
+++ b/packages/pluggable-widgets-tools/test-config/transform-native.js
@@ -1,3 +1,3 @@
module.exports = require("babel-jest").createTransformer({
- presets: ["module:metro-react-native-babel-preset"]
+ presets: ["module:@react-native/babel-preset"]
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9c10bf49..e7ae32e2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -161,6 +161,9 @@ importers:
'@prettier/plugin-xml':
specifier: ^1.2.0
version: 1.2.0
+ '@react-native/babel-preset':
+ specifier: 0.77.3
+ version: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))
'@rollup/plugin-alias':
specifier: ^5.1.1
version: 5.1.1(rollup@3.29.5)
@@ -200,6 +203,9 @@ importers:
'@testing-library/react':
specifier: ^13.4.0
version: 13.4.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@testing-library/react-native':
+ specifier: ^13.3.3
+ version: 13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1)
'@testing-library/user-event':
specifier: ^14.4.3
version: 14.6.1(@testing-library/dom@8.20.1)
@@ -209,9 +215,6 @@ importers:
'@types/react-dom':
specifier: ^18.2.0
version: 18.3.7(@types/react@18.3.23)
- '@types/react-native':
- specifier: ^0.72.7
- version: 0.72.8(react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1))
'@types/testing-library__jest-dom':
specifier: ^5.14.5
version: 5.14.9
@@ -308,9 +311,6 @@ importers:
mendix:
specifier: ^10.21.64362
version: 10.24.74050
- metro-react-native-babel-preset:
- specifier: ^0.74.1
- version: 0.74.1(@babel/core@7.28.0)
mime:
specifier: ^3.0.0
version: 3.0.0
@@ -330,8 +330,8 @@ importers:
specifier: ^2.5.1
version: 2.8.8
react-test-renderer:
- specifier: 18.2.0
- version: 18.2.0(react@18.3.1)
+ specifier: 18.3.1
+ version: 18.3.1(react@18.3.1)
recursive-copy:
specifier: ^2.0.11
version: 2.0.14
@@ -409,8 +409,8 @@ importers:
specifier: ^18.2.0
version: 18.3.1(react@18.3.1)
react-native:
- specifier: ^0.72.7
- version: 0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1)
+ specifier: ~0.77.3
+ version: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1)
tree-kill:
specifier: ^1.2.2
version: 1.2.2
@@ -1295,6 +1295,10 @@ packages:
'@isaacs/string-locale-compare@1.1.0':
resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==}
+ '@isaacs/ttlcache@1.4.1':
+ resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
+ engines: {node: '>=12'}
+
'@istanbuljs/load-nyc-config@1.1.0':
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
engines: {node: '>=8'}
@@ -1695,27 +1699,70 @@ packages:
engines: {node: '>=16'}
hasBin: true
- '@react-native/assets-registry@0.72.0':
- resolution: {integrity: sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==}
+ '@react-native/assets-registry@0.77.3':
+ resolution: {integrity: sha512-kLocY1mlQjCdrX0y4eYQblub9NDdX+rkNii3F2rumri532ILjMAvkdpehf2PwQDj0X6PZYF1XFjszPw5uzq0Aw==}
+ engines: {node: '>=18'}
+
+ '@react-native/babel-plugin-codegen@0.77.3':
+ resolution: {integrity: sha512-UbjQY8vFCVD4Aw4uSRWslKa26l1uOZzYhhKzWWOrV36f2NnP9Siid2rPkLa+MIJk16G2UzDRtUrMhGuejxp9cQ==}
+ engines: {node: '>=18'}
- '@react-native/codegen@0.72.8':
- resolution: {integrity: sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng==}
+ '@react-native/babel-preset@0.77.3':
+ resolution: {integrity: sha512-Cy1RoL5/nh2S/suWgfTuhUwkERoDN/Q2O6dZd3lcNcBrjd5Y++sBJGyBnHd9pqlSmOy8RLLBJZ9dOylycBOqzQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
+
+ '@react-native/codegen@0.77.3':
+ resolution: {integrity: sha512-Q6ZJCE7h6Z3v3DiEZUnqzHbgwF3ZILN+ACTx6qu/x2X1cL96AatKwdX92e0+7J9RFg6gdoFYJgRrW8Q6VnWZsQ==}
+ engines: {node: '>=18'}
peerDependencies:
'@babel/preset-env': ^7.1.6
- '@react-native/gradle-plugin@0.72.11':
- resolution: {integrity: sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==}
+ '@react-native/community-cli-plugin@0.77.3':
+ resolution: {integrity: sha512-8OKvow2jHojl1d3PW/84uTBPMnmxRyPtfhBL0sQxrWP5Kgooe5XALoWsoBIFk+aIFu/fV7Pv0AAd0cdLC0NtOg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@react-native-community/cli': '*'
+ peerDependenciesMeta:
+ '@react-native-community/cli':
+ optional: true
+
+ '@react-native/debugger-frontend@0.77.3':
+ resolution: {integrity: sha512-FTERmc43r/3IpTvUZTr9gVVTgOIrg1hrkN57POr/CiL8RbcY/nv6vfNM7/CXG5WF8ckHiLeWTcRHzJUl1+rFkw==}
+ engines: {node: '>=18'}
+
+ '@react-native/dev-middleware@0.77.3':
+ resolution: {integrity: sha512-tCylGMjibJAEl2r2nWX5L5CvK6XFLGbjhe7Su7OcxRGrynHin87rAmcaTeoTtbtsREFlFM0f4qxcmwCxmbZHJw==}
+ engines: {node: '>=18'}
- '@react-native/js-polyfills@0.72.1':
- resolution: {integrity: sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==}
+ '@react-native/gradle-plugin@0.77.3':
+ resolution: {integrity: sha512-GRVNBDowaFub9j+WBLGI09bDbCq+f7ugaNRr6lmZnLx/xdmiKUj9YKyARt4zn8m65MRK2JGlJk0OqmQOvswpzQ==}
+ engines: {node: '>=18'}
+
+ '@react-native/js-polyfills@0.77.3':
+ resolution: {integrity: sha512-XqxnQRyKD11u5ZYG5LPnElThWYJf3HMosqqkJGB4nwx6nc6WKxj1sR9snptibExDMGioZ2OyvPWCF8tX+qggrw==}
+ engines: {node: '>=18'}
+
+ '@react-native/metro-babel-transformer@0.77.3':
+ resolution: {integrity: sha512-eBX5ibF1ovuZGwo08UOhnnkZDnhl8DdrCulJ8V/LCnpC6CihhQyxtolO+BmzXjUFyGiH7ImoxX7+mpXI74NYGg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@babel/core': '*'
- '@react-native/normalize-colors@0.72.0':
- resolution: {integrity: sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==}
+ '@react-native/normalize-colors@0.77.3':
+ resolution: {integrity: sha512-9gHhvK0EKskgIN4JiwzQdxiKhLCgH2LpCp+v38ZxWQpXTMbTDDE4AJRqYgWp2v9WUFQB/S5+XqBDZDgn/MGq9A==}
- '@react-native/virtualized-lists@0.72.8':
- resolution: {integrity: sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==}
+ '@react-native/virtualized-lists@0.77.3':
+ resolution: {integrity: sha512-3B0TPbLp7ZMWTlsOf+MzcuKuqF2HZzqh94+tPvw1thF5PxPaO2yZjVxfjrQ9EtdhQisG4siwiXVHB9DD6VkU4A==}
+ engines: {node: '>=18'}
peerDependencies:
+ '@types/react': ^18.2.6
+ react: '*'
react-native: '*'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
'@rollup/plugin-alias@5.1.1':
resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==}
@@ -1875,6 +1922,18 @@ packages:
resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==}
engines: {node: '>=8', npm: '>=6', yarn: '>=1'}
+ '@testing-library/react-native@13.3.3':
+ resolution: {integrity: sha512-k6Mjsd9dbZgvY4Bl7P1NIpePQNi+dfYtlJ5voi9KQlynxSyQkfOgJmYGCYmw/aSgH/rUcFvG8u5gd4npzgRDyg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ jest: '>=29.0.0'
+ react: '>=18.2.0'
+ react-native: '>=0.71'
+ react-test-renderer: '>=18.2.0'
+ peerDependenciesMeta:
+ jest:
+ optional: true
+
'@testing-library/react@13.4.0':
resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==}
engines: {node: '>=12'}
@@ -1950,18 +2009,12 @@ packages:
'@types/graceful-fs@4.1.9':
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
- '@types/istanbul-lib-coverage@2.0.4':
- resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
-
'@types/istanbul-lib-coverage@2.0.6':
resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
'@types/istanbul-lib-report@3.0.3':
resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
- '@types/istanbul-reports@3.0.1':
- resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
-
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
@@ -1986,6 +2039,9 @@ packages:
'@types/node-fetch@2.6.1':
resolution: {integrity: sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==}
+ '@types/node-forge@1.3.14':
+ resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==}
+
'@types/node@15.14.9':
resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==}
@@ -2006,9 +2062,6 @@ packages:
peerDependencies:
'@types/react': ^18.0.0
- '@types/react-native@0.72.8':
- resolution: {integrity: sha512-St6xA7+EoHN5mEYfdWnfYt0e8u6k2FR0P9s2arYgakQGFgU1f9FlPrIEcj0X24pLCF5c5i3WVuLCUdiCYHmOoA==}
-
'@types/react@18.0.38':
resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==}
@@ -2356,8 +2409,8 @@ packages:
asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- ast-types@0.15.2:
- resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
+ ast-types@0.16.1:
+ resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
astral-regex@1.0.0:
@@ -2398,11 +2451,6 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- babel-core@7.0.0-bridge.0:
- resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
babel-eslint@10.1.0:
resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==}
engines: {node: '>=6'}
@@ -2439,6 +2487,9 @@ packages:
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ babel-plugin-syntax-hermes-parser@0.25.1:
+ resolution: {integrity: sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==}
+
babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
@@ -2627,6 +2678,14 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
+ chrome-launcher@0.15.2:
+ resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+
+ chromium-edge-launcher@0.2.0:
+ resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==}
+
ci-info@2.0.0:
resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
@@ -2741,6 +2800,10 @@ packages:
command-exists@1.2.9:
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
+ commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
+
commander@2.13.0:
resolution: {integrity: sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==}
@@ -3005,9 +3068,6 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
- deprecated-react-native-prop-types@4.2.3:
- resolution: {integrity: sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g==}
-
deprecation@2.3.1:
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
@@ -3027,10 +3087,6 @@ packages:
dezalgo@1.0.4:
resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==}
- diff-sequences@29.3.1:
- resolution: {integrity: sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
diff-sequences@29.6.3:
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -3538,8 +3594,8 @@ packages:
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
- flow-enums-runtime@0.0.5:
- resolution: {integrity: sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==}
+ flow-enums-runtime@0.0.6:
+ resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==}
flow-parser@0.206.0:
resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==}
@@ -3753,9 +3809,15 @@ packages:
hermes-estree@0.12.0:
resolution: {integrity: sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==}
+ hermes-estree@0.25.1:
+ resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
+
hermes-parser@0.12.0:
resolution: {integrity: sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==}
+ hermes-parser@0.25.1:
+ resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
+
hermes-profile-transformer@0.0.6:
resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==}
engines: {node: '>=8'}
@@ -3963,6 +4025,11 @@ packages:
resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
engines: {node: '>=0.10.0'}
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -4097,6 +4164,10 @@ packages:
resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
engines: {node: '>=4'}
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -4195,10 +4266,6 @@ packages:
ts-node:
optional: true
- jest-diff@29.4.1:
- resolution: {integrity: sha512-uazdl2g331iY56CEyfbNA0Ut7Mn2ulAG5vUaEHXycf1L6IPyuImIxSz4F0VYBKi7LYIuxOwTZzK3wh5jHzASMw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
jest-diff@29.7.0:
resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -4248,10 +4315,6 @@ packages:
resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-matcher-utils@29.4.1:
- resolution: {integrity: sha512-k5h0u8V4nAEy6lSACepxL/rw78FLDkBnXhZVgFneVpnJONhb2DhZj/Gv4eNe+1XqQ5IhgUcqj745UwH0HJmMnA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
jest-matcher-utils@29.7.0:
resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -4389,11 +4452,15 @@ packages:
jsc-safe-url@0.2.4:
resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
- jscodeshift@0.14.0:
- resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==}
+ jscodeshift@17.3.0:
+ resolution: {integrity: sha512-LjFrGOIORqXBU+jwfC9nbkjmQfFldtMIoS6d9z2LG/lkmyNXsJAySPT+2SWXJEoE68/bCWcxKpXH37npftgmow==}
+ engines: {node: '>=16'}
hasBin: true
peerDependencies:
'@babel/preset-env': ^7.1.6
+ peerDependenciesMeta:
+ '@babel/preset-env':
+ optional: true
jsdom@20.0.3:
resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
@@ -4494,6 +4561,9 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lighthouse-logger@1.4.2:
+ resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==}
+
lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -4652,6 +4722,9 @@ packages:
makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ marky@1.3.0:
+ resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==}
+
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -4693,26 +4766,50 @@ packages:
resolution: {integrity: sha512-dAnAmBqRdTwTPVn4W4JrowPolxD1MDbuU97u3MqtWZgVRvDpmr+Cqnn5oSxLQk3Uc+Zy3wkqVrB/zXNRlLDSAQ==}
engines: {node: '>=16'}
+ metro-babel-transformer@0.81.5:
+ resolution: {integrity: sha512-oKCQuajU5srm+ZdDcFg86pG/U8hkSjBlkyFjz380SZ4TTIiI5F+OQB830i53D8hmqmcosa4wR/pnKv8y4Q3dLw==}
+ engines: {node: '>=18.18'}
+
metro-cache-key@0.76.9:
resolution: {integrity: sha512-ugJuYBLngHVh1t2Jj+uP9pSCQl7enzVXkuh6+N3l0FETfqjgOaSHlcnIhMPn6yueGsjmkiIfxQU4fyFVXRtSTw==}
engines: {node: '>=16'}
+ metro-cache-key@0.81.5:
+ resolution: {integrity: sha512-lGWnGVm1UwO8faRZ+LXQUesZSmP1LOg14OVR+KNPBip8kbMECbQJ8c10nGesw28uQT7AE0lwQThZPXlxDyCLKQ==}
+ engines: {node: '>=18.18'}
+
metro-cache@0.76.9:
resolution: {integrity: sha512-W6QFEU5AJG1gH4Ltv8S2IvhmEhSDYnbPafyj5fGR3YLysdykj+olKv9B0V+YQXtcLGyY5CqpXLYUx595GdiKzA==}
engines: {node: '>=16'}
+ metro-cache@0.81.5:
+ resolution: {integrity: sha512-wOsXuEgmZMZ5DMPoz1pEDerjJ11AuMy9JifH4yNW7NmWS0ghCRqvDxk13LsElzLshey8C+my/tmXauXZ3OqZgg==}
+ engines: {node: '>=18.18'}
+
metro-config@0.76.9:
resolution: {integrity: sha512-oYyJ16PY3rprsfoi80L+gDJhFJqsKI3Pob5LKQbJpvL+gGr8qfZe1eQzYp5Xxxk9DOHKBV1xD94NB8GdT/DA8Q==}
engines: {node: '>=16'}
+ metro-config@0.81.5:
+ resolution: {integrity: sha512-oDRAzUvj6RNRxratFdcVAqtAsg+T3qcKrGdqGZFUdwzlFJdHGR9Z413sW583uD2ynsuOjA2QB6US8FdwiBdNKg==}
+ engines: {node: '>=18.18'}
+
metro-core@0.76.9:
resolution: {integrity: sha512-DSeEr43Wrd5Q7ySfRzYzDwfV89g2OZTQDf1s3exOcLjE5fb7awoLOkA2h46ZzN8NcmbbM0cuJy6hOwF073/yRQ==}
engines: {node: '>=16'}
+ metro-core@0.81.5:
+ resolution: {integrity: sha512-+2R0c8ByfV2N7CH5wpdIajCWa8escUFd8TukfoXyBq/vb6yTCsznoA25FhNXJ+MC/cz1L447Zj3vdUfCXIZBwg==}
+ engines: {node: '>=18.18'}
+
metro-file-map@0.76.9:
resolution: {integrity: sha512-7vJd8kksMDTO/0fbf3081bTrlw8SLiploeDf+vkkf0OwlrtDUWPOikfebp+MpZB2S61kamKjCNRfRkgrbPfSwg==}
engines: {node: '>=16'}
+ metro-file-map@0.81.5:
+ resolution: {integrity: sha512-mW1PKyiO3qZvjeeVjj1brhkmIotObA3/9jdbY1fQQYvEWM6Ml7bN/oJCRDGn2+bJRlG+J8pwyJ+DgdrM4BsKyg==}
+ engines: {node: '>=18.18'}
+
metro-inspector-proxy@0.76.9:
resolution: {integrity: sha512-idIiPkb8CYshc0WZmbzwmr4B1QwsQUbpDwBzHwxE1ni27FWKWhV9CD5p+qlXZHgfwJuMRfPN+tIaLSR8+vttYg==}
engines: {node: '>=16'}
@@ -4722,16 +4819,14 @@ packages:
resolution: {integrity: sha512-ju2nUXTKvh96vHPoGZH/INhSvRRKM14CbGAJXQ98+g8K5z1v3luYJ/7+dFQB202eVzJdTB2QMtBjI1jUUpooCg==}
engines: {node: '>=16'}
+ metro-minify-terser@0.81.5:
+ resolution: {integrity: sha512-/mn4AxjANnsSS3/Bb+zA1G5yIS5xygbbz/OuPaJYs0CPcZCaWt66D+65j4Ft/nJkffUxcwE9mk4ubpkl3rjgtw==}
+ engines: {node: '>=18.18'}
+
metro-minify-uglify@0.76.9:
resolution: {integrity: sha512-MXRrM3lFo62FPISlPfTqC6n9HTEI3RJjDU5SvpE7sJFfJKLx02xXQEltsL/wzvEqK+DhRQ5DEYACTwf5W4Z3yA==}
engines: {node: '>=16'}
- metro-react-native-babel-preset@0.74.1:
- resolution: {integrity: sha512-DjsG9nqm5C7cjB2SlgbcNJOn9y5MBUd3bRlCfnoj8CxAeGTGkS+yXd183lHR3C1bhmQNjuUE0abzzpE1CFh6JQ==}
- deprecated: Use @react-native/babel-preset instead
- peerDependencies:
- '@babel/core': '*'
-
metro-react-native-babel-preset@0.76.9:
resolution: {integrity: sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ==}
engines: {node: '>=16'}
@@ -4749,32 +4844,62 @@ packages:
resolution: {integrity: sha512-s86ipNRas9vNR5lChzzSheF7HoaQEmzxBLzwFA6/2YcGmUCowcoyPAfs1yPh4cjMw9F1T4KlMLaiwniGE7HCyw==}
engines: {node: '>=16'}
+ metro-resolver@0.81.5:
+ resolution: {integrity: sha512-6BX8Nq3g3go3FxcyXkVbWe7IgctjDTk6D9flq+P201DfHHQ28J+DWFpVelFcrNTn4tIfbP/Bw7u/0g2BGmeXfQ==}
+ engines: {node: '>=18.18'}
+
metro-runtime@0.76.9:
resolution: {integrity: sha512-/5vezDpGUtA0Fv6cJg0+i6wB+QeBbvLeaw9cTSG7L76liP0b91f8vOcYzGaUbHI8pznJCCTerxRzpQ8e3/NcDw==}
engines: {node: '>=16'}
+ metro-runtime@0.81.5:
+ resolution: {integrity: sha512-M/Gf71ictUKP9+77dV/y8XlAWg7xl76uhU7ggYFUwEdOHHWPG6gLBr1iiK0BmTjPFH8yRo/xyqMli4s3oGorPQ==}
+ engines: {node: '>=18.18'}
+
metro-source-map@0.76.9:
resolution: {integrity: sha512-q5qsMlu8EFvsT46wUUh+ao+efDsicT30zmaPATNhq+PcTawDbDgnMuUD+FT0bvxxnisU2PWl91RdzKfNc2qPQA==}
engines: {node: '>=16'}
+ metro-source-map@0.81.5:
+ resolution: {integrity: sha512-Jz+CjvCKLNbJZYJTBeN3Kq9kIJf6b61MoLBdaOQZJ5Ajhw6Pf95Nn21XwA8BwfUYgajsi6IXsp/dTZsYJbN00Q==}
+ engines: {node: '>=18.18'}
+
metro-symbolicate@0.76.9:
resolution: {integrity: sha512-Yyq6Ukj/IeWnGST09kRt0sBK8TwzGZWoU7YAcQlh14+AREH454Olx4wbFTpkkhUkV05CzNCvUuXQ0efFxhA1bw==}
engines: {node: '>=16'}
hasBin: true
+ metro-symbolicate@0.81.5:
+ resolution: {integrity: sha512-X3HV3n3D6FuTE11UWFICqHbFMdTavfO48nXsSpnNGFkUZBexffu0Xd+fYKp+DJLNaQr3S+lAs8q9CgtDTlRRuA==}
+ engines: {node: '>=18.18'}
+ hasBin: true
+
metro-transform-plugins@0.76.9:
resolution: {integrity: sha512-YEQeNlOCt92I7S9A3xbrfaDfwfgcxz9PpD/1eeop3c4cO3z3Q3otYuxw0WJ/rUIW8pZfOm5XCehd+1NRbWlAaw==}
engines: {node: '>=16'}
+ metro-transform-plugins@0.81.5:
+ resolution: {integrity: sha512-MmHhVx/1dJC94FN7m3oHgv5uOjKH8EX8pBeu1pnPMxbJrx6ZuIejO0k84zTSaQTZ8RxX1wqwzWBpXAWPjEX8mA==}
+ engines: {node: '>=18.18'}
+
metro-transform-worker@0.76.9:
resolution: {integrity: sha512-F69A0q0qFdJmP2Clqr6TpTSn4WTV9p5A28h5t9o+mB22ryXBZfUQ6BFBBW/6Wp2k/UtPH+oOsBfV9guiqm3d2Q==}
engines: {node: '>=16'}
+ metro-transform-worker@0.81.5:
+ resolution: {integrity: sha512-lUFyWVHa7lZFRSLJEv+m4jH8WrR5gU7VIjUlg4XmxQfV8ngY4V10ARKynLhMYPeQGl7Qvf+Ayg0eCZ272YZ4Mg==}
+ engines: {node: '>=18.18'}
+
metro@0.76.9:
resolution: {integrity: sha512-gcjcfs0l5qIPg0lc5P7pj0x7vPJ97tan+OnEjiYLbKjR1D7Oa78CE93YUPyymUPH6q7VzlzMm1UjT35waEkZUw==}
engines: {node: '>=16'}
hasBin: true
+ metro@0.81.5:
+ resolution: {integrity: sha512-YpFF0DDDpDVygeca2mAn7K0+us+XKmiGk4rIYMz/CRdjFoCGqAei/IQSpV0UrGfQbToSugpMQeQJveaWSH88Hg==}
+ engines: {node: '>=18.18'}
+ hasBin: true
+
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
@@ -4966,10 +5091,6 @@ packages:
node-addon-api@7.1.1:
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
- node-dir@0.1.17:
- resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
- engines: {node: '>= 0.10.5'}
-
node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
@@ -4979,6 +5100,10 @@ packages:
encoding:
optional: true
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
node-gyp@8.4.1:
resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==}
engines: {node: '>= 10.12.0'}
@@ -5108,6 +5233,10 @@ packages:
resolution: {integrity: sha512-g0I/OLnSxf6OrN3QjSew3bTDJCdbZoWxnh8adh1z36alwCuGF1dgDeRA25bTYSakrG5WULSaWJPOdgnf1O/oQw==}
engines: {node: '>=16'}
+ ob1@0.81.5:
+ resolution: {integrity: sha512-iNpbeXPLmaiT9I5g16gFFFjsF3sGxLpYG2EGP3dfFB4z+l9X60mp/yRzStHhMtuNt8qmf7Ww80nOPQHngHhnIQ==}
+ engines: {node: '>=18.18'}
+
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -5167,6 +5296,10 @@ packages:
resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
engines: {node: '>=8'}
+ open@7.4.2:
+ resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
+ engines: {node: '>=8'}
+
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -5716,8 +5849,8 @@ packages:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- react-devtools-core@4.28.5:
- resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==}
+ react-devtools-core@6.1.5:
+ resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==}
react-dom@18.3.1:
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
@@ -5733,12 +5866,20 @@ packages:
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
- react-native@0.72.17:
- resolution: {integrity: sha512-k3dNe0XqoYCGGWTenbupWSj+ljW3GIfmYS5P4s3if4j0csx2YbenKgH1aJNWLp+UP7ONwfId6G+uBoUJfyMxXg==}
- engines: {node: '>=16'}
+ react-native@0.77.3:
+ resolution: {integrity: sha512-fIYZ9+zX+iGcb/xGZA6oN3Uq9x46PdqVYtlyG+WmOIFQPVXgryaS9FJLdTvoTpsEA2JXGSGgNOdm640IdAW3cA==}
+ engines: {node: '>=18'}
hasBin: true
peerDependencies:
- react: 18.2.0
+ '@types/react': ^18.2.6
+ react: ^18.2.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-refresh@0.14.2:
+ resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
+ engines: {node: '>=0.10.0'}
react-refresh@0.4.3:
resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==}
@@ -5749,10 +5890,10 @@ packages:
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
- react-test-renderer@18.2.0:
- resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==}
+ react-test-renderer@18.3.1:
+ resolution: {integrity: sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==}
peerDependencies:
- react: ^18.2.0
+ react: ^18.3.1
react@16.14.0:
resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==}
@@ -5816,8 +5957,8 @@ packages:
readline@1.3.0:
resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==}
- recast@0.21.5:
- resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
+ recast@0.23.11:
+ resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
engines: {node: '>= 4'}
rechoir@0.6.2:
@@ -5933,11 +6074,6 @@ packages:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rimraf@2.6.3:
- resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
rimraf@2.7.1:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -6044,6 +6180,10 @@ packages:
resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==}
engines: {node: '>=8'}
+ selfsigned@2.4.1:
+ resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
+ engines: {node: '>=10'}
+
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
@@ -6431,10 +6571,6 @@ packages:
resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
engines: {node: '>=8'}
- temp@0.8.4:
- resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==}
- engines: {node: '>=6.0.0'}
-
terser@5.43.1:
resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==}
engines: {node: '>=10'}
@@ -6460,10 +6596,17 @@ packages:
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ tiny-invariant@1.3.3:
+ resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+
tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
+ tmp@0.2.5:
+ resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==}
+ engines: {node: '>=14.14'}
+
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
@@ -6695,11 +6838,6 @@ packages:
url-parse@1.5.10:
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
- use-sync-external-store@1.5.0:
- resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -6842,13 +6980,14 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- write-file-atomic@2.4.3:
- resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
-
write-file-atomic@4.0.2:
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ write-file-atomic@5.0.1:
+ resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
ws@6.2.3:
resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==}
peerDependencies:
@@ -7093,6 +7232,7 @@ snapshots:
'@babel/helper-environment-visitor@7.24.7':
dependencies:
'@babel/types': 7.28.1
+ optional: true
'@babel/helper-globals@7.28.0': {}
@@ -7226,6 +7366,7 @@ snapshots:
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
+ optional: true
'@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.0)':
dependencies:
@@ -7234,6 +7375,7 @@ snapshots:
'@babel/helper-plugin-utils': 7.27.1
transitivePeerDependencies:
- supports-color
+ optional: true
'@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.28.0)':
dependencies:
@@ -7245,12 +7387,14 @@ snapshots:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0)
+ optional: true
'@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.28.0)':
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.0)
+ optional: true
'@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.0)':
dependencies:
@@ -7260,12 +7404,14 @@ snapshots:
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.0)
'@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0)
+ optional: true
'@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.28.0)':
dependencies:
'@babel/core': 7.28.0
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.0)
+ optional: true
'@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.0)':
dependencies:
@@ -7275,6 +7421,7 @@ snapshots:
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
+ optional: true
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)':
dependencies:
@@ -7948,7 +8095,7 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-is: 18.3.1
- react-test-renderer: 18.2.0(react@18.3.1)
+ react-test-renderer: 18.3.1(react@18.3.1)
'@cspotcode/source-map-support@0.8.1':
dependencies:
@@ -7998,11 +8145,13 @@ snapshots:
'@gar/promisify@1.1.3': {}
- '@hapi/hoek@9.3.0': {}
+ '@hapi/hoek@9.3.0':
+ optional: true
'@hapi/topo@5.1.0':
dependencies:
'@hapi/hoek': 9.3.0
+ optional: true
'@humanwhocodes/config-array@0.13.0':
dependencies:
@@ -8043,6 +8192,8 @@ snapshots:
'@isaacs/string-locale-compare@1.1.0': {}
+ '@isaacs/ttlcache@1.4.1': {}
+
'@istanbuljs/load-nyc-config@1.1.0':
dependencies:
camelcase: 5.3.1
@@ -8238,14 +8389,16 @@ snapshots:
'@types/node': 16.18.126
'@types/yargs': 15.0.19
chalk: 4.1.2
+ optional: true
'@jest/types@27.5.1':
dependencies:
- '@types/istanbul-lib-coverage': 2.0.4
- '@types/istanbul-reports': 3.0.1
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
'@types/node': 16.18.126
'@types/yargs': 16.0.9
chalk: 4.1.2
+ optional: true
'@jest/types@29.6.3':
dependencies:
@@ -8627,6 +8780,7 @@ snapshots:
prompts: 2.4.2
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-config@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8638,12 +8792,14 @@ snapshots:
joi: 17.13.3
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-debugger-ui@11.4.1':
dependencies:
serve-static: 1.16.2
transitivePeerDependencies:
- supports-color
+ optional: true
'@react-native-community/cli-doctor@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8666,6 +8822,7 @@ snapshots:
yaml: 2.8.0
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-hermes@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8675,6 +8832,7 @@ snapshots:
hermes-profile-transformer: 0.0.6
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-platform-android@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8685,6 +8843,7 @@ snapshots:
logkitty: 0.7.1
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-platform-ios@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8696,6 +8855,7 @@ snapshots:
ora: 5.4.1
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-plugin-metro@11.4.1(@babel/core@7.28.0)(encoding@0.1.13)':
dependencies:
@@ -8716,6 +8876,7 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
'@react-native-community/cli-server-api@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8733,6 +8894,7 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
'@react-native-community/cli-tools@11.4.1(encoding@0.1.13)':
dependencies:
@@ -8747,10 +8909,12 @@ snapshots:
shell-quote: 1.8.3
transitivePeerDependencies:
- encoding
+ optional: true
'@react-native-community/cli-types@11.4.1':
dependencies:
joi: 17.13.3
+ optional: true
'@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13)':
dependencies:
@@ -8777,33 +8941,148 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
+
+ '@react-native/assets-registry@0.77.3': {}
+
+ '@react-native/babel-plugin-codegen@0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))':
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@react-native/codegen': 0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
- '@react-native/assets-registry@0.72.0': {}
+ '@react-native/babel-preset@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0)
+ '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-object-rest-spread': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-regenerator': 7.28.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0)
+ '@babel/template': 7.27.2
+ '@react-native/babel-plugin-codegen': 0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ babel-plugin-syntax-hermes-parser: 0.25.1
+ babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0)
+ react-refresh: 0.14.2
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
- '@react-native/codegen@0.72.8(@babel/preset-env@7.28.0(@babel/core@7.28.0))':
+ '@react-native/codegen@0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))':
dependencies:
'@babel/parser': 7.28.0
'@babel/preset-env': 7.28.0(@babel/core@7.28.0)
- flow-parser: 0.206.0
glob: 7.2.3
+ hermes-parser: 0.25.1
+ invariant: 2.2.4
+ jscodeshift: 17.3.0(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ nullthrows: 1.1.1
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@react-native/community-cli-plugin@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))':
+ dependencies:
+ '@react-native/dev-middleware': 0.77.3
+ '@react-native/metro-babel-transformer': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ chalk: 4.1.2
+ debug: 2.6.9
+ invariant: 2.2.4
+ metro: 0.81.5
+ metro-config: 0.81.5
+ metro-core: 0.81.5
+ readline: 1.3.0
+ semver: 7.7.2
+ optionalDependencies:
+ '@react-native-community/cli': 11.4.1(@babel/core@7.28.0)(encoding@0.1.13)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@babel/preset-env'
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ '@react-native/debugger-frontend@0.77.3': {}
+
+ '@react-native/dev-middleware@0.77.3':
+ dependencies:
+ '@isaacs/ttlcache': 1.4.1
+ '@react-native/debugger-frontend': 0.77.3
+ chrome-launcher: 0.15.2
+ chromium-edge-launcher: 0.2.0
+ connect: 3.7.0
+ debug: 2.6.9
invariant: 2.2.4
- jscodeshift: 0.14.0(@babel/preset-env@7.28.0(@babel/core@7.28.0))
- mkdirp: 0.5.6
nullthrows: 1.1.1
+ open: 7.4.2
+ selfsigned: 2.4.1
+ serve-static: 1.16.2
+ ws: 6.2.3
transitivePeerDependencies:
+ - bufferutil
- supports-color
+ - utf-8-validate
- '@react-native/gradle-plugin@0.72.11': {}
+ '@react-native/gradle-plugin@0.77.3': {}
- '@react-native/js-polyfills@0.72.1': {}
+ '@react-native/js-polyfills@0.77.3': {}
- '@react-native/normalize-colors@0.72.0': {}
+ '@react-native/metro-babel-transformer@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@react-native/babel-preset': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ hermes-parser: 0.25.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - supports-color
- '@react-native/virtualized-lists@0.72.8(react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1))':
+ '@react-native/normalize-colors@0.77.3': {}
+
+ '@react-native/virtualized-lists@0.77.3(@types/react@18.3.23)(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react@18.3.1)':
dependencies:
invariant: 2.2.4
nullthrows: 1.1.1
- react-native: 0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1)
+ react: 18.3.1
+ react-native: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.23
'@rollup/plugin-alias@5.1.1(rollup@3.29.5)':
optionalDependencies:
@@ -8891,10 +9170,13 @@ snapshots:
'@sideway/address@4.1.5':
dependencies:
'@hapi/hoek': 9.3.0
+ optional: true
- '@sideway/formula@3.0.1': {}
+ '@sideway/formula@3.0.1':
+ optional: true
- '@sideway/pinpoint@2.0.0': {}
+ '@sideway/pinpoint@2.0.0':
+ optional: true
'@sigstore/bundle@1.1.0':
dependencies:
@@ -8972,6 +9254,18 @@ snapshots:
lodash: 4.17.21
redent: 3.0.0
+ '@testing-library/react-native@13.3.3(jest@29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3)))(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ jest-matcher-utils: 30.0.5
+ picocolors: 1.1.1
+ pretty-format: 30.0.5
+ react: 18.3.1
+ react-native: 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1)
+ react-test-renderer: 18.3.1(react@18.3.1)
+ redent: 3.0.0
+ optionalDependencies:
+ jest: 29.7.0(@types/node@16.18.126)(ts-node@10.9.2(@types/node@16.18.126)(typescript@5.8.3))
+
'@testing-library/react@13.4.0(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.27.6
@@ -9044,18 +9338,12 @@ snapshots:
dependencies:
'@types/node': 16.18.126
- '@types/istanbul-lib-coverage@2.0.4': {}
-
'@types/istanbul-lib-coverage@2.0.6': {}
'@types/istanbul-lib-report@3.0.3':
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports@3.0.1':
- dependencies:
- '@types/istanbul-lib-report': 3.0.3
-
'@types/istanbul-reports@3.0.4':
dependencies:
'@types/istanbul-lib-report': 3.0.3
@@ -9091,6 +9379,10 @@ snapshots:
'@types/node': 16.18.126
form-data: 3.0.4
+ '@types/node-forge@1.3.14':
+ dependencies:
+ '@types/node': 16.18.126
+
'@types/node@15.14.9': {}
'@types/node@16.18.126': {}
@@ -9107,13 +9399,6 @@ snapshots:
dependencies:
'@types/react': 18.3.23
- '@types/react-native@0.72.8(react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1))':
- dependencies:
- '@react-native/virtualized-lists': 0.72.8(react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1))
- '@types/react': 18.3.23
- transitivePeerDependencies:
- - react-native
-
'@types/react@18.0.38':
dependencies:
'@types/prop-types': 15.7.15
@@ -9160,10 +9445,12 @@ snapshots:
'@types/yargs@15.0.19':
dependencies:
'@types/yargs-parser': 21.0.3
+ optional: true
'@types/yargs@16.0.9':
dependencies:
'@types/yargs-parser': 21.0.3
+ optional: true
'@types/yargs@17.0.33':
dependencies:
@@ -9446,8 +9733,10 @@ snapshots:
colorette: 1.4.0
slice-ansi: 2.1.0
strip-ansi: 5.2.0
+ optional: true
- ansi-regex@4.1.1: {}
+ ansi-regex@4.1.1:
+ optional: true
ansi-regex@5.0.1: {}
@@ -9470,7 +9759,8 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
- appdirsjs@1.2.7: {}
+ appdirsjs@1.2.7:
+ optional: true
aproba@2.1.0: {}
@@ -9607,11 +9897,12 @@ snapshots:
asap@2.0.6: {}
- ast-types@0.15.2:
+ ast-types@0.16.1:
dependencies:
tslib: 2.8.1
- astral-regex@1.0.0: {}
+ astral-regex@1.0.0:
+ optional: true
astral-regex@2.0.0: {}
@@ -9641,10 +9932,6 @@ snapshots:
dependencies:
possible-typed-array-names: 1.1.0
- babel-core@7.0.0-bridge.0(@babel/core@7.28.0):
- dependencies:
- '@babel/core': 7.28.0
-
babel-eslint@10.1.0(eslint@7.32.0):
dependencies:
'@babel/code-frame': 7.27.1
@@ -9711,7 +9998,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {}
+ babel-plugin-syntax-hermes-parser@0.25.1:
+ dependencies:
+ hermes-parser: 0.25.1
+
+ babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0:
+ optional: true
babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.0):
dependencies:
@@ -9770,6 +10062,7 @@ snapshots:
babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
transitivePeerDependencies:
- supports-color
+ optional: true
babel-preset-jest@29.6.3(@babel/core@7.28.0):
dependencies:
@@ -9850,7 +10143,8 @@ snapshots:
builtins@1.0.3: {}
- bytes@3.1.2: {}
+ bytes@3.1.2:
+ optional: true
cacache@15.3.0:
dependencies:
@@ -10016,6 +10310,26 @@ snapshots:
chownr@2.0.0: {}
+ chrome-launcher@0.15.2:
+ dependencies:
+ '@types/node': 16.18.126
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ transitivePeerDependencies:
+ - supports-color
+
+ chromium-edge-launcher@0.2.0:
+ dependencies:
+ '@types/node': 16.18.126
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 1.4.2
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
ci-info@2.0.0: {}
ci-info@3.5.0: {}
@@ -10045,6 +10359,7 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 6.2.0
+ optional: true
cliui@7.0.4:
dependencies:
@@ -10102,7 +10417,8 @@ snapshots:
colord@2.9.3: {}
- colorette@1.4.0: {}
+ colorette@1.4.0:
+ optional: true
colors@1.0.3: {}
@@ -10110,9 +10426,13 @@ snapshots:
dependencies:
delayed-stream: 1.0.0
- command-exists@1.2.9: {}
+ command-exists@1.2.9:
+ optional: true
- commander@2.13.0: {}
+ commander@12.1.0: {}
+
+ commander@2.13.0:
+ optional: true
commander@2.20.3: {}
@@ -10120,7 +10440,8 @@ snapshots:
commander@7.2.0: {}
- commander@9.5.0: {}
+ commander@9.5.0:
+ optional: true
commenting@1.1.0: {}
@@ -10138,6 +10459,7 @@ snapshots:
compressible@2.0.18:
dependencies:
mime-db: 1.54.0
+ optional: true
compression@1.8.0:
dependencies:
@@ -10150,6 +10472,7 @@ snapshots:
vary: 1.1.2
transitivePeerDependencies:
- supports-color
+ optional: true
concat-map@0.0.1: {}
@@ -10351,7 +10674,8 @@ snapshots:
dateformat@4.6.3: {}
- dayjs@1.11.13: {}
+ dayjs@1.11.13:
+ optional: true
debug@2.6.9:
dependencies:
@@ -10363,7 +10687,8 @@ snapshots:
debuglog@1.0.1: {}
- decamelize@1.2.0: {}
+ decamelize@1.2.0:
+ optional: true
decimal.js@10.6.0: {}
@@ -10416,16 +10741,11 @@ snapshots:
delegates@1.0.0: {}
- denodeify@1.2.1: {}
+ denodeify@1.2.1:
+ optional: true
depd@2.0.0: {}
- deprecated-react-native-prop-types@4.2.3:
- dependencies:
- '@react-native/normalize-colors': 0.72.0
- invariant: 2.2.4
- prop-types: 15.8.1
-
deprecation@2.3.1: {}
destroy@1.2.0: {}
@@ -10440,8 +10760,6 @@ snapshots:
asap: 2.0.6
wrappy: 1.0.2
- diff-sequences@29.3.1: {}
-
diff-sequences@29.6.3: {}
diff@4.0.2: {}
@@ -10552,7 +10870,8 @@ snapshots:
env-paths@2.2.1: {}
- envinfo@7.14.0: {}
+ envinfo@7.14.0:
+ optional: true
enzyme-shallow-equal@1.0.7:
dependencies:
@@ -10611,6 +10930,7 @@ snapshots:
dependencies:
accepts: 1.3.8
escape-html: 1.0.3
+ optional: true
es-abstract@1.24.0:
dependencies:
@@ -11007,7 +11327,7 @@ snapshots:
dependencies:
'@jest/expect-utils': 29.4.1
jest-get-type: 29.6.3
- jest-matcher-utils: 29.4.1
+ jest-matcher-utils: 29.7.0
jest-message-util: 29.4.1
jest-util: 29.4.1
@@ -11137,7 +11457,7 @@ snapshots:
flatted@3.3.3: {}
- flow-enums-runtime@0.0.5: {}
+ flow-enums-runtime@0.0.6: {}
flow-parser@0.206.0: {}
@@ -11181,6 +11501,7 @@ snapshots:
graceful-fs: 4.2.11
jsonfile: 4.0.0
universalify: 0.1.2
+ optional: true
fs-extra@9.1.0:
dependencies:
@@ -11383,15 +11704,24 @@ snapshots:
dependencies:
function-bind: 1.1.2
- hermes-estree@0.12.0: {}
+ hermes-estree@0.12.0:
+ optional: true
+
+ hermes-estree@0.25.1: {}
hermes-parser@0.12.0:
dependencies:
hermes-estree: 0.12.0
+ optional: true
+
+ hermes-parser@0.25.1:
+ dependencies:
+ hermes-estree: 0.25.1
hermes-profile-transformer@0.0.6:
dependencies:
source-map: 0.7.4
+ optional: true
hosted-git-info@2.8.9: {}
@@ -11622,13 +11952,16 @@ snapshots:
is-directory@0.3.1: {}
+ is-docker@2.2.1: {}
+
is-extglob@2.1.1: {}
is-finalizationregistry@1.1.1:
dependencies:
call-bound: 1.0.4
- is-fullwidth-code-point@2.0.0: {}
+ is-fullwidth-code-point@2.0.0:
+ optional: true
is-fullwidth-code-point@3.0.0: {}
@@ -11729,7 +12062,12 @@ snapshots:
call-bound: 1.0.4
get-intrinsic: 1.3.0
- is-wsl@1.1.0: {}
+ is-wsl@1.1.0:
+ optional: true
+
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
isarray@1.0.0: {}
@@ -11899,13 +12237,6 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-diff@29.4.1:
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.3.1
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
jest-diff@29.7.0:
dependencies:
chalk: 4.1.2
@@ -12008,13 +12339,6 @@ snapshots:
jest-get-type: 29.6.3
pretty-format: 29.7.0
- jest-matcher-utils@29.4.1:
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.4.1
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
jest-matcher-utils@29.7.0:
dependencies:
chalk: 4.1.2
@@ -12085,7 +12409,8 @@ snapshots:
dependencies:
react: 16.14.0
- jest-regex-util@27.5.1: {}
+ jest-regex-util@27.5.1:
+ optional: true
jest-regex-util@29.6.3: {}
@@ -12193,9 +12518,10 @@ snapshots:
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
- ci-info: 3.5.0
+ ci-info: 3.9.0
graceful-fs: 4.2.11
picomatch: 2.3.1
+ optional: true
jest-util@29.4.1:
dependencies:
@@ -12249,6 +12575,7 @@ snapshots:
'@types/node': 16.18.126
merge-stream: 2.0.0
supports-color: 8.1.1
+ optional: true
jest-worker@29.7.0:
dependencies:
@@ -12276,6 +12603,7 @@ snapshots:
'@sideway/address': 4.1.5
'@sideway/formula': 3.0.1
'@sideway/pinpoint': 2.0.0
+ optional: true
js-tokens@4.0.0: {}
@@ -12294,28 +12622,28 @@ snapshots:
jsc-safe-url@0.2.4: {}
- jscodeshift@0.14.0(@babel/preset-env@7.28.0(@babel/core@7.28.0)):
+ jscodeshift@17.3.0(@babel/preset-env@7.28.0(@babel/core@7.28.0)):
dependencies:
'@babel/core': 7.28.0
'@babel/parser': 7.28.0
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0)
'@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
- '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0)
'@babel/preset-flow': 7.27.1(@babel/core@7.28.0)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.0)
'@babel/register': 7.27.1(@babel/core@7.28.0)
- babel-core: 7.0.0-bridge.0(@babel/core@7.28.0)
- chalk: 4.1.2
flow-parser: 0.206.0
graceful-fs: 4.2.11
micromatch: 4.0.8
neo-async: 2.6.2
- node-dir: 0.1.17
- recast: 0.21.5
- temp: 0.8.4
- write-file-atomic: 2.4.3
+ picocolors: 1.1.1
+ recast: 0.23.11
+ tmp: 0.2.5
+ write-file-atomic: 5.0.1
+ optionalDependencies:
+ '@babel/preset-env': 7.28.0(@babel/core@7.28.0)
transitivePeerDependencies:
- supports-color
@@ -12377,6 +12705,7 @@ snapshots:
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
+ optional: true
jsonfile@6.1.0:
dependencies:
@@ -12420,6 +12749,13 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lighthouse-logger@1.4.2:
+ dependencies:
+ debug: 2.6.9
+ marky: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+
lilconfig@2.1.0: {}
lines-and-columns@1.2.4: {}
@@ -12502,6 +12838,7 @@ snapshots:
ansi-fragments: 0.2.1
dayjs: 1.11.13
yargs: 15.4.1
+ optional: true
loose-envify@1.4.0:
dependencies:
@@ -12614,6 +12951,8 @@ snapshots:
dependencies:
tmpl: 1.0.5
+ marky@1.3.0: {}
+
math-intrinsics@1.1.0: {}
maximatch@0.1.0:
@@ -12665,13 +13004,35 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
+ optional: true
+
+ metro-babel-transformer@0.81.5:
+ dependencies:
+ '@babel/core': 7.28.0
+ flow-enums-runtime: 0.0.6
+ hermes-parser: 0.25.1
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ metro-cache-key@0.76.9:
+ optional: true
- metro-cache-key@0.76.9: {}
+ metro-cache-key@0.81.5:
+ dependencies:
+ flow-enums-runtime: 0.0.6
metro-cache@0.76.9:
dependencies:
metro-core: 0.76.9
rimraf: 3.0.2
+ optional: true
+
+ metro-cache@0.81.5:
+ dependencies:
+ exponential-backoff: 3.1.2
+ flow-enums-runtime: 0.0.6
+ metro-core: 0.81.5
metro-config@0.76.9(encoding@0.1.13):
dependencies:
@@ -12687,11 +13048,34 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
+
+ metro-config@0.81.5:
+ dependencies:
+ connect: 3.7.0
+ cosmiconfig: 5.2.1
+ flow-enums-runtime: 0.0.6
+ jest-validate: 29.7.0
+ metro: 0.81.5
+ metro-cache: 0.81.5
+ metro-core: 0.81.5
+ metro-runtime: 0.81.5
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
metro-core@0.76.9:
dependencies:
lodash.throttle: 4.1.1
metro-resolver: 0.76.9
+ optional: true
+
+ metro-core@0.81.5:
+ dependencies:
+ flow-enums-runtime: 0.0.6
+ lodash.throttle: 4.1.1
+ metro-resolver: 0.81.5
metro-file-map@0.76.9:
dependencies:
@@ -12711,6 +13095,21 @@ snapshots:
fsevents: 2.3.3
transitivePeerDependencies:
- supports-color
+ optional: true
+
+ metro-file-map@0.81.5:
+ dependencies:
+ debug: 2.6.9
+ fb-watchman: 2.0.2
+ flow-enums-runtime: 0.0.6
+ graceful-fs: 4.2.11
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ micromatch: 4.0.8
+ nullthrows: 1.1.1
+ walker: 1.0.8
+ transitivePeerDependencies:
+ - supports-color
metro-inspector-proxy@0.76.9(encoding@0.1.13):
dependencies:
@@ -12724,57 +13123,22 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
metro-minify-terser@0.76.9:
dependencies:
terser: 5.43.1
+ optional: true
- metro-minify-uglify@0.76.9:
+ metro-minify-terser@0.81.5:
dependencies:
- uglify-es: 3.3.9
+ flow-enums-runtime: 0.0.6
+ terser: 5.43.1
- metro-react-native-babel-preset@0.74.1(@babel/core@7.28.0):
+ metro-minify-uglify@0.76.9:
dependencies:
- '@babel/core': 7.28.0
- '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.28.0)
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.0)
- '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.28.0)
- '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.0)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0)
- '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0)
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-block-scoping': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-classes': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0)
- '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-runtime': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0)
- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
- '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0)
- '@babel/template': 7.27.2
- react-refresh: 0.4.3
- transitivePeerDependencies:
- - supports-color
+ uglify-es: 3.3.9
+ optional: true
metro-react-native-babel-preset@0.76.9(@babel/core@7.28.0):
dependencies:
@@ -12819,6 +13183,7 @@ snapshots:
react-refresh: 0.4.3
transitivePeerDependencies:
- supports-color
+ optional: true
metro-react-native-babel-transformer@0.76.9(@babel/core@7.28.0):
dependencies:
@@ -12829,13 +13194,25 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
+ optional: true
- metro-resolver@0.76.9: {}
+ metro-resolver@0.76.9:
+ optional: true
+
+ metro-resolver@0.81.5:
+ dependencies:
+ flow-enums-runtime: 0.0.6
metro-runtime@0.76.9:
dependencies:
'@babel/runtime': 7.27.6
react-refresh: 0.4.3
+ optional: true
+
+ metro-runtime@0.81.5:
+ dependencies:
+ '@babel/runtime': 7.27.6
+ flow-enums-runtime: 0.0.6
metro-source-map@0.76.9:
dependencies:
@@ -12849,6 +13226,22 @@ snapshots:
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
+ optional: true
+
+ metro-source-map@0.81.5:
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.0'
+ '@babel/types': 7.28.1
+ flow-enums-runtime: 0.0.6
+ invariant: 2.2.4
+ metro-symbolicate: 0.81.5
+ nullthrows: 1.1.1
+ ob1: 0.81.5
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
metro-symbolicate@0.76.9:
dependencies:
@@ -12860,6 +13253,18 @@ snapshots:
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
+ optional: true
+
+ metro-symbolicate@0.81.5:
+ dependencies:
+ flow-enums-runtime: 0.0.6
+ invariant: 2.2.4
+ metro-source-map: 0.81.5
+ nullthrows: 1.1.1
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
metro-transform-plugins@0.76.9:
dependencies:
@@ -12870,6 +13275,18 @@ snapshots:
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
+ optional: true
+
+ metro-transform-plugins@0.81.5:
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ flow-enums-runtime: 0.0.6
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
metro-transform-worker@0.76.9(encoding@0.1.13):
dependencies:
@@ -12891,6 +13308,27 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
+
+ metro-transform-worker@0.81.5:
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.1
+ flow-enums-runtime: 0.0.6
+ metro: 0.81.5
+ metro-babel-transformer: 0.81.5
+ metro-cache: 0.81.5
+ metro-cache-key: 0.81.5
+ metro-minify-terser: 0.81.5
+ metro-source-map: 0.81.5
+ metro-transform-plugins: 0.81.5
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
metro@0.76.9(encoding@0.1.13):
dependencies:
@@ -12946,6 +13384,54 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
+
+ metro@0.81.5:
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.0
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.1
+ accepts: 1.3.8
+ chalk: 4.1.2
+ ci-info: 2.0.0
+ connect: 3.7.0
+ debug: 2.6.9
+ error-stack-parser: 2.1.4
+ flow-enums-runtime: 0.0.6
+ graceful-fs: 4.2.11
+ hermes-parser: 0.25.1
+ image-size: 1.2.1
+ invariant: 2.2.4
+ jest-worker: 29.7.0
+ jsc-safe-url: 0.2.4
+ lodash.throttle: 4.1.1
+ metro-babel-transformer: 0.81.5
+ metro-cache: 0.81.5
+ metro-cache-key: 0.81.5
+ metro-config: 0.81.5
+ metro-core: 0.81.5
+ metro-file-map: 0.81.5
+ metro-resolver: 0.81.5
+ metro-runtime: 0.81.5
+ metro-source-map: 0.81.5
+ metro-symbolicate: 0.81.5
+ metro-transform-plugins: 0.81.5
+ metro-transform-worker: 0.81.5
+ mime-types: 2.1.35
+ nullthrows: 1.1.1
+ serialize-error: 2.1.0
+ source-map: 0.5.7
+ throat: 5.0.0
+ ws: 7.5.10
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
micromatch@4.0.8:
dependencies:
@@ -12954,7 +13440,8 @@ snapshots:
mime-db@1.52.0: {}
- mime-db@1.54.0: {}
+ mime-db@1.54.0:
+ optional: true
mime-types@2.1.35:
dependencies:
@@ -12964,7 +13451,8 @@ snapshots:
mime@2.5.2: {}
- mime@2.6.0: {}
+ mime@2.6.0:
+ optional: true
mime@3.0.0: {}
@@ -13115,23 +13603,23 @@ snapshots:
just-extend: 6.2.0
path-to-regexp: 6.3.0
- nocache@3.0.4: {}
+ nocache@3.0.4:
+ optional: true
- node-abort-controller@3.1.1: {}
+ node-abort-controller@3.1.1:
+ optional: true
node-addon-api@7.1.1:
optional: true
- node-dir@0.1.17:
- dependencies:
- minimatch: 3.1.2
-
node-fetch@2.7.0(encoding@0.1.13):
dependencies:
whatwg-url: 5.0.0
optionalDependencies:
encoding: 0.1.13
+ node-forge@1.3.1: {}
+
node-gyp@8.4.1:
dependencies:
env-paths: 2.2.1
@@ -13169,7 +13657,8 @@ snapshots:
node-releases@2.0.19: {}
- node-stream-zip@1.15.0: {}
+ node-stream-zip@1.15.0:
+ optional: true
nopt@5.0.0:
dependencies:
@@ -13307,7 +13796,12 @@ snapshots:
nwsapi@2.2.20: {}
- ob1@0.76.9: {}
+ ob1@0.76.9:
+ optional: true
+
+ ob1@0.81.5:
+ dependencies:
+ flow-enums-runtime: 0.0.6
object-assign@4.1.1: {}
@@ -13364,7 +13858,8 @@ snapshots:
dependencies:
ee-first: 1.1.1
- on-headers@1.0.2: {}
+ on-headers@1.0.2:
+ optional: true
once@1.4.0:
dependencies:
@@ -13377,6 +13872,12 @@ snapshots:
open@6.4.0:
dependencies:
is-wsl: 1.1.0
+ optional: true
+
+ open@7.4.2:
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
optionator@0.9.4:
dependencies:
@@ -13838,6 +14339,7 @@ snapshots:
ansi-regex: 5.0.1
ansi-styles: 4.3.0
react-is: 17.0.2
+ optional: true
pretty-format@27.5.1:
dependencies:
@@ -13934,7 +14436,7 @@ snapshots:
range-parser@1.2.1: {}
- react-devtools-core@4.28.5:
+ react-devtools-core@6.1.5:
dependencies:
shell-quote: 1.8.3
ws: 7.5.10
@@ -13954,55 +14456,60 @@ snapshots:
react-is@18.3.1: {}
- react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1):
+ react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1):
dependencies:
'@jest/create-cache-key-function': 29.7.0
- '@react-native-community/cli': 11.4.1(@babel/core@7.28.0)(encoding@0.1.13)
- '@react-native-community/cli-platform-android': 11.4.1(encoding@0.1.13)
- '@react-native-community/cli-platform-ios': 11.4.1(encoding@0.1.13)
- '@react-native/assets-registry': 0.72.0
- '@react-native/codegen': 0.72.8(@babel/preset-env@7.28.0(@babel/core@7.28.0))
- '@react-native/gradle-plugin': 0.72.11
- '@react-native/js-polyfills': 0.72.1
- '@react-native/normalize-colors': 0.72.0
- '@react-native/virtualized-lists': 0.72.8(react-native@0.72.17(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(encoding@0.1.13)(react@18.3.1))
+ '@react-native/assets-registry': 0.77.3
+ '@react-native/codegen': 0.77.3(@babel/preset-env@7.28.0(@babel/core@7.28.0))
+ '@react-native/community-cli-plugin': 0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))
+ '@react-native/gradle-plugin': 0.77.3
+ '@react-native/js-polyfills': 0.77.3
+ '@react-native/normalize-colors': 0.77.3
+ '@react-native/virtualized-lists': 0.77.3(@types/react@18.3.23)(react-native@0.77.3(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@11.4.1(@babel/core@7.28.0)(encoding@0.1.13))(@types/react@18.3.23)(react@18.3.1))(react@18.3.1)
abort-controller: 3.0.0
anser: 1.4.10
ansi-regex: 5.0.1
+ babel-jest: 29.7.0(@babel/core@7.28.0)
+ babel-plugin-syntax-hermes-parser: 0.25.1
base64-js: 1.5.1
- deprecated-react-native-prop-types: 4.2.3
+ chalk: 4.1.2
+ commander: 12.1.0
event-target-shim: 5.0.1
- flow-enums-runtime: 0.0.5
+ flow-enums-runtime: 0.0.6
+ glob: 7.2.3
invariant: 2.2.4
jest-environment-node: 29.7.0
jsc-android: 250231.0.0
memoize-one: 5.2.1
- metro-runtime: 0.76.9
- metro-source-map: 0.76.9
- mkdirp: 0.5.6
+ metro-runtime: 0.81.5
+ metro-source-map: 0.81.5
nullthrows: 1.1.1
- pretty-format: 26.6.2
+ pretty-format: 29.7.0
promise: 8.3.0
react: 18.3.1
- react-devtools-core: 4.28.5
- react-refresh: 0.4.3
- react-shallow-renderer: 16.15.0(react@18.3.1)
+ react-devtools-core: 6.1.5
+ react-refresh: 0.14.2
regenerator-runtime: 0.13.11
scheduler: 0.24.0-canary-efb381bbf-20230505
+ semver: 7.7.2
stacktrace-parser: 0.1.11
- use-sync-external-store: 1.5.0(react@18.3.1)
whatwg-fetch: 3.6.20
ws: 6.2.3
yargs: 17.7.2
+ optionalDependencies:
+ '@types/react': 18.3.23
transitivePeerDependencies:
- '@babel/core'
- '@babel/preset-env'
+ - '@react-native-community/cli'
- bufferutil
- - encoding
- supports-color
- utf-8-validate
- react-refresh@0.4.3: {}
+ react-refresh@0.14.2: {}
+
+ react-refresh@0.4.3:
+ optional: true
react-shallow-renderer@16.15.0(react@18.3.1):
dependencies:
@@ -14010,7 +14517,7 @@ snapshots:
react: 18.3.1
react-is: 18.3.1
- react-test-renderer@18.2.0(react@18.3.1):
+ react-test-renderer@18.3.1(react@18.3.1):
dependencies:
react: 18.3.1
react-is: 18.3.1
@@ -14102,11 +14609,12 @@ snapshots:
readline@1.3.0: {}
- recast@0.21.5:
+ recast@0.23.11:
dependencies:
- ast-types: 0.15.2
+ ast-types: 0.16.1
esprima: 4.0.1
source-map: 0.6.1
+ tiny-invariant: 1.3.3
tslib: 2.8.1
rechoir@0.6.2:
@@ -14185,7 +14693,8 @@ snapshots:
require-from-string@2.0.2: {}
- require-main-filename@2.0.0: {}
+ require-main-filename@2.0.0:
+ optional: true
requires-port@1.0.0: {}
@@ -14224,10 +14733,6 @@ snapshots:
reusify@1.1.0: {}
- rimraf@2.6.3:
- dependencies:
- glob: 7.2.3
-
rimraf@2.7.1:
dependencies:
glob: 7.2.3
@@ -14365,6 +14870,11 @@ snapshots:
scoped-regex@2.1.0: {}
+ selfsigned@2.4.1:
+ dependencies:
+ '@types/node-forge': 1.3.14
+ node-forge: 1.3.1
+
semver@5.7.2: {}
semver@6.3.1: {}
@@ -14515,6 +15025,7 @@ snapshots:
ansi-styles: 3.2.1
astral-regex: 1.0.0
is-fullwidth-code-point: 2.0.0
+ optional: true
slice-ansi@4.0.0:
dependencies:
@@ -14567,7 +15078,8 @@ snapshots:
source-map@0.6.1: {}
- source-map@0.7.4: {}
+ source-map@0.7.4:
+ optional: true
spawn-command@0.0.2: {}
@@ -14720,6 +15232,7 @@ snapshots:
strip-ansi@5.2.0:
dependencies:
ansi-regex: 4.1.1
+ optional: true
strip-ansi@6.0.1:
dependencies:
@@ -14764,7 +15277,8 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- sudo-prompt@9.2.1: {}
+ sudo-prompt@9.2.1:
+ optional: true
supports-color@5.5.0:
dependencies:
@@ -14819,10 +15333,6 @@ snapshots:
temp-dir@2.0.0: {}
- temp@0.8.4:
- dependencies:
- rimraf: 2.6.3
-
terser@5.43.1:
dependencies:
'@jridgewell/source-map': 0.3.10
@@ -14846,13 +15356,18 @@ snapshots:
dependencies:
readable-stream: 2.3.8
xtend: 4.0.2
+ optional: true
through@2.3.8: {}
+ tiny-invariant@1.3.3: {}
+
tmp@0.0.33:
dependencies:
os-tmpdir: 1.0.2
+ tmp@0.2.5: {}
+
tmpl@1.0.5: {}
to-regex-range@5.0.1:
@@ -15017,6 +15532,7 @@ snapshots:
dependencies:
commander: 2.13.0
source-map: 0.6.1
+ optional: true
unbox-primitive@1.1.0:
dependencies:
@@ -15062,7 +15578,8 @@ snapshots:
universal-user-agent@6.0.1: {}
- universalify@0.1.2: {}
+ universalify@0.1.2:
+ optional: true
universalify@0.2.0: {}
@@ -15087,10 +15604,6 @@ snapshots:
querystringify: 2.2.0
requires-port: 1.0.0
- use-sync-external-store@1.5.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
@@ -15118,7 +15631,8 @@ snapshots:
validate-npm-package-name@5.0.1: {}
- vary@1.1.2: {}
+ vary@1.1.2:
+ optional: true
vinyl-file@3.0.0:
dependencies:
@@ -15208,7 +15722,8 @@ snapshots:
is-weakmap: 2.0.2
is-weakset: 2.0.4
- which-module@2.0.1: {}
+ which-module@2.0.1:
+ optional: true
which-pm@2.2.0:
dependencies:
@@ -15259,16 +15774,15 @@ snapshots:
wrappy@1.0.2: {}
- write-file-atomic@2.4.3:
+ write-file-atomic@4.0.2:
dependencies:
- graceful-fs: 4.2.11
imurmurhash: 0.1.4
signal-exit: 3.0.7
- write-file-atomic@4.0.2:
+ write-file-atomic@5.0.1:
dependencies:
imurmurhash: 0.1.4
- signal-exit: 3.0.7
+ signal-exit: 4.1.0
ws@6.2.3:
dependencies:
@@ -15291,13 +15805,15 @@ snapshots:
xmlchars@2.2.0: {}
- xtend@4.0.2: {}
+ xtend@4.0.2:
+ optional: true
xxhashjs@0.2.2:
dependencies:
cuint: 0.2.2
- y18n@4.0.3: {}
+ y18n@4.0.3:
+ optional: true
y18n@5.0.8: {}
@@ -15307,12 +15823,14 @@ snapshots:
yaml@1.10.2: {}
- yaml@2.8.0: {}
+ yaml@2.8.0:
+ optional: true
yargs-parser@18.1.3:
dependencies:
camelcase: 5.3.1
decamelize: 1.2.0
+ optional: true
yargs-parser@20.2.9: {}
@@ -15331,6 +15849,7 @@ snapshots:
which-module: 2.0.1
y18n: 4.0.3
yargs-parser: 18.1.3
+ optional: true
yargs@16.2.0:
dependencies: