From 2122f264bb4ed2e79865e66dc07ce08ccfd21e5c Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Wed, 22 Jul 2026 10:24:41 +0200 Subject: [PATCH 1/4] Generate 10.24 widgets with correct dependencies --- .../packages/package_native.json.ejs | 22 +++++++++---------- .../templates/packages/package_web.json.ejs | 18 +++++++-------- 2 files changed, 20 insertions(+), 20 deletions(-) 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 d6e15df1..ffd79275 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 @@ -27,7 +27,7 @@ "output": "./dist/testresults/TESTS-Jest.xml" },<% } %> "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.11.0"<% if (isLanguageTS) { %>, + "@mendix/pluggable-widgets-tools": "^10.24.1"<% if (isLanguageTS) { %>, "@types/big.js": "^6.0.2"<% if (hasUnitTests) { %>, "@types/jest": "^30.0.0"<% } %><% } %> }, @@ -35,17 +35,17 @@ }, "resolutions": { - "react": "^19.0.0", - "react-dom": "^19.0.0",<% if (isLanguageTS) { %> - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0",<% } %> - "react-native": "~0.78.2" + "react": "^18.2.0", + "react-dom": "^18.2.0",<% if (isLanguageTS) { %> + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0",<% } %> + "react-native": "~0.77.3" }, "overrides": { - "react": "^19.0.0", - "react-dom": "^19.0.0",<% if (isLanguageTS) { %> - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0",<% } %> - "react-native": "~0.78.2" + "react": "^18.2.0", + "react-dom": "^18.2.0",<% if (isLanguageTS) { %> + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0",<% } %> + "react-native": "~0.77.3" } } diff --git a/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs b/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs index a303a1b3..3a2805f2 100644 --- a/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs +++ b/packages/generator-widget/generators/app/templates/packages/package_web.json.ejs @@ -28,7 +28,7 @@ "release": "pluggable-widgets-tools release:web" }, "devDependencies": { - "@mendix/pluggable-widgets-tools": "^11.11.0"<% if (isLanguageTS) { %>, + "@mendix/pluggable-widgets-tools": "^10.24.1"<% if (isLanguageTS) { %>, "@types/big.js": "^6.0.2"<% if (hasE2eTests) { %>, "@types/jasmine": "^3.6.9"<% } %><% if (hasUnitTests) { %>, "@types/jest": "^30.0.0"<% } %><% } %><% if (hasE2eTests) { %>, @@ -38,15 +38,15 @@ "classnames": "^2.5.1" }, "resolutions": { - "react": "^19.0.0", - "react-dom": "^19.0.0"<% if (isLanguageTS) { %>, - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0"<% } %> + "react": "^18.2.0", + "react-dom": "^18.2.0"<% if (isLanguageTS) { %>, + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0"<% } %> }, "overrides": { - "react": "^19.0.0", - "react-dom": "^19.0.0"<% if (isLanguageTS) { %>, - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0"<% } %> + "react": "^18.2.0", + "react-dom": "^18.2.0"<% if (isLanguageTS) { %>, + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0"<% } %> } } From cb941705c5f33462effc764b5debc7981d630d4d Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Wed, 22 Jul 2026 10:26:13 +0200 Subject: [PATCH 2/4] Set version of Generator to 10.24 --- packages/generator-widget/CHANGELOG.md | 14 -------------- packages/generator-widget/package.json | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/packages/generator-widget/CHANGELOG.md b/packages/generator-widget/CHANGELOG.md index 2aa2b3cf..82dc781c 100644 --- a/packages/generator-widget/CHANGELOG.md +++ b/packages/generator-widget/CHANGELOG.md @@ -10,24 +10,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - We cleaned up a template with unused imports. -## [11.11.0] - 2026-06-04 - -### Changed - - We updated the version of cypress when e2e tests are generated. - We renamed the initial e2e tests so they match cypress' default specPattern. -## [11.6.0] - 2026-03-04 - -### Changed - -- We upgraded React to version 19 and React Native to version 0.78.2 for generated widgets. - -## [11.3.1] - 2026-02-04 - -### Changed - - We migrated the generated unit tests to use React Testing Library instead of enzyme. - We changed the copyright prompt to prefill the current year. diff --git a/packages/generator-widget/package.json b/packages/generator-widget/package.json index 13d09874..f205dd57 100644 --- a/packages/generator-widget/package.json +++ b/packages/generator-widget/package.json @@ -1,6 +1,6 @@ { "name": "@mendix/generator-widget", - "version": "11.11.0", + "version": "10.24.1", "description": "Mendix Pluggable Widgets Generator", "type": "module", "engines": { From 846d1a32c2c94587b36edf6eb3cec0a4d7edc6ff Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Thu, 23 Jul 2026 17:08:08 +0200 Subject: [PATCH 3/4] Remove dependency utility for hardcoded widgets --- packages/command-tests/commands.js | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/packages/command-tests/commands.js b/packages/command-tests/commands.js index adfeeeb0..4d3994b9 100644 --- a/packages/command-tests/commands.js +++ b/packages/command-tests/commands.js @@ -193,9 +193,6 @@ async function main() { widgetPackageJson = await readJson(join(workDir, "package.json")); widgetPackageJson.devDependencies["@mendix/pluggable-widgets-tools"] = toolsPackagePath; - // Adds compatibility to new React 18 and React native 0.72 - fixPackageJson(widgetPackageJson); - await writeJson(join(workDir, "package.json"), widgetPackageJson); await execAsync("npm install --loglevel=error", workDir, logger); @@ -400,24 +397,3 @@ async function execFailedAsync(command, workDir) { throw new Error(`Expected '${command}' to fail, but it didn't!`); } -function fixPackageJson(json) { - const devDependencies = { - "@types/jest": "^29.0.0", - "@types/react": "^19.0.0", - "@types/react-native": "0.78.2", - "@types/react-dom": "^19.0.0", - "@types/react-test-renderer": "~18.0.0" - }; - const overrides = { - react: "^19.0.0", - "react-dom": "^19.0.0", - "react-native": "0.78.2" - }; - - Object.keys(devDependencies) - .filter(dep => !!json.devDependencies[dep]) - .forEach(dep => (json.devDependencies[dep] = devDependencies[dep])); - - json.overrides = overrides; - json.resolutions = overrides; -} From e3fd3ca32b7581fdab525426155072263fcc9f82 Mon Sep 17 00:00:00 2001 From: Arjo Bruijnes Date: Thu, 23 Jul 2026 17:08:46 +0200 Subject: [PATCH 4/4] Mark react as peer dependency --- packages/pluggable-widgets-tools/package.json | 4 +++- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/pluggable-widgets-tools/package.json b/packages/pluggable-widgets-tools/package.json index e71f2362..b6fc1d09 100644 --- a/packages/pluggable-widgets-tools/package.json +++ b/packages/pluggable-widgets-tools/package.json @@ -109,7 +109,9 @@ "devDependencies": { "@types/jest": "^30.0.0", "@types/node": "^16.18.126", - "@types/xml2js": "^0.4.5", + "@types/xml2js": "^0.4.5" + }, + "peerDependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", "react-native": "~0.77.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca25284e..319fe049 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -315,6 +315,15 @@ importers: prettier: specifier: ^2.5.1 version: 2.8.8 + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + react-native: + 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) react-test-renderer: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) @@ -382,15 +391,6 @@ importers: '@types/xml2js': specifier: ^0.4.5 version: 0.4.14 - react: - specifier: ^18.2.0 - version: 18.3.1 - react-dom: - specifier: ^18.2.0 - version: 18.3.1(react@18.3.1) - react-native: - 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: