From e31424a1fcca244f516ee3dc6f9932d4b703ed96 Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Fri, 17 Jul 2026 09:43:53 +0200 Subject: [PATCH 01/11] Revert to Mendix version 10.24 --- packages/pluggable-widgets-tools/CHANGELOG.md | 68 +++++-------------- packages/pluggable-widgets-tools/package.json | 4 +- pnpm-lock.yaml | 31 +++++++-- 3 files changed, 43 insertions(+), 60 deletions(-) diff --git a/packages/pluggable-widgets-tools/CHANGELOG.md b/packages/pluggable-widgets-tools/CHANGELOG.md index f26e8e40..d0978654 100644 --- a/packages/pluggable-widgets-tools/CHANGELOG.md +++ b/packages/pluggable-widgets-tools/CHANGELOG.md @@ -10,7 +10,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - We fixed an issue with the Jest configuration affecting unit tests for widgets importing enums from the mendix package (e.g. ValueStatus, FormatterType). It would cause tests to fail with the error "This package should not be used in the runtime". -## [11.12.0] - 2026-06-30 +- We added support for the `allowUpload` attribute on image properties in native widgets, generating `EditableImageValue` when enabled, introduced in Mendix 11.11. + +- We added support for single object datasource properties, introduced in Mendix 11.11. + +- We added the `audit` command. It will scan the dependencies of pluggable-widgets-tools for vulnerable packages and suggest overrides. Currently only npm is supported. + +- We added support for editable image and file properties, introduced in Mendix 11.8. ### Changed @@ -20,73 +26,31 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - **Breaking:** Consumers who extended the base config with `globals['ts-jest']` options must migrate those settings to the `@swc/jest` transform config. -### Fixed - -- We fixed an issue on Windows where the generated `.mpk` was missing the widget's `.xml` files and icon/tile PNGs. - -- We fixed an error thrown by the `audit` command on windows. It would fail when looking up available versions for vulnerable packages. - -- We updated the type generator to format types according to prettier. Inconsistencies would block the `release` command. - -## [11.11.0] - 2026-06-04 - -### Added - -- We added support for the `allowUpload` attribute on image properties in native widgets, generating `EditableImageValue` when enabled, introduced in Mendix 11.11. - -- We added support for single object datasource properties, introduced in Mendix 11.11. - -- We added the `audit` command. It will scan the dependencies of pluggable-widgets-tools for vulnerable packages and suggest overrides. Currently only npm is supported. - -### Changed - - We changed the order of imports in generated widget prop types to match that of the eslint sort-imports rule. - We silenced the Sass legacy JS API deprecation warning that appeared during widget bundling. - We updated outdated and vulnerable dependencies. This required major upgrades of several dependencies, including eslint@9, jest@30, and rollup@4. -## [11.8.1] - 2026-03-16 - -### Fixed - -- We fixed the bundling of Javascript widgets which broke in 11.6.0 after migrating to [React 17's JSX Transform](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#how-to-upgrade-to-the-new-jsx-transform). (Ticket 270777) - -## [11.8.0] - 2026-03-06 - -### Added - -- We added support for editable image and file properties, introduced in Mendix 11.8. - -### Changed - -- We updated the Mendix package to 11.8. - -## [11.6.0] - 2026-03-04 - -### Changed - - We upgraded the Pluggable Widgets Tools to React 19 and React Native 0.78.2. After installation upgrade all dependencies by running `npm run build`. -- We updated the Mendix package to 11.6. - -## [11.3.1] - 2026-02-04 +- **Breaking:** We removed Enzyme testing library and associated dependencies from pluggable-widgets-tools. Tests using Enzyme should be updated to use React Testing Library. See the [migration guide](https://testing-library.com/docs/react-testing-library/migrate-from-enzyme) for more information. The `test:unit:web:enzyme-free` command has been removed; use `test:unit:web` instead. -### Breaking changes +- We fixed an issue where `require` was not transformed to `import` for the `es` output format which could result in an error when the widget was used in a project with React client enabled. -- We removed Enzyme testing library and associated dependencies from pluggable-widgets-tools. Tests using Enzyme should be updated to use React Testing Library. See the [migration guide](https://testing-library.com/docs/react-testing-library/migrate-from-enzyme) for more information. The `test:unit:web:enzyme-free` command has been removed; use `test:unit:web` instead. +- We now enforce the same validation for the `widgetName` in the widget bundler as we do in the generator. Validation is now also enforced for the organization name (`packagePath`). -### Changed +- We added @d11/react-native-fast-image as an external native dependency in rollup config. -- We fixed an issue where `require` was not transformed to `import` for the `es` output format which could result in an error when the widget was used in a project with React client enabled. +### Fixed -- We now enforce the same validation for the `widgetName` in the widget bundler as we do in the generator. Validation is now also enforced for the organization name (`packagePath`). +- We fixed an issue on Windows where the generated `.mpk` was missing the widget's `.xml` files and icon/tile PNGs. -## [11.3.0] - 2025-11-12 +- We fixed an error thrown by the `audit` command on windows. It would fail when looking up available versions for vulnerable packages. -### Changed +- We updated the type generator to format types according to prettier. Inconsistencies would block the `release` command. -- We added @d11/react-native-fast-image as an external native dependency in rollup config. +- We fixed the bundling of Javascript widgets which broke in 11.6.0 after migrating to [React 17's JSX Transform](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#how-to-upgrade-to-the-new-jsx-transform). (Ticket 270777) ## [10.24.0] - 2025-09-24 diff --git a/packages/pluggable-widgets-tools/package.json b/packages/pluggable-widgets-tools/package.json index 7e54af75..83561fb8 100644 --- a/packages/pluggable-widgets-tools/package.json +++ b/packages/pluggable-widgets-tools/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/pluggable-widgets-tools", - "version": "11.12.0", + "version": "10.24.1", "description": "Mendix Pluggable Widgets Tools", "engines": { "node": ">=20" @@ -78,7 +78,7 @@ "jest-jasmine2": "~30.3.0", "jest-junit": "^17.0.0", "make-dir": "^5.1.0", - "mendix": "^11.8.0", + "mendix": "^10.24.73019", "mime": "^4.1.0", "postcss": "^8.5.10", "postcss-import": "^14.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddc078f0..0f9f4072 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -298,8 +298,8 @@ importers: specifier: ^5.1.0 version: 5.1.0 mendix: - specifier: ^11.8.0 - version: 11.10.0 + specifier: ^10.24.73019 + version: 10.24.113362 mime: specifier: ^4.1.0 version: 4.1.0 @@ -2450,17 +2450,26 @@ packages: '@types/pixelmatch@5.2.6': resolution: {integrity: sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==} + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: '@types/react': ^19.2.0 + '@types/react@18.0.38': + resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==} + '@types/react@19.2.14': resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/scheduler@0.26.0': + resolution: {integrity: sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA==} + '@types/semver@7.7.1': resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} @@ -4979,8 +4988,8 @@ packages: memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - mendix@11.10.0: - resolution: {integrity: sha512-OsLdgNJfhwG4/TcOIMMk0gu0ewHq3Xlv2CNW1YJy2ujqD19ngFvBVB9YTjYxmf+RMn1EG0FQYrn6zCSFzmbL4A==} + mendix@10.24.113362: + resolution: {integrity: sha512-fpQdc8Bg/WWmtrRmy7Tc7ctGYCFPyTfm7HosAtqDtMi/JoiDlY+AnABy8g4mDZcTGcwGtWuVpUAIhib2SkE0RA==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -9583,16 +9592,26 @@ snapshots: dependencies: '@types/node': 16.18.126 + '@types/prop-types@15.7.15': {} + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: '@types/react': 19.2.14 + '@types/react@18.0.38': + dependencies: + '@types/prop-types': 15.7.15 + '@types/scheduler': 0.26.0 + csstype: 3.2.3 + '@types/react@19.2.14': dependencies: csstype: 3.2.3 '@types/resolve@1.20.2': {} + '@types/scheduler@0.26.0': {} + '@types/semver@7.7.1': {} '@types/shelljs@0.10.0': @@ -12867,10 +12886,10 @@ snapshots: memoize-one@5.2.1: {} - mendix@11.10.0: + mendix@10.24.113362: dependencies: '@types/big.js': 6.2.2 - '@types/react': 19.2.14 + '@types/react': 18.0.38 merge-stream@2.0.0: {} From 21b688ea5b9facb258a0432db49711ef00e9012f Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Thu, 16 Jul 2026 16:27:48 +0200 Subject: [PATCH 02/11] Revert React version for 10.24 --- packages/pluggable-widgets-tools/CHANGELOG.md | 2 - packages/pluggable-widgets-tools/package.json | 12 +- .../utils/migration.js | 8 +- pnpm-lock.yaml | 320 +++++++----------- 4 files changed, 139 insertions(+), 203 deletions(-) diff --git a/packages/pluggable-widgets-tools/CHANGELOG.md b/packages/pluggable-widgets-tools/CHANGELOG.md index d0978654..5d7aaf6f 100644 --- a/packages/pluggable-widgets-tools/CHANGELOG.md +++ b/packages/pluggable-widgets-tools/CHANGELOG.md @@ -32,8 +32,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - We updated outdated and vulnerable dependencies. This required major upgrades of several dependencies, including eslint@9, jest@30, and rollup@4. -- We upgraded the Pluggable Widgets Tools to React 19 and React Native 0.78.2. After installation upgrade all dependencies by running `npm run build`. - - **Breaking:** We removed Enzyme testing library and associated dependencies from pluggable-widgets-tools. Tests using Enzyme should be updated to use React Testing Library. See the [migration guide](https://testing-library.com/docs/react-testing-library/migrate-from-enzyme) for more information. The `test:unit:web:enzyme-free` command has been removed; use `test:unit:web` instead. - We fixed an issue where `require` was not transformed to `import` for the `es` output format which could result in an error when the widget was used in a project with React client enabled. diff --git a/packages/pluggable-widgets-tools/package.json b/packages/pluggable-widgets-tools/package.json index 83561fb8..e71f2362 100644 --- a/packages/pluggable-widgets-tools/package.json +++ b/packages/pluggable-widgets-tools/package.json @@ -50,8 +50,8 @@ "@testing-library/react": "^16.3.2", "@testing-library/react-native": "^13.3.3", "@testing-library/user-event": "^14.6.1", - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", "@types/semver": "^7.7.1", "@types/testing-library__jest-dom": "^5.14.5", "@typescript-eslint/eslint-plugin": "^8.59.0", @@ -84,7 +84,7 @@ "postcss-import": "^14.0.2", "postcss-url": "^10.1.4", "prettier": "^2.5.1", - "react-test-renderer": "^19.2.5", + "react-test-renderer": "^18.3.1", "recursive-copy": "^2.0.11", "resolve": "^1.22.12", "rollup": "^4.60.2", @@ -110,9 +110,9 @@ "@types/jest": "^30.0.0", "@types/node": "^16.18.126", "@types/xml2js": "^0.4.5", - "react": "^19.2.5", - "react-dom": "^19.2.5", - "react-native": "~0.78.2" + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-native": "~0.77.3" }, "keywords": [ "typings", diff --git a/packages/pluggable-widgets-tools/utils/migration.js b/packages/pluggable-widgets-tools/utils/migration.js index f6dcbd02..93386bdc 100644 --- a/packages/pluggable-widgets-tools/utils/migration.js +++ b/packages/pluggable-widgets-tools/utils/migration.js @@ -27,7 +27,7 @@ const dependencies = [ { name: "@types/react-native", version: "remove", check: CheckType.MINOR }, { name: "@types/react-native-push-notification", version: "8.1.1", check: CheckType.MAJOR_MINOR }, { name: "@types/react-dom", version: "remove", check: CheckType.MAJOR }, - { name: "@types/react-test-renderer", version: "19.0.0", check: CheckType.MAJOR }, + { name: "@types/react-test-renderer", version: "18.0.0", check: CheckType.MAJOR }, { name: "@types/enzyme-adapter-react-16", version: "remove", check: CheckType.MAJOR }, { name: "@react-native-firebase/app", version: "17.3.0", check: CheckType.MAJOR_MINOR }, { name: "@react-native-firebase/messaging", version: "17.3.0", check: CheckType.MAJOR_MINOR }, @@ -50,9 +50,9 @@ const dependencies = [ { name: "react-native-webview", version: "11.26.1", check: CheckType.MAJOR_MINOR } ]; -const reactPackage = { version: "19.0.0", check: CheckType.MAJOR_MINOR }; -const reactDomPackage = { version: "19.0.0", check: CheckType.MAJOR_MINOR }; -const reactNativePackage = { version: "0.78.2", check: CheckType.MINOR }; +const reactPackage = { version: "18.2.0", check: CheckType.MAJOR_MINOR }; +const reactDomPackage = { version: "18.2.0", check: CheckType.MAJOR_MINOR }; +const reactNativePackage = { version: "0.72.7", check: CheckType.MINOR }; const resolutionsOverrides = [ { name: "react", ...reactPackage }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f9f4072..ca25284e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -206,19 +206,19 @@ importers: version: 6.9.1 '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.31))(@types/react@18.3.31)(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@30.3.0(@types/node@16.18.126)(ts-node@10.9.2(@swc/core@1.15.41)(@types/node@16.18.126)(typescript@5.9.3)))(react-native@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6))(react-test-renderer@19.2.6(react@19.2.6))(react@19.2.6) + version: 13.3.3(jest@30.3.0(@types/node@16.18.126)(ts-node@10.9.2(@swc/core@1.15.41)(@types/node@16.18.126)(typescript@5.9.3)))(react-native@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) '@types/react': - specifier: ^19.0.0 - version: 19.2.14 + specifier: ^18.2.0 + version: 18.3.31 '@types/react-dom': - specifier: ^19.0.0 - version: 19.2.3(@types/react@19.2.14) + specifier: ^18.2.0 + version: 18.3.7(@types/react@18.3.31) '@types/semver': specifier: ^7.7.1 version: 7.7.1 @@ -316,8 +316,8 @@ importers: specifier: ^2.5.1 version: 2.8.8 react-test-renderer: - specifier: ^19.2.5 - version: 19.2.6(react@19.2.6) + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) recursive-copy: specifier: ^2.0.11 version: 2.0.14 @@ -383,14 +383,14 @@ importers: specifier: ^0.4.5 version: 0.4.14 react: - specifier: ^19.2.5 - version: 19.2.6 + specifier: ^18.2.0 + version: 18.3.1 react-dom: - specifier: ^19.2.5 - version: 19.2.6(react@19.2.6) + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) react-native: - specifier: ~0.78.2 - version: 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6) + specifier: ~0.77.3 + version: 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1) packages/release-tools: dependencies: @@ -1828,44 +1828,28 @@ packages: peerDependencies: prettier: ^3.0.0 - '@react-native/assets-registry@0.78.3': - resolution: {integrity: sha512-gQGoxEq7CuY/LjnHjORrNnJzUkx0YH7r/U1bvdznaaZ4CLcRFa1nKZEmZMv0h9moVqzr7GUbphJzS+RwqoGYIg==} + '@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/babel-plugin-codegen@0.78.3': - resolution: {integrity: sha512-yKs7KR9CzqGaM8mZi4vdjgaNgqomj094U325h2GWqsdj9+m/lf8e/Crd9sLDFtK0W2UCbcVw2L+M8okqXJ3oHw==} - engines: {node: '>=18'} - '@react-native/babel-preset@0.77.3': resolution: {integrity: sha512-Cy1RoL5/nh2S/suWgfTuhUwkERoDN/Q2O6dZd3lcNcBrjd5Y++sBJGyBnHd9pqlSmOy8RLLBJZ9dOylycBOqzQ==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/babel-preset@0.78.3': - resolution: {integrity: sha512-L1DRY8CYbrnpFoqVgeRW1FO8ZfgagYd3nx0M+9oaqG/VFX5rrfoMt011ZDeoYpmNayZS7klkqCFQLXVWAMPNBA==} - 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/codegen@0.78.3': - resolution: {integrity: sha512-p6mbFm6vvDskMj3zBzFIhHc85i2G/f47HwkFLJYSdWUITrPaVlXLSjSoCQPhYSNqrMv2g376OZZ+QXjp50XnTQ==} - engines: {node: '>=18'} - peerDependencies: - '@babel/preset-env': ^7.1.6 - - '@react-native/community-cli-plugin@0.78.3': - resolution: {integrity: sha512-Ax4mYFHxWH7xDsfPr7UR+WHBXAv3rXNzROEc7xVNsbNtpNVTHSqawUfDzH8jCO4rJEYQU18RARHwhBIXKwLFew==} + '@react-native/community-cli-plugin@0.77.3': + resolution: {integrity: sha512-8OKvow2jHojl1d3PW/84uTBPMnmxRyPtfhBL0sQxrWP5Kgooe5XALoWsoBIFk+aIFu/fV7Pv0AAd0cdLC0NtOg==} engines: {node: '>=18'} peerDependencies: '@react-native-community/cli': '*' @@ -1873,36 +1857,36 @@ packages: '@react-native-community/cli': optional: true - '@react-native/debugger-frontend@0.78.3': - resolution: {integrity: sha512-ImYGtEI9zsF/pietY45M8vd3OVWEkECbOngOhul0GVHECBsSHuOaQ/8PoxWl9Rps+8p1048aIMsPT9QzEtGwtQ==} + '@react-native/debugger-frontend@0.77.3': + resolution: {integrity: sha512-FTERmc43r/3IpTvUZTr9gVVTgOIrg1hrkN57POr/CiL8RbcY/nv6vfNM7/CXG5WF8ckHiLeWTcRHzJUl1+rFkw==} engines: {node: '>=18'} - '@react-native/dev-middleware@0.78.3': - resolution: {integrity: sha512-7upCJUYTFt3AwDQqByWDmTdlHYU93AdU+rsndis2xsJI4h7DrEjKtvvEgFOJG+jGHcyct9vNu1S+Jj2g8DRguQ==} + '@react-native/dev-middleware@0.77.3': + resolution: {integrity: sha512-tCylGMjibJAEl2r2nWX5L5CvK6XFLGbjhe7Su7OcxRGrynHin87rAmcaTeoTtbtsREFlFM0f4qxcmwCxmbZHJw==} engines: {node: '>=18'} - '@react-native/gradle-plugin@0.78.3': - resolution: {integrity: sha512-Nrg3TRd/kjE+qOvukqeP5GqD1/oMd25X2yv370lWHBt9d0RJ0d008almkb5fHxQa+vKPeiAEhK726qCX8YXvIQ==} + '@react-native/gradle-plugin@0.77.3': + resolution: {integrity: sha512-GRVNBDowaFub9j+WBLGI09bDbCq+f7ugaNRr6lmZnLx/xdmiKUj9YKyARt4zn8m65MRK2JGlJk0OqmQOvswpzQ==} engines: {node: '>=18'} - '@react-native/js-polyfills@0.78.3': - resolution: {integrity: sha512-RvWAV2qU+XgMRVF+WIJQIqKdfrth1ghhdzAoKkXpXRKgWPps/6ZSCFgxkSjYaxAwXREOEx8/HunSmXDCsW+0ag==} + '@react-native/js-polyfills@0.77.3': + resolution: {integrity: sha512-XqxnQRyKD11u5ZYG5LPnElThWYJf3HMosqqkJGB4nwx6nc6WKxj1sR9snptibExDMGioZ2OyvPWCF8tX+qggrw==} engines: {node: '>=18'} - '@react-native/metro-babel-transformer@0.78.3': - resolution: {integrity: sha512-VSzAJ5G7uD1F5nG6NagHZFq6Q6dpsCU6LH+2j7iTsXZ9QUSds54f+WP5RC0UHZcVkQavSfqzu3+wj4pYGv5Pzg==} + '@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.78.3': - resolution: {integrity: sha512-/Nbuhc65xSVE3KFCejQEI9pgF+uwArj6EMHMVCkRtUqkM88Ng+f+8E7PyNN0hDUnj2Vr30FwBczdwm1kQLTWZA==} + '@react-native/normalize-colors@0.77.3': + resolution: {integrity: sha512-9gHhvK0EKskgIN4JiwzQdxiKhLCgH2LpCp+v38ZxWQpXTMbTDDE4AJRqYgWp2v9WUFQB/S5+XqBDZDgn/MGq9A==} - '@react-native/virtualized-lists@0.78.3': - resolution: {integrity: sha512-LgZYG6GmKXGoEEIvWyK8HCka4O4th5aWurB4Ah7XH9WI2ZDvIZLwJNhOU+rbCK4kKCS175/rOioajMAI/U/3iA==} + '@react-native/virtualized-lists@0.77.3': + resolution: {integrity: sha512-3B0TPbLp7ZMWTlsOf+MzcuKuqF2HZzqh94+tPvw1thF5PxPaO2yZjVxfjrQ9EtdhQisG4siwiXVHB9DD6VkU4A==} engines: {node: '>=18'} peerDependencies: - '@types/react': ^19.0.0 + '@types/react': ^18.2.6 react: '*' react-native: '*' peerDependenciesMeta: @@ -2453,16 +2437,16 @@ packages: '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + '@types/react-dom@18.3.7': + resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} peerDependencies: - '@types/react': ^19.2.0 + '@types/react': ^18.0.0 '@types/react@18.0.38': resolution: {integrity: sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==} - '@types/react@19.2.14': - resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} + '@types/react@18.3.31': + resolution: {integrity: sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -4732,6 +4716,9 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} + jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} @@ -5899,10 +5886,10 @@ packages: react-devtools-core@6.1.5: resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^19.2.6 + react: ^18.3.1 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -5916,13 +5903,13 @@ packages: react-is@19.2.6: resolution: {integrity: sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==} - react-native@0.78.3: - resolution: {integrity: sha512-e8fMZ/hUHWest9VUaM7tz8AghfekwfSEbZOBrrN2dVt+wYvzEMWYPY3RopUf3M1UhKUdIlNBuCX0eQ8VDhdXGA==} + react-native@0.77.3: + resolution: {integrity: sha512-fIYZ9+zX+iGcb/xGZA6oN3Uq9x46PdqVYtlyG+WmOIFQPVXgryaS9FJLdTvoTpsEA2JXGSGgNOdm640IdAW3cA==} engines: {node: '>=18'} hasBin: true peerDependencies: - '@types/react': ^19.0.0 - react: ^19.0.0 + '@types/react': ^18.2.6 + react: ^18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -5931,13 +5918,18 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-test-renderer@19.2.6: - resolution: {integrity: sha512-GbS6V23YduFTPiWJ5xICbKEjRcqx1Z90js/V5miqhz7qp/d6xSe9Dd6NjSQODFRdzdsqRMPW82E/sFpPRbY5Mw==} + react-shallow-renderer@16.15.0: + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-test-renderer@18.3.1: + resolution: {integrity: sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==} peerDependencies: - react: ^19.2.6 + react: ^18.3.1 - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -6157,11 +6149,11 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.25.0: - resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} @@ -8929,7 +8921,7 @@ snapshots: '@xml-tools/parser': 1.0.11 prettier: 3.8.3 - '@react-native/assets-registry@0.78.3': {} + '@react-native/assets-registry@0.77.3': {} '@react-native/babel-plugin-codegen@0.77.3(@babel/preset-env@7.29.5(@babel/core@7.29.0))': dependencies: @@ -8939,14 +8931,6 @@ snapshots: - '@babel/preset-env' - supports-color - '@react-native/babel-plugin-codegen@0.78.3(@babel/preset-env@7.29.5(@babel/core@7.29.0))': - dependencies: - '@babel/traverse': 7.29.0 - '@react-native/codegen': 0.78.3(@babel/preset-env@7.29.5(@babel/core@7.29.0)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - '@react-native/babel-preset@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': dependencies: '@babel/core': 7.29.0 @@ -8998,57 +8982,6 @@ snapshots: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-export-default-from': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-runtime': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) - '@babel/template': 7.28.6 - '@react-native/babel-plugin-codegen': 0.78.3(@babel/preset-env@7.29.5(@babel/core@7.29.0)) - babel-plugin-syntax-hermes-parser: 0.25.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.0) - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - '@react-native/codegen@0.77.3(@babel/preset-env@7.29.5(@babel/core@7.29.0))': dependencies: '@babel/parser': 7.29.3 @@ -9062,23 +8995,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/codegen@0.78.3(@babel/preset-env@7.29.5(@babel/core@7.29.0))': + '@react-native/community-cli-plugin@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': dependencies: - '@babel/parser': 7.29.3 - '@babel/preset-env': 7.29.5(@babel/core@7.29.0) - glob: 7.2.3 - hermes-parser: 0.25.1 - invariant: 2.2.4 - jscodeshift: 17.3.0(@babel/preset-env@7.29.5(@babel/core@7.29.0)) - nullthrows: 1.1.1 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - '@react-native/community-cli-plugin@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': - dependencies: - '@react-native/dev-middleware': 0.78.3 - '@react-native/metro-babel-transformer': 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) + '@react-native/dev-middleware': 0.77.3 + '@react-native/metro-babel-transformer': 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) chalk: 4.1.2 debug: 2.6.9 invariant: 2.2.4 @@ -9094,12 +9014,12 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.78.3': {} + '@react-native/debugger-frontend@0.77.3': {} - '@react-native/dev-middleware@0.78.3': + '@react-native/dev-middleware@0.77.3': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.78.3 + '@react-native/debugger-frontend': 0.77.3 chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 @@ -9115,30 +9035,30 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.78.3': {} + '@react-native/gradle-plugin@0.77.3': {} - '@react-native/js-polyfills@0.78.3': {} + '@react-native/js-polyfills@0.77.3': {} - '@react-native/metro-babel-transformer@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': + '@react-native/metro-babel-transformer@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))': dependencies: '@babel/core': 7.29.0 - '@react-native/babel-preset': 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) + '@react-native/babel-preset': 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) hermes-parser: 0.25.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/normalize-colors@0.78.3': {} + '@react-native/normalize-colors@0.77.3': {} - '@react-native/virtualized-lists@0.78.3(@types/react@19.2.14)(react-native@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6))(react@19.2.6)': + '@react-native/virtualized-lists@0.77.3(@types/react@18.3.31)(react-native@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 19.2.6 - react-native: 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6) + react: 18.3.1 + react-native: 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 18.3.31 '@rollup/plugin-alias@5.1.1(rollup@4.60.4)': optionalDependencies: @@ -9443,27 +9363,27 @@ snapshots: picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/react-native@13.3.3(jest@30.3.0(@types/node@16.18.126)(ts-node@10.9.2(@swc/core@1.15.41)(@types/node@16.18.126)(typescript@5.9.3)))(react-native@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6))(react-test-renderer@19.2.6(react@19.2.6))(react@19.2.6)': + '@testing-library/react-native@13.3.3(jest@30.3.0(@types/node@16.18.126)(ts-node@10.9.2(@swc/core@1.15.41)(@types/node@16.18.126)(typescript@5.9.3)))(react-native@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1))(react-test-renderer@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: jest-matcher-utils: 30.4.1 picocolors: 1.1.1 pretty-format: 30.4.1 - react: 19.2.6 - react-native: 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6) - react-test-renderer: 19.2.6(react@19.2.6) + react: 18.3.1 + react-native: 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1) + react-test-renderer: 18.3.1(react@18.3.1) redent: 3.0.0 optionalDependencies: jest: 30.3.0(@types/node@16.18.126)(ts-node@10.9.2(@swc/core@1.15.41)(@types/node@16.18.126)(typescript@5.9.3)) - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.31))(@types/react@18.3.31)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.29.2 '@testing-library/dom': 10.4.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 18.3.31 + '@types/react-dom': 18.3.7(@types/react@18.3.31) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: @@ -9594,9 +9514,9 @@ snapshots: '@types/prop-types@15.7.15': {} - '@types/react-dom@19.2.3(@types/react@19.2.14)': + '@types/react-dom@18.3.7(@types/react@18.3.31)': dependencies: - '@types/react': 19.2.14 + '@types/react': 18.3.31 '@types/react@18.0.38': dependencies: @@ -9604,8 +9524,9 @@ snapshots: '@types/scheduler': 0.26.0 csstype: 3.2.3 - '@types/react@19.2.14': + '@types/react@18.3.31': dependencies: + '@types/prop-types': 15.7.15 csstype: 3.2.3 '@types/resolve@1.20.2': {} @@ -12594,6 +12515,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsc-android@250231.0.0: {} + jsc-safe-url@0.2.4: {} jscodeshift@17.3.0(@babel/preset-env@7.29.5(@babel/core@7.29.0)): @@ -13885,10 +13808,11 @@ snapshots: - bufferutil - utf-8-validate - react-dom@19.2.6(react@19.2.6): + react-dom@18.3.1(react@18.3.1): dependencies: - react: 19.2.6 - scheduler: 0.27.0 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 react-is@16.13.1: {} @@ -13898,16 +13822,16 @@ snapshots: react-is@19.2.6: {} - react-native@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6): + react-native@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native/assets-registry': 0.78.3 - '@react-native/codegen': 0.78.3(@babel/preset-env@7.29.5(@babel/core@7.29.0)) - '@react-native/community-cli-plugin': 0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) - '@react-native/gradle-plugin': 0.78.3 - '@react-native/js-polyfills': 0.78.3 - '@react-native/normalize-colors': 0.78.3 - '@react-native/virtualized-lists': 0.78.3(@types/react@19.2.14)(react-native@0.78.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.6))(react@19.2.6) + '@react-native/assets-registry': 0.77.3 + '@react-native/codegen': 0.77.3(@babel/preset-env@7.29.5(@babel/core@7.29.0)) + '@react-native/community-cli-plugin': 0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0)) + '@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.31)(react-native@0.77.3(@babel/core@7.29.0)(@babel/preset-env@7.29.5(@babel/core@7.29.0))(@types/react@18.3.31)(react@18.3.1))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -13921,24 +13845,25 @@ snapshots: 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.81.5 metro-source-map: 0.81.5 nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 - react: 19.2.6 + react: 18.3.1 react-devtools-core: 6.1.5 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 - scheduler: 0.25.0 + scheduler: 0.24.0-canary-efb381bbf-20230505 semver: 7.8.0 stacktrace-parser: 0.1.11 whatwg-fetch: 3.6.20 ws: 6.2.3 yargs: 17.7.2 optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 18.3.31 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -13949,13 +13874,22 @@ snapshots: react-refresh@0.14.2: {} - react-test-renderer@19.2.6(react@19.2.6): + react-shallow-renderer@16.15.0(react@18.3.1): dependencies: - react: 19.2.6 - react-is: 19.2.6 - scheduler: 0.27.0 + object-assign: 4.1.1 + react: 18.3.1 + react-is: 18.3.1 - react@19.2.6: {} + react-test-renderer@18.3.1(react@18.3.1): + dependencies: + react: 18.3.1 + react-is: 18.3.1 + react-shallow-renderer: 16.15.0(react@18.3.1) + scheduler: 0.23.2 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 read-cache@1.0.0: dependencies: @@ -14254,9 +14188,13 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.25.0: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 - scheduler@0.27.0: {} + scheduler@0.24.0-canary-efb381bbf-20230505: + dependencies: + loose-envify: 1.4.0 selfsigned@2.4.1: dependencies: From 1f99a0062001498610b924f63e6a45ba95865129 Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Thu, 16 Jul 2026 16:45:55 +0200 Subject: [PATCH 03/11] Revert Single Object Data Sources for 10.24 --- .../typings-generator/__tests__/index.spec.ts | 15 -- .../inputs/single-object-datasource.ts | 136 ------------------ .../outputs/single-object-datasource.ts | 62 -------- .../src/typings-generator/generate.ts | 1 - .../typings-generator/generateClientTypes.ts | 2 +- 5 files changed, 1 insertion(+), 215 deletions(-) delete mode 100644 packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/single-object-datasource.ts delete mode 100644 packages/pluggable-widgets-tools/src/typings-generator/__tests__/outputs/single-object-datasource.ts diff --git a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/index.spec.ts b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/index.spec.ts index f624b586..bd1ee166 100644 --- a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/index.spec.ts +++ b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/index.spec.ts @@ -50,11 +50,6 @@ import { } from "./outputs/list-action-with-variables"; import { imageWebInput, imageNativeInput } from "./inputs/image"; import { imageWebOutput, imageNativeOutput } from "./outputs/image"; -import { singleObjectDatasourceInput, singleObjectDatasourceInputNative } from "./inputs/single-object-datasource"; -import { - singleObjectDatasourceNativeOutput, - singleObjectDatasourceWebOutput -} from "./outputs/single-object-datasource"; describe("Generating tests", () => { it("Generates a parsed typing from XML for native", () => { @@ -256,16 +251,6 @@ describe("Generating tests", () => { const newContent = generateNativeTypesFor(imageNativeInput); expect(newContent).toBe(imageNativeOutput); }); - - it("Generates a parsed typing from XML for web using single object datasource", () => { - const newContent = generateFullTypesFor(singleObjectDatasourceInput); - expect(newContent).toBe(singleObjectDatasourceWebOutput); - }); - - it("Generates a parsed typing from XML for native using single object datasource", () => { - const newContent = generateNativeTypesFor(singleObjectDatasourceInputNative); - expect(newContent).toBe(singleObjectDatasourceNativeOutput); - }); }); function generateFullTypesFor(xml: string) { diff --git a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/single-object-datasource.ts b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/single-object-datasource.ts deleted file mode 100644 index 97850552..00000000 --- a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/inputs/single-object-datasource.ts +++ /dev/null @@ -1,136 +0,0 @@ -export const singleObjectDatasourceInput = ` - - - - - Single object data source - - - - Optional single object data source - - - - List data source - - - - Single Content - - - - Single Attribute - - - - - - - - - Single Action - - - - Single Text Template - - - - Single Expression - - - - - Optional Single Attribute - - - - - - - Optional Single Action - - - - List Content - - - - List Attribute - - - - - - - List Action - - - - - - - - -`; - -export const singleObjectDatasourceInputNative = ` - - - - - Single object data source - - - - List data source - - - - Single Content - - - - Single Attribute - - - - - - - - - Single Action - - - - Single Text Template - - - - Single Expression - - - - - List Content - - - - List Attribute - - - - - - - List Action - - - - -`; diff --git a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/outputs/single-object-datasource.ts b/packages/pluggable-widgets-tools/src/typings-generator/__tests__/outputs/single-object-datasource.ts deleted file mode 100644 index 9aec6809..00000000 --- a/packages/pluggable-widgets-tools/src/typings-generator/__tests__/outputs/single-object-datasource.ts +++ /dev/null @@ -1,62 +0,0 @@ -export const singleObjectDatasourceWebOutput = `/** - * This file was generated from MyWidget.xml - * WARNING: All changes made to this file will be overwritten - * @author Mendix Widgets Framework Team - */ -import { ActionValue, DynamicValue, EditableValue, ListActionValue, ListAttributeValue, ListValue, ListWidgetValue, ObjectItem } from "mendix"; -import { ComponentType, ReactNode } from "react"; -import { Big } from "big.js"; - -export interface MyWidgetContainerProps { - name: string; - tabIndex?: number; - id: string; - singleSource: DynamicValue; - optionalSingleSource?: DynamicValue; - listSource: ListValue; - singleContent: ReactNode; - singleAttribute: EditableValue; - singleAction?: ActionValue; - singleTextTemplate: DynamicValue; - singleExpression: DynamicValue; - optionalSingleAttribute?: EditableValue; - optionalSingleAction?: ActionValue; - listContent: ListWidgetValue; - listAttribute: ListAttributeValue; - listAction?: ListActionValue; -} - -export interface MyWidgetPreviewProps { - readOnly: boolean; - renderMode: "design" | "xray" | "structure"; - translate: (text: string) => string; - singleSource: {} | { caption: string } | { type: string } | null; - optionalSingleSource: {} | { caption: string } | { type: string } | null; - listSource: {} | { caption: string } | { type: string } | null; - singleContent: { widgetCount: number; renderer: ComponentType<{ children: ReactNode; caption?: string }> }; - singleAttribute: string; - singleAction: {} | null; - singleTextTemplate: string; - singleExpression: string; - optionalSingleAttribute: string; - optionalSingleAction: {} | null; - listContent: { widgetCount: number; renderer: ComponentType<{ children: ReactNode; caption?: string }> }; - listAttribute: string; - listAction: {} | null; -} -`; - -export const singleObjectDatasourceNativeOutput = `export interface MyWidgetProps