chore(vscode): separate backend and frontend debug configs

Backend configs run Vite directly (not via npm run dev) so the Node
inspector owns the process that executes SSR code, with source maps
enabled for .ts server files. Frontend configs launch/attach Chrome.
Adds a Node-inspector dev task, a Full Stack compound, and DEBUGGING.md
documenting the Safari limitation and workflows.
This commit is contained in:
NeilClack
2026-09-29 13:29:55 -05:00
parent bbf4ac12ee
commit 04e1f79f37
4 changed files with 229 additions and 24 deletions
+39 -14
View File
@@ -3,24 +3,49 @@
"tasks": [
{
"label": "Start Dev Server",
"detail": "Vite dev server, no inspector (use with the Frontend launch configs).",
"type": "shell",
"command": "npm run dev -- --port 5173 --strictPort",
"command": "NODE_EXTRA_CA_CERTS=./digital-ocean.crt ./node_modules/.bin/vite dev --port 5173 --strictPort",
"isBackground": true,
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 0,
"message": 0
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
},
"problemMatcher": [
{
"owner": "vite",
"pattern": [{ "regexp": "^.*$", "file": 0, "location": 0, "message": 0 }],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*VITE.*v",
"endsPattern": "^.*Local:.*$"
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*VITE.*v",
"endsPattern": "^.*localhost:.*$"
}
}
]
},
{
"label": "Start Dev Server (Node Inspector)",
"detail": "Vite dev server with the Node inspector on :9229. Run Vite directly (not via npm) so the inspector owns the process that actually executes the SSR code.",
"type": "shell",
"command": "NODE_OPTIONS='--inspect=9229 --enable-source-maps' NODE_EXTRA_CA_CERTS=./digital-ocean.crt ./node_modules/.bin/vite dev --port 5173 --strictPort",
"isBackground": true,
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
},
"problemMatcher": [
{
"owner": "vite",
"pattern": [{ "regexp": "^.*$", "file": 0, "location": 0, "message": 0 }],
"background": {
"activeOnStart": true,
"beginsPattern": "^.*VITE.*v",
"endsPattern": "^.*Local:.*$"
}
}
]
}
]
}