Skip to content

react 3rd party lib crawling for automatic noExternal should take custom root into account #1126

@vixalien

Description

@vixalien

Related plugins

Describe the bug

The plugin resolves framework dependencies from the process.cwd() instead of checking the config.root: https://vite.dev/config/shared-options#root

The potential fix would be to change the following line to config.root ?? process.cwd()

Reproduction

https://github.com/vixalien/repro-react-router-rsc-runner

Steps to reproduce

  1. Create an RSC app with the command: npx create-react-router@latest --template remix-run/react-router-templates/unstable_rsc-framework-mode
  2. In another folder/package create a simple JS file that uses the Vite JS API to run the RSC app by pointing vite to the previous directory
import { createServer } from "vite";                                                                                                                                                                          
                                                                                                                                                                                                              
const server = await createServer({                                                                                                                                                                           
  root: "../app",                                                                                                                                                                                             
});                                                                                                                                                                                                           
await server.listen();                                                                                                                                                                                        
                                                                                                                                                                                                              
server.printUrls();                                                                                                                                                                                           
server.bindCLIShortcuts({ print: true });                                                                                                                                                                     

System Info

System:
    OS: Linux 6.18 GNOME OS Nightly
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
    Memory: 19.50 GB / 30.64 GB
    Container: Yes
    Shell: 5.3.9 - /bin/bash
  Binaries:
    Node: 25.6.1 - /home/alien/.local/share/mise/installs/node/25.6.1/bin/node
    Yarn: 4.12.0 - /home/alien/.local/share/mise/installs/yarn/4.12.0/bin/yarn
    npm: 11.9.0 - /home/alien/.local/share/mise/installs/node/25.6.1/bin/npm
    pnpm: 10.30.1 - /home/alien/.local/share/mise/installs/pnpm/10.30.1/pnpm
    Deno: 2.6.10 - /home/alien/.local/share/mise/installs/deno/2.6.10/bin/deno

Used Package Manager

pnpm

Logs

No response

Validations

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions