{ "version": "0.2.0", "configurations": [ { // ── BACKEND (server-side SvelteKit code) ───────────────────────── // Recommended. Starts the Vite dev server (with the Node inspector on // :9229) and attaches. Set breakpoints in +page.server.ts, // +server.ts, $lib/server/**, hooks.server.ts, etc. "name": "Backend: Attach to Dev Server", "type": "node", "request": "attach", "port": 9229, "cwd": "${workspaceFolder}", "preLaunchTask": "Start Dev Server (Node Inspector)", "restart": true, "skipFiles": ["/**", "**/node_modules/**"], "sourceMaps": true, "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"] }, { // Same, but without a preLaunchTask — used by the Full Stack compound // so only one dev server is started. "name": "Backend: Attach (no server start)", "type": "node", "request": "attach", "port": 9229, "cwd": "${workspaceFolder}", "restart": true, "skipFiles": ["/**", "**/node_modules/**"], "sourceMaps": true, "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"] }, { // Starts the server itself (no separate task). Runs Vite directly so // the inspector owns the SSR process (running via `npm run dev` puts // the inspector on npm instead, and your breakpoints never hit). "name": "Backend: Launch Dev Server", "type": "node", "request": "launch", "program": "${workspaceFolder}/node_modules/vite/bin/vite.js", "args": ["dev", "--port", "5173", "--strictPort"], "cwd": "${workspaceFolder}", "console": "integratedTerminal", "env": { "NODE_OPTIONS": "--enable-source-maps", "NODE_EXTRA_CA_CERTS": "./digital-ocean.crt" }, "skipFiles": ["/**", "**/node_modules/**"], "sourceMaps": true }, { // ── FRONTEND (client-side Svelte/browser code) ─────────────────── // Launches Google Chrome wired to the Vite dev server (starts it for // you). Set breakpoints in .svelte