From 52b4513a7abd00b3c3e7e99f5c67ffd346c2f9ff Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Tue, 4 Aug 2026 14:26:03 +0200 Subject: [PATCH 1/2] chore: fix upgrade template script --- scripts/upgrade-template-deps.mts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/upgrade-template-deps.mts b/scripts/upgrade-template-deps.mts index 2cdf69bad..a64ed37ef 100755 --- a/scripts/upgrade-template-deps.mts +++ b/scripts/upgrade-template-deps.mts @@ -128,6 +128,8 @@ function main() { 'bob-upgrade-test', '--description', 'test', + '--author-name', + 'test', '--type', 'turbo-module', '--languages', From 5194b7209b1c3c8e1c1d1b12785a47db234634c4 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Tue, 4 Aug 2026 15:25:05 +0200 Subject: [PATCH 2/2] chore: upgrade dependencies --- .../src/constants.ts | 8 ++--- .../src/exampleApp/generateExampleApp.ts | 6 ++-- .../templates/common/$package.json | 6 ++-- .../templates/tools/eslint/~package.json | 10 +++--- .../templates/tools/jest/~package.json | 2 +- .../templates/tools/lefthook/~package.json | 6 ++-- .../templates/tools/release-it/~package.json | 4 +-- .../templates/tools/turborepo/~package.json | 2 +- .../tools/vite/example/~package.json | 4 +-- scripts/upgrade-template-deps.mts | 31 ++++++++++++------- 10 files changed, 44 insertions(+), 35 deletions(-) diff --git a/packages/create-react-native-library/src/constants.ts b/packages/create-react-native-library/src/constants.ts index e6e3218fb..a548fbd13 100644 --- a/packages/create-react-native-library/src/constants.ts +++ b/packages/create-react-native-library/src/constants.ts @@ -1,5 +1,5 @@ -export const FALLBACK_BOB_VERSION = '0.41.0'; -export const FALLBACK_NITRO_MODULES_VERSION = '0.35.3'; +export const FALLBACK_BOB_VERSION = '0.43.0'; +export const FALLBACK_NITRO_MODULES_VERSION = '0.36.5'; export const SUPPORTED_MONOREPO_CONFIG_VERSION = '0.4.0'; -export const SUPPORTED_REACT_NATIVE_VERSION = '0.85.0'; -export const SUPPORTED_EXPO_SDK_VERSION = '55'; +export const SUPPORTED_REACT_NATIVE_VERSION = '0.86.2'; +export const SUPPORTED_EXPO_SDK_VERSION = '57'; diff --git a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts index c94d83958..0689988e4 100644 --- a/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts +++ b/packages/create-react-native-library/src/exampleApp/generateExampleApp.ts @@ -44,12 +44,12 @@ const PACKAGES_TO_REMOVE = [ ]; const PACKAGES_TO_ADD_EXPO_WEB = { - '@expo/metro-runtime': '~5.0.4', - 'react-native-web': '~0.21.1', + '@expo/metro-runtime': '~57.0.8', + 'react-native-web': '~0.21.0', }; const PACKAGES_TO_ADD_DEV_EXPO_NATIVE = { - 'expo-dev-client': '~5.0.3', + 'expo-dev-client': '~57.0.10', }; async function fetchReactNativeVersion(version: string) { diff --git a/packages/create-react-native-library/templates/common/$package.json b/packages/create-react-native-library/templates/common/$package.json index 6550bd37b..2b5124c73 100644 --- a/packages/create-react-native-library/templates/common/$package.json +++ b/packages/create-react-native-library/templates/common/$package.json @@ -70,16 +70,16 @@ }, "devDependencies": { <% if (project.cpp) { -%> - "@react-native-community/cli": "^20.1.2", + "@react-native-community/cli": "20.2.0", <% } -%> - "@react-native/babel-preset": "0.85.0", + "@react-native/babel-preset": "0.86.2", "@types/react": "^19.2.0", "del-cli": "^7.0.0", <% if (project.moduleConfig === 'nitro-modules' || project.viewConfig === 'nitro-view') { -%> "nitrogen": "^<%- versions.nitro %>", <% } -%> "react": "19.2.3", - "react-native": "0.85.0", + "react-native": "0.86.2", "react-native-builder-bob": "^<%- versions.bob %>", <% if (project.moduleConfig === 'nitro-modules' || project.viewConfig === 'nitro-view') { -%> "react-native-nitro-modules": "^<%- versions.nitro %>", diff --git a/packages/create-react-native-library/templates/tools/eslint/~package.json b/packages/create-react-native-library/templates/tools/eslint/~package.json index 800e918b7..0df2e9c14 100644 --- a/packages/create-react-native-library/templates/tools/eslint/~package.json +++ b/packages/create-react-native-library/templates/tools/eslint/~package.json @@ -11,13 +11,13 @@ }, "devDependencies": { "@eslint/compat": "^2.1.0", - "@eslint/eslintrc": "^3.3.5", - "@eslint/js": "^10.0.1", - "@react-native/eslint-config": "0.85.0", - "eslint": "^9.39.4", + "@eslint/eslintrc": "^3.3.6", + "@eslint/js": "^9.39.5", + "@react-native/eslint-config": "0.86.2", + "eslint": "^9.39.5", "eslint-config-prettier": "^10.1.8", "eslint-plugin-ft-flow": "^3.0.11", "eslint-plugin-prettier": "^5.5.6", - "prettier": "^3.8.3" + "prettier": "^3.9.6" } } diff --git a/packages/create-react-native-library/templates/tools/jest/~package.json b/packages/create-react-native-library/templates/tools/jest/~package.json index 8a8139beb..150544013 100644 --- a/packages/create-react-native-library/templates/tools/jest/~package.json +++ b/packages/create-react-native-library/templates/tools/jest/~package.json @@ -17,7 +17,7 @@ ] }, "devDependencies": { - "@react-native/jest-preset": "0.85.0", + "@react-native/jest-preset": "0.86.2", "@jest/globals": "^29.7.0", "jest": "^29.7.0" } diff --git a/packages/create-react-native-library/templates/tools/lefthook/~package.json b/packages/create-react-native-library/templates/tools/lefthook/~package.json index b942be8b0..301d33b53 100644 --- a/packages/create-react-native-library/templates/tools/lefthook/~package.json +++ b/packages/create-react-native-library/templates/tools/lefthook/~package.json @@ -3,8 +3,8 @@ "extends": ["@commitlint/config-conventional"] }, "devDependencies": { - "@commitlint/config-conventional": "^21.0.2", - "commitlint": "^21.0.2", - "lefthook": "^2.1.9" + "@commitlint/config-conventional": "^21.2.0", + "commitlint": "^21.2.1", + "lefthook": "^2.1.10" } } diff --git a/packages/create-react-native-library/templates/tools/release-it/~package.json b/packages/create-react-native-library/templates/tools/release-it/~package.json index 13c323229..30c73372c 100644 --- a/packages/create-react-native-library/templates/tools/release-it/~package.json +++ b/packages/create-react-native-library/templates/tools/release-it/~package.json @@ -22,7 +22,7 @@ } }, "devDependencies": { - "@release-it/conventional-changelog": "^11.0.1", - "release-it": "^20.2.0" + "@release-it/conventional-changelog": "^12.0.0", + "release-it": "^21.0.1" } } diff --git a/packages/create-react-native-library/templates/tools/turborepo/~package.json b/packages/create-react-native-library/templates/tools/turborepo/~package.json index 75479be99..3d1520603 100644 --- a/packages/create-react-native-library/templates/tools/turborepo/~package.json +++ b/packages/create-react-native-library/templates/tools/turborepo/~package.json @@ -1,5 +1,5 @@ { "devDependencies": { - "turbo": "^2.9.16" + "turbo": "^2.10.8" } } diff --git a/packages/create-react-native-library/templates/tools/vite/example/~package.json b/packages/create-react-native-library/templates/tools/vite/example/~package.json index c0590ee7d..86ca08df1 100644 --- a/packages/create-react-native-library/templates/tools/vite/example/~package.json +++ b/packages/create-react-native-library/templates/tools/vite/example/~package.json @@ -7,8 +7,8 @@ "react-native-web": "~0.21.2" }, "devDependencies": { - "@vitejs/plugin-react": "^5.0.0", - "vite": "^7.1.1", + "@vitejs/plugin-react": "^5.2.0", + "vite": "^7.3.6", "vite-plugin-commonjs": "^0.10.4" } } diff --git a/scripts/upgrade-template-deps.mts b/scripts/upgrade-template-deps.mts index a64ed37ef..26cc2b383 100755 --- a/scripts/upgrade-template-deps.mts +++ b/scripts/upgrade-template-deps.mts @@ -21,6 +21,8 @@ const IGNORED_PACKAGES = [ /^@react-native\//, ]; +const REACT_NATIVE_PACKAGE_REGEX = /^@react-native\//; + function readDevDependencies(filePath: string) { const pkg = JSON.parse(fs.readFileSync(filePath, 'utf8')) as PackageJson; @@ -41,9 +43,11 @@ function getDependencyChanges( for (const [name, ncuVersion] of Object.entries(ncuDeps)) { if (isIgnoredPackage(name)) { - // Sync the CLI-generated version back to the template, not the ncu upgrade. - // updateDeps will skip if the template already has this version. - changes[name] = { from: '', to: generatedDeps[name] ?? ncuVersion }; + const generatedVersion = REACT_NATIVE_PACKAGE_REGEX.test(name) + ? generatedDeps['react-native'] + : generatedDeps[name]; + + changes[name] = { from: '', to: generatedVersion ?? ncuVersion }; } else if (generatedDeps[name] !== ncuVersion) { changes[name] = { from: generatedDeps[name] ?? '', to: ncuVersion }; } @@ -133,7 +137,7 @@ function main() { '--type', 'turbo-module', '--languages', - 'kotlin-objc', + 'cpp', '--example', 'vanilla', '--yes', @@ -144,17 +148,22 @@ function main() { } ); - const pkgPath = path.join(libDir, 'package.json'); - const generatedDeps = readDevDependencies(pkgPath); + const pkgPaths = [ + path.join(libDir, 'example', 'package.json'), + path.join(libDir, 'package.json'), + ]; + const generatedDeps = Object.assign({}, ...pkgPaths.map(readDevDependencies)); console.log('\nChecking for dependency upgrades...'); - execSync('npx npm-check-updates -u', { - cwd: libDir, - stdio: 'inherit', - }); + for (const pkgPath of pkgPaths) { + execSync('npx npm-check-updates -u', { + cwd: path.dirname(pkgPath), + stdio: 'inherit', + }); + } - const ncuDeps = readDevDependencies(pkgPath); + const ncuDeps = Object.assign({}, ...pkgPaths.map(readDevDependencies)); const changes = getDependencyChanges(generatedDeps, ncuDeps); if (Object.keys(changes).length === 0) {