-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
incorrect sourcemaps off by a couple lines #163
Comments
I think this might be fixed in the react-router-devtools, I'll definitely check this out with them to see if it works properly. Thank you so much for the detailed repro! |
Thank you very much for the super fast response!! At your service! |
Hey @lhapaipai would you mind checking if this is still an issue with react-router-devtools and react router v7, I completely changed the approach and it should not augment source maps anymore |
Hi @AlemTuzlak, unfortunately the issue still exists with react-router v7 and react-router-devtools environment same as above:
my package.json {
"name": "react-router-v7-hw",
"private": true,
"type": "module",
"scripts": {
"build": "react-router build",
"dev": "react-router dev",
"start": "react-router-serve ./build/server/index.js",
"typecheck": "react-router typegen && tsc --build --noEmit"
},
"dependencies": {
"@react-router/node": "^7.0.1",
"@react-router/serve": "^7.0.1",
"isbot": "^5.1.17",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router": "^7.0.1"
},
"devDependencies": {
"@react-router/dev": "^7.0.1",
"@types/node": "^20",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"autoprefixer": "^10.4.20",
"postcss": "^8.4.49",
"react-router-devtools": "^1.0.4",
"tailwindcss": "^3.4.15",
"typescript": "^5.6.3",
"vite": "^5.4.11",
"vite-tsconfig-paths": "^5.1.2"
}
} I took the same example as above. My breakpoints are in the loader function of the import type { Route } from "./+types/root";
export async function loader({ request }: Route.LoaderArgs) {
let foo = "bar";
foo = "baz";
return {
foo,
};
} the example in video react-router-v7-sans-audio.mp4Do not hesitate if you want more informations |
Thank you so much, I'll look into this the first chance I get 🫡 |
@lhapaipai for some reason on windows the breakpoints are never reached and the debugger doesn't work, would you mind installing: |
Hi @AlemTuzlak, unfortunately no, it seems to me that the offsets have changed but are still present. I don't have much knowledge of source map generation when making changes to the code with a vite plugin, but by installing "vite-plugin-inspect" we can see that the offset comes from that. // vite.config.ts
import { reactRouter } from "@react-router/dev/vite";
import autoprefixer from "autoprefixer";
import tailwindcss from "tailwindcss";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { reactRouterDevTools } from "react-router-devtools";
import Inspect from "vite-plugin-inspect";
export default defineConfig({
css: {
postcss: {
plugins: [tailwindcss, autoprefixer],
},
},
plugins: [Inspect(), reactRouterDevTools(), reactRouter(), tsconfigPaths()],
}); {
"name": "react-router-7-sandbox",
"private": true,
"type": "module",
"scripts": {
"build": "react-router build",
"dev": "react-router dev",
"start": "react-router-serve ./build/server/index.js",
"typecheck": "react-router typegen && tsc --build --noEmit"
},
"dependencies": {
"@react-router/node": "^7.0.1",
"@react-router/serve": "^7.0.1",
"react-router": "^7.0.1",
"react-router-devtools": "https://pkg.pr.new/forge42dev/react-router-devtools@170",
"vite-plugin-inspect": "0.8"
},
"devDependencies": {
"@react-router/dev": "^7.0.1",
"vite": "^5.4.11",
"vite-tsconfig-paths": "^5.1.2"
}
} the using at at finally the issue is not so serious. we can disable the plugin when we debug with our IDE import { reactRouter } from "@react-router/dev/vite";
import { defineConfig, loadEnv } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { reactRouterDevTools } from "react-router-devtools";
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), "");
return {
plugins: [
env.VSCODE_DEBUG
? undefined
: reactRouterDevTools(),
reactRouter(),
tsconfigPaths(),
],
};
}); Have a good day |
@lhapaipai Oh man, so my learnings lead me to the fact that vite allows you to pass back a new sourcemap for the things you've changed and then it handles it by merging sourcemaps, but I guess that's still not working, I'll try to figure it out, unfortunately windows isn't helping with the fact the debugger attachment isn't working, i'll try to get it up running on my mac and see if it works there |
I guess going forward blindly is impossible... have you tried other methods on Windows ? launch.json {
"version": "0.2.0",
"configurations": [
{
"name": "Attach by Process ID",
"processId": "${command:PickProcess}",
"request": "attach",
"skipFiles": ["<node_internals>/**"],
"type": "node"
},
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"runtimeExecutable": "react-router",
"runtimeArgs": ["dev"]
},
{
"type": "node-terminal",
"request": "launch",
"name": "Launch command",
"command": "./node_modules/.bin/react-router dev"
}
]
} |
@lhapaipai sorry to bother you, I personally NEVER used debuggers so I'm having a bit of a rough time. After looking closely at your screenshots you get your breakpoints colored in red, I've been trying to figure out if there's some extra config that you add somewhere like tsconfig or vite config to get the breakpoints working correctly, mine are always unbound whatever I try to setup. Am I missing something obvious? |
also, i've pushed a change that should be the fix, if there's a way for us to talk easier than this issue would love to talk directly so I can try to figure out the root cause and fix it if this fix I pushed doesn't work @lhapaipai. Sorry for my lack of understanding of debuggers |
@lhapaipai just tested in a linux env, seems to be fixed now with the latest fix I pushed, could you please verify! |
Hi @AlemTuzlak, I just tested it and ... it works!! Many thanks and congratulations 🏆🏆🏆 !! In my case it is possible to encounter problems using: node version manager or volta and that you manage several versions of node on your system (the debugger attaches to the system instance while you use another version for your app). unfortunately on my side I only have a very basic knowledge of using node with windows. so I could hardly help you except to advise you to test the debug under vscode first in a node js application with a code that is not transpiled. don't hesitate if i can help you Good evening !! and thanks for all the work you do for React Router ... 🙏🙏🙏 |
Hi,
Thank you very much for this amazing plugin !!!
However, I encounter offsets in the sourcemaps that make Remix debugging with vscode complicated. By activating/deactivating your plugin, I realized that it was the plugin that was causing it.
environnement:
Reproduction
Here is a minimal example to reproduce the issue.
pnpm create remix
pnpm add remix-development-tools
add the plugin into vite config
add a loader into the
app/root.tsx
Use
VSCode
to debug this app.add a "Attach by Process ID" debugging method for vscode at
.vscode/launch.json
run
pnpm run dev
start debugging and add a breakpoint at
return null
of theapp/root.tsx
loader function (line 14 in the screenshot)browse
http://localhost:5173
the breakpoint is not reached
if on the other hand we move our breakpoint a little lower in the code (line 18 in the screenshot). we notice that the breakpoint is reached but the inspection corresponds to 4 lines above. we have our
hello = 'world'
if we remove the
remix-development-tools
plugin in the vite.config.jsstart debugging and add a breakpoint at
return null
of the loader function (line 14 in the screenshot)everything working fine
I hope I have been as clear as possible, do not hesitate if you would like more information.
have a great evening
The text was updated successfully, but these errors were encountered: