{ "version": "0.2.0", // https://code.visualstudio.com/docs/nodejs/browser-debugging for browser debugging docs // https://github.com/microsoft/vscode-js-debug/blob/d77a474700e16d647e8fe68c205ef867094fa092/OPTIONS.md for browser debugging options // https://github.com/vitejs/vite/issues/10372#issuecomment-1321219125 for debugging deeply nested `node_modules` dependencies in Chrome DevTools "configurations": [ { "name": "Attach to Vite via Chrome", "url": "http://localhost:5173", "request": "launch", "type": "chrome", "smartStep": true, "sourceMaps": true, "runtimeArgs": ["--auto-open-devtools-for-tabs"] }, { "type": "node", "request": "launch", "name": "Launch via Vite Node", "runtimeExecutable": "node", "skipFiles": ["/**"], // todo?: make relative to ${file} "cwd": "${workspaceFolder}/packages/status-js", "program": "${workspaceRoot}/node_modules/vite-node/dist/cli.mjs", "args": ["--options.sourcemap=inline", "${file}"], "smartStep": true, "sourceMaps": true, "env": { "DEBUG": "*", "DEBUG_HIDE_DATE": "0", "DEBUG_COLORS": "1", "VITE_NODE": "true" }, "runtimeArgs": ["--preserve-symlinks"], "outFiles": ["${workspaceFolder}/**/*.js"], "resolveSourceMapLocations": ["**/*"] }, { "type": "node", "request": "launch", "name": "Debug Client", "autoAttachChildProcesses": true, "skipFiles": ["/**"], "cwd": "${workspaceFolder}/packages/status-js", "program": "${workspaceRoot}/node_modules/vite-node/dist/cli.mjs", "args": ["src/index.ts"], "smartStep": true, "console": "integratedTerminal", "sourceMaps": true }, { "type": "node", "request": "launch", "name": "Debug Test File", "autoAttachChildProcesses": true, "skipFiles": ["/**"], "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", "args": ["run", "${relativeFile}"], "smartStep": true, "console": "integratedTerminal", "sourceMaps": true }, { "name": "Launch Website via Next.js (server-side)", "type": "node-terminal", "request": "launch", "cwd": "${workspaceFolder}/apps/website", "command": "yarn dev" }, { "name": "Attach to Website via Next.js (client-side)", "type": "chrome", "request": "launch", "webRoot": "${workspaceFolder}/apps/website", "url": "http://localhost:3000", "skipFiles": [ ".next/**", "${workspaceFolder}/node_modules/**", "/**", "**/webpack-internal://**" ], "runtimeArgs": ["--auto-open-devtools-for-tabs"] }, // todo: consider https://code.visualstudio.com/docs/editor/debugging#_compound-launch-configurations instead // todo: consider client+prelaunch as full stack // todo: consider workspaces https://code.visualstudio.com/docs/editor/multi-root-workspaces#_debugging { "name": "Launch Website via Next.js (full stack)", "type": "node-terminal", "request": "launch", "cwd": "${workspaceFolder}/apps/website", "command": "yarn dev -p 3000", "serverReadyAction": { "pattern": "started server on .+, url: (https?://.+)", "action": "startDebugging", "name": "Attach to Website via Next.js (client-side)", "killOnServerStop": false }, "skipFiles": [ ".next/**", "${workspaceFolder}/node_modules/**", "/**" ] } ] }