Skip to content

feat: add NativeScript support for React Router and Start#7874

Open
tannerlinsley wants to merge 8 commits into
mainfrom
taren/react-nativescript-router-alpha
Open

feat: add NativeScript support for React Router and Start#7874
tannerlinsley wants to merge 8 commits into
mainfrom
taren/react-nativescript-router-alpha

Conversation

@tannerlinsley

@tannerlinsley tannerlinsley commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

Adds an official React NativeScript target for TanStack Router and TanStack Start.

  • Introduces host-neutral React Router rendering APIs in @tanstack/react-router/native, based on the API direction from feat: add experimental React Native router adapter #7622.
  • Adds @tanstack/react-nativescript-router, rendering through NativeScript Frame, Page, and ActionBar primitives rather than a WebView.
  • Retains native pages and per-entry Router snapshots so iOS interactive back renders the previous screen during the gesture.
  • Supports push, replace, reuse, targeted multi-pop, blockers, Android system back, params/search/hash identity, native route metadata, and injectable URL/deep-link sources.
  • Adds standalone TanStack Start client compilation and server-function transport for native bundles.
  • Adds tsr native init to scaffold a native target into an existing React Router or Start app.
  • Includes Router and Start docs plus a shared web/iOS/Android example with native E2E runners.

Architecture

The shared stack contract is exposed from @tanstack/router-core/native-navigation and is host-independent. It stays out of standard web navigation hot paths and bundles. React Router exposes a native-only retained-state facade that a React Native adapter can also build on without adding work to normal React rendering or hooks. NativeScript-specific page retention, native history synchronization, gestures, action bars, and renderer integration remain in the new adapter package.

The Start native plugin compiles a standalone client bundle and rewrites server functions to an explicit deployed HTTP(S) endpoint. Route definitions, generated types, loaders, params, search validation, redirects, blockers, and server functions can be shared. DOM views and CSS remain host-specific and use -native.tsx sibling modules.

Validation

Run against current main:

  • @tanstack/react-nativescript-router: 55 unit tests, strict types, ESLint, ESM/CJS build, publint, and attw
  • Router Core: 47 files, 1,215 passing tests plus 3 expected failures, zero type errors
  • React Router: 53 files, 928 passing tests and 1 skip, zero type errors
  • Router CLI: 11 tests plus TypeScript, ESLint, build, publint, and attw
  • Start plugin core: 515 tests, zero type errors
  • React Start native integration: 7 tests
  • Full React Start RSC Vite SSR suite across all 6 shards
  • React Start deferred-hydration Vite SSR suite: 16 passing and 1 skip
  • Solid and Vue regression suites and type matrices
  • Frozen pnpm install and supply-chain policy validation
  • Shared example client, SSR, Nitro, and TypeScript build
  • iOS simulator XCUITest: native stack, retained interactive swipe-back, search entry reuse, and blocker behavior
  • Android emulator: native navigation, system back, and blocker behavior
  • iOS release simulator app build
  • Android release APK build (debug keystore used only to validate release packaging)

NativeScript release dependencies

Native runs pass with the upstream fixes below applied. Publishing the adapter should wait for NativeScript releases containing them so consumers do not need patches:

Initial scope

  • React 19, NativeScript 9, @nativescript-community/react 19, and Vite 7.3
  • URL parsing and subscriptions are injectable; automatic iOS universal-link and Android app-link registration is not included yet
  • Modal presentation is deferred
  • NativeScript React HMR is not available in the current Vite integration, so generated development scripts use --no-hmr

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 167 files, which is 17 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to Pro+ to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1de8a928-10dd-4075-9537-be2f03989de7

📥 Commits

Reviewing files that changed from the base of the PR and between 07ce903 and 6392560.

⛔ Files ignored due to path filters (78)
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-hdpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-hdpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-ldpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-ldpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-mdpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-mdpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xhdpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png is excluded by !**/*.png
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png is excluded by !**/*.png
  • examples/react/start-nativescript/e2e/ios/NativeScriptRouterUITests.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-hdpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-hdpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-ldpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-ldpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-mdpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-mdpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xhdpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png is excluded by !**/*.png
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png is excluded by !**/*.png
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (167)
  • .changeset/native-windows-route.md
  • docs/router/config.json
  • docs/router/guide/internationalization-i18n.md
  • docs/router/integrations/nativescript.md
  • docs/start/config.json
  • docs/start/framework/react/guide/nativescript.md
  • examples/react/start-nativescript/.gitignore
  • examples/react/start-nativescript/App_Resources/Android/app.gradle
  • examples/react/start-nativescript/App_Resources/Android/before-plugins.gradle
  • examples/react/start-nativescript/App_Resources/Android/src/main/AndroidManifest.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values-v21/colors.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values-v21/styles.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values-v29/styles.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values/colors.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values/ic_launcher_background.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/values/styles.xml
  • examples/react/start-nativescript/App_Resources/Android/src/main/res/xml/network_security_config.xml
  • examples/react/start-nativescript/App_Resources/LICENSE
  • examples/react/start-nativescript/App_Resources/NOTICE
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/Contents.json
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json
  • examples/react/start-nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json
  • examples/react/start-nativescript/App_Resources/iOS/Info.plist
  • examples/react/start-nativescript/App_Resources/iOS/LaunchScreen.storyboard
  • examples/react/start-nativescript/App_Resources/iOS/build.xcconfig
  • examples/react/start-nativescript/README.md
  • examples/react/start-nativescript/e2e/ios/NativeScriptRouterUITests.xcodeproj/project.pbxproj
  • examples/react/start-nativescript/e2e/ios/NativeScriptRouterUITests.xcodeproj/xcshareddata/xcschemes/NativeScriptRouterUITests.xcscheme
  • examples/react/start-nativescript/e2e/ios/Tests/NativeScriptRouterUITests.swift
  • examples/react/start-nativescript/e2e/ios/project.yml
  • examples/react/start-nativescript/e2e/run-android.mjs
  • examples/react/start-nativescript/e2e/run-ios.mjs
  • examples/react/start-nativescript/nativescript.config.ts
  • examples/react/start-nativescript/package.json
  • examples/react/start-nativescript/src/native/index.tsx
  • examples/react/start-nativescript/src/native/jsx.d.ts
  • examples/react/start-nativescript/src/native/root-route.tsx
  • examples/react/start-nativescript/src/routeTree.gen.ts
  • examples/react/start-nativescript/src/router.tsx
  • examples/react/start-nativescript/src/routes/__root.tsx
  • examples/react/start-nativescript/src/routes/index.tsx
  • examples/react/start-nativescript/src/routes/items.$itemId.tsx
  • examples/react/start-nativescript/src/routes/search.tsx
  • examples/react/start-nativescript/src/screens/HomeScreen-native.tsx
  • examples/react/start-nativescript/src/screens/HomeScreen.tsx
  • examples/react/start-nativescript/src/screens/ItemScreen-native.tsx
  • examples/react/start-nativescript/src/screens/ItemScreen.tsx
  • examples/react/start-nativescript/src/screens/SearchScreen-native.tsx
  • examples/react/start-nativescript/src/screens/SearchScreen.tsx
  • examples/react/start-nativescript/src/server/catalog.ts
  • examples/react/start-nativescript/src/styles/app.css
  • examples/react/start-nativescript/tsconfig.json
  • examples/react/start-nativescript/vite.config.ts
  • examples/react/start-nativescript/vite.native.config.ts
  • labeler-config.yml
  • packages/history/src/index.ts
  • packages/react-nativescript-router/README.md
  • packages/react-nativescript-router/eslint.config.ts
  • packages/react-nativescript-router/package.json
  • packages/react-nativescript-router/src/Link.tsx
  • packages/react-nativescript-router/src/NativeScriptRouterProvider.tsx
  • packages/react-nativescript-router/src/action-bar.ts
  • packages/react-nativescript-router/src/fallbacks.tsx
  • packages/react-nativescript-router/src/history.ts
  • packages/react-nativescript-router/src/index.tsx
  • packages/react-nativescript-router/src/linking.ts
  • packages/react-nativescript-router/src/native-navigation.ts
  • packages/react-nativescript-router/src/native-stack-controller.ts
  • packages/react-nativescript-router/src/navigation-state.ts
  • packages/react-nativescript-router/src/page.tsx
  • packages/react-nativescript-router/src/react-dom.ts
  • packages/react-nativescript-router/src/route-options.ts
  • packages/react-nativescript-router/src/router.ts
  • packages/react-nativescript-router/src/screen.ts
  • packages/react-nativescript-router/src/start.tsx
  • packages/react-nativescript-router/src/useNavigate.tsx
  • packages/react-nativescript-router/src/vite.ts
  • packages/react-nativescript-router/tests/history.test.ts
  • packages/react-nativescript-router/tests/linking.test.ts
  • packages/react-nativescript-router/tests/native-navigation.test.ts
  • packages/react-nativescript-router/tests/native-stack-controller.test.ts
  • packages/react-nativescript-router/tests/page.test.ts
  • packages/react-nativescript-router/tests/router.test-d.ts
  • packages/react-nativescript-router/tests/screen.test.ts
  • packages/react-nativescript-router/tests/vite.test.ts
  • packages/react-nativescript-router/tsconfig.build.json
  • packages/react-nativescript-router/tsconfig.json
  • packages/react-nativescript-router/vite.config.ts
  • packages/react-router/package.json
  • packages/react-router/src/index.tsx
  • packages/react-router/src/link.tsx
  • packages/react-router/src/native.tsx
  • packages/react-router/src/nativeCatchBoundary.tsx
  • packages/react-router/src/nativeMatches.tsx
  • packages/react-router/src/route.tsx
  • packages/react-router/src/routeLink.tsx
  • packages/react-router/src/routerContextProvider.tsx
  • packages/react-router/src/routerRenderer.tsx
  • packages/react-router/src/routerStateSnapshot.tsx
  • packages/react-router/tests/host-renderer.test.tsx
  • packages/react-router/tests/native-exports.test.ts
  • packages/react-router/tests/routerStateSnapshot.test.tsx
  • packages/react-router/vite.config.ts
  • packages/react-start-client/package.json
  • packages/react-start/package.json
  • packages/react-start/src/nativescript.ts
  • packages/react-start/src/plugin/nativescript.ts
  • packages/react-start/src/useServerFn.ts
  • packages/react-start/tests/nativescript.test.ts
  • packages/react-start/vite.config.ts
  • packages/router-cli/package.json
  • packages/router-cli/src/index.ts
  • packages/router-cli/src/native-init.ts
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/app.gradle
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/before-plugins.gradle
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/AndroidManifest.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values-v21/colors.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values-v21/styles.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values-v29/styles.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values/colors.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values/ic_launcher_background.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/values/styles.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/Android/src/main/res/xml/network_security_config.xml
  • packages/router-cli/src/templates/nativescript/App_Resources/LICENSE
  • packages/router-cli/src/templates/nativescript/App_Resources/NOTICE
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/Contents.json
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/Info.plist
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/LaunchScreen.storyboard
  • packages/router-cli/src/templates/nativescript/App_Resources/iOS/build.xcconfig
  • packages/router-cli/tests/native-init.test.ts
  • packages/router-cli/tsconfig.json
  • packages/router-cli/vite.config.ts
  • packages/router-core/package.json
  • packages/router-core/src/Matches.ts
  • packages/router-core/src/RouterProvider.ts
  • packages/router-core/src/index.ts
  • packages/router-core/src/link.ts
  • packages/router-core/src/nativeNavigation.ts
  • packages/router-core/src/router.ts
  • packages/router-core/src/scroll-restoration.ts
  • packages/router-core/tests/native-stack-navigation.test-d.ts
  • packages/router-core/tests/native-stack-navigation.test.ts
  • packages/router-core/tests/scroll-restoration.test.ts
  • packages/router-core/vite.config.ts
  • packages/solid-router/src/index.tsx
  • packages/solid-router/src/link.tsx
  • packages/start-plugin-core/package.json
  • packages/start-plugin-core/src/vite/client-compiler-plugin.ts
  • packages/start-plugin-core/src/vite/index.ts
  • packages/start-plugin-core/src/vite/start-compiler-plugin/plugin.ts
  • packages/start-plugin-core/tests/client-compiler-plugin.test.ts
  • packages/start-plugin-core/vite.config.ts
  • packages/start-server-core/package.json
  • packages/start-server-core/vite.config.ts
  • packages/vue-router/src/index.tsx
  • packages/vue-router/src/link.tsx
  • pnpm-workspace.yaml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch taren/react-nativescript-router-alpha

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit 6392560

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 14m 34s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 2m 16s View ↗

☁️ Nx Cloud last updated this comment at 2026-07-22 03:02:27 UTC

@socket-security

socket-security Bot commented Jul 21, 2026

Copy link
Copy Markdown

@socket-security

socket-security Bot commented Jul 21, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm @angular-devkit/build-angular is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/@angular-devkit/build-angular@21.2.19

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@angular-devkit/build-angular@21.2.19. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @angular-devkit/build-angular is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/@angular-devkit/build-angular@21.2.19

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@angular-devkit/build-angular@21.2.19. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @angular/build is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/@angular/build@21.2.19

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@angular/build@21.2.19. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm @nativescript/vite is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: examples/react/start-nativescript/package.jsonnpm/@nativescript/vite@2.0.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@nativescript/vite@2.0.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm lmdb is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/lmdb@3.5.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/lmdb@3.5.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm powershell-utils is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/powershell-utils@0.1.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/powershell-utils@0.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm prettier is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/nativescript@9.0.6npm/prettier@3.7.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/prettier@3.7.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm react-reconciler is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/@nativescript-community/react@19.0.0npm/react-reconciler@0.32.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/react-reconciler@0.32.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm universal-analytics is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/nativescript@9.0.6npm/universal-analytics@0.5.3

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/universal-analytics@0.5.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm webpack is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/webpack@5.105.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/webpack@5.105.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
Low adoption: npm @harperfast/extended-iterable

Location: Package overview

From: pnpm-lock.yamlnpm/@nativescript/vite@2.0.3npm/@harperfast/extended-iterable@1.0.3

ℹ Read more on: This package | This alert | What are unpopular packages?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Unpopular packages may have less maintenance and contain other problems.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@harperfast/extended-iterable@1.0.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
Low adoption: npm @nstudio/trapezedev-project

Location: Package overview

From: pnpm-lock.yamlnpm/nativescript@9.0.6npm/@nstudio/trapezedev-project@7.2.3

ℹ Read more on: This package | This alert | What are unpopular packages?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Unpopular packages may have less maintenance and contain other problems.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@nstudio/trapezedev-project@7.2.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
Low adoption: npm dominative

Location: Package overview

From: examples/react/start-nativescript/package.jsonnpm/dominative@0.1.3

ℹ Read more on: This package | This alert | What are unpopular packages?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Unpopular packages may have less maintenance and contain other problems.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/dominative@0.1.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
Low adoption: npm undom-ng

Location: Package overview

From: examples/react/start-nativescript/package.jsonnpm/undom-ng@1.1.2

ℹ Read more on: This package | This alert | What are unpopular packages?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Unpopular packages may have less maintenance and contain other problems.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/undom-ng@1.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

11 package(s) bumped directly, 14 bumped as dependents.

🟥 Major bumps

Package Version Reason
@tanstack/react-start 1.168.32 → 2.0.0 Changeset
@tanstack/start-static-server-functions 1.167.19 → 2.0.0 Dependent

🟨 Minor bumps

Package Version Reason
@tanstack/react-nativescript-router 0.0.1 → 0.1.0 Changeset
@tanstack/react-router 1.170.18 → 1.171.0 Changeset
@tanstack/router-cli 1.167.21 → 1.168.0 Changeset
@tanstack/router-core 1.171.15 → 1.172.0 Changeset
@tanstack/start-plugin-core 1.171.24 → 1.172.0 Changeset

🟩 Patch bumps

Package Version Reason
@tanstack/history 1.162.0 → 1.162.1 Changeset
@tanstack/react-start-client 1.168.16 → 1.168.17 Changeset
@tanstack/solid-router 1.170.18 → 1.170.19 Changeset
@tanstack/start-server-core 1.169.17 → 1.169.18 Changeset
@tanstack/vue-router 1.170.17 → 1.170.18 Changeset
@tanstack/react-start-rsc 0.1.31 → 0.1.32 Dependent
@tanstack/react-start-server 1.167.22 → 1.167.23 Dependent
@tanstack/router-generator 1.167.21 → 1.167.22 Dependent
@tanstack/router-plugin 1.168.23 → 1.168.24 Dependent
@tanstack/router-vite-plugin 1.167.23 → 1.167.24 Dependent
@tanstack/solid-start 1.168.32 → 1.168.33 Dependent
@tanstack/solid-start-client 1.168.16 → 1.168.17 Dependent
@tanstack/solid-start-server 1.167.22 → 1.167.23 Dependent
@tanstack/start-client-core 1.170.14 → 1.170.15 Dependent
@tanstack/start-storage-context 1.167.17 → 1.167.18 Dependent
@tanstack/vue-start 1.168.31 → 1.168.32 Dependent
@tanstack/vue-start-client 1.167.19 → 1.167.20 Dependent
@tanstack/vue-start-server 1.167.22 → 1.167.23 Dependent

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Benchmarks

  • Commit: 232144136e6c
  • Measured at: 2026-07-22T02:49:05.237Z
  • Baseline source: history:edf55759d8e9
  • Dashboard: bundle-size history

The following scenarios have bundle-size changes compared with the baseline:

Scenario Current (gzip) Delta vs baseline Initial gzip Raw Brotli Trend
react-router.minimal 87.46 KiB +121 B (+0.14%) 87.33 KiB 274.07 KiB 76.07 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-router.full 91.17 KiB +105 B (+0.11%) 91.03 KiB 285.96 KiB 79.28 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-router.minimal 35.60 KiB +80 B (+0.22%) 35.48 KiB 106.08 KiB 32.08 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-router.full 40.65 KiB +67 B (+0.16%) 40.52 KiB 121.30 KiB 36.53 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-router.minimal 53.10 KiB +102 B (+0.19%) 52.97 KiB 150.17 KiB 47.74 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-router.full 59.03 KiB +93 B (+0.15%) 58.90 KiB 168.93 KiB 52.94 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.minimal 102.05 KiB +71 B (+0.07%) 101.92 KiB 322.50 KiB 88.30 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.deferred-hydration 102.79 KiB +70 B (+0.07%) 101.94 KiB 323.87 KiB 89.01 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.full 105.47 KiB +106 B (+0.10%) 105.33 KiB 332.42 KiB 91.24 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.minimal 99.77 KiB +95 B (+0.09%) 99.60 KiB 316.90 KiB 85.89 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.minimal-iife 100.18 KiB +100 B (+0.10%) 100.01 KiB 317.83 KiB 86.31 KiB ▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.full 103.00 KiB +115 B (+0.11%) 102.83 KiB 326.94 KiB 88.56 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-start.minimal 49.67 KiB +65 B (+0.13%) 49.55 KiB 152.25 KiB 43.95 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-start.deferred-hydration 52.94 KiB +75 B (+0.14%) 49.60 KiB 160.29 KiB 46.89 KiB ▁▁▁▁▁▁▁▁▁▁▁█
solid-start.full 55.49 KiB +72 B (+0.13%) 55.36 KiB 169.30 KiB 49.00 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-start.minimal 71.12 KiB +94 B (+0.13%) 70.99 KiB 207.42 KiB 63.05 KiB ▁▁▁▁▁▁▁▁▁▁▁█
vue-start.full 75.13 KiB +104 B (+0.14%) 75.00 KiB 220.06 KiB 66.41 KiB ▁▁▁▁▁▁▁▁▁▁▁█

Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better.

@tannerlinsley
tannerlinsley force-pushed the taren/react-nativescript-router-alpha branch from 4e0ff8e to ca4eb49 Compare July 21, 2026 22:49
@codspeed-hq

codspeed-hq Bot commented Jul 21, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 44.66%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 7 improved benchmarks
✅ 173 untouched benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory mem server peak-large-page (react) 2,184.3 KB 960.9 KB ×2.3
Memory mem server error-paths not-found (solid) 763 KB 423.7 KB +80.08%
Memory mem server peak-large-page (solid) 1,386.8 KB 786.3 KB +76.37%
Memory mem server serialization-payload (react) 5.2 MB 3.2 MB +62.99%
Memory mem server error-paths not-found (react) 266.6 KB 251.9 KB +5.87%
Memory mem server request-churn (react) 503.7 KB 488.1 KB +3.18%
Simulation client-async-pipeline navigation loop (vue) 46 ms 44.6 ms +3.12%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing taren/react-nativescript-router-alpha (6392560) with main (07ce903)

Open in CodSpeed

@pkg-pr-new

pkg-pr-new Bot commented Jul 21, 2026

Copy link
Copy Markdown
More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/arktype-adapter@7874

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-router@7874

@tanstack/eslint-plugin-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-start@7874

@tanstack/history

npm i https://pkg.pr.new/TanStack/router/@tanstack/history@7874

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/nitro-v2-vite-plugin@7874

@tanstack/react-nativescript-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-nativescript-router@7874

@tanstack/react-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router@7874

@tanstack/react-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-devtools@7874

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-ssr-query@7874

@tanstack/react-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start@7874

@tanstack/react-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-client@7874

@tanstack/react-start-rsc

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-rsc@7874

@tanstack/react-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-server@7874

@tanstack/router-cli

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-cli@7874

@tanstack/router-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-core@7874

@tanstack/router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools@7874

@tanstack/router-devtools-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools-core@7874

@tanstack/router-generator

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-generator@7874

@tanstack/router-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-plugin@7874

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-ssr-query-core@7874

@tanstack/router-utils

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-utils@7874

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-vite-plugin@7874

@tanstack/solid-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router@7874

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-devtools@7874

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-ssr-query@7874

@tanstack/solid-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start@7874

@tanstack/solid-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-client@7874

@tanstack/solid-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-server@7874

@tanstack/start-client-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-client-core@7874

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-fn-stubs@7874

@tanstack/start-plugin-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-plugin-core@7874

@tanstack/start-server-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-core@7874

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-static-server-functions@7874

@tanstack/start-storage-context

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-storage-context@7874

@tanstack/valibot-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/valibot-adapter@7874

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/virtual-file-routes@7874

@tanstack/vue-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router@7874

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router-devtools@7874

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router-ssr-query@7874

@tanstack/vue-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start@7874

@tanstack/vue-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start-client@7874

@tanstack/vue-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start-server@7874

@tanstack/zod-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/zod-adapter@7874

commit: 6392560

nx-cloud[bot]

This comment was marked as outdated.

nx-cloud[bot]

This comment was marked as outdated.

@nx-cloud nx-cloud Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

At least one additional CI pipeline execution has run since the conclusion below was written and it may no longer be applicable.

Nx Cloud has identified a possible root cause for your failed CI:

We classified this failure as an environment state issue rather than a code change. The error occurs in a compiled dist artifact (e2e/e2e-utils/dist/esm/e2eSetupTeardown.js) that the PR does not touch, and the export in question is correctly present on disk today — indicating the test ran against a stale build during CI. Re-running the pipeline should resolve this without any code changes.

No code changes were suggested for this issue.

Trigger a rerun:

Rerun CI

Nx Cloud View detailed reasoning on Nx Cloud ↗


🎓 Learn more about Self-Healing CI on nx.dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant