Open mawkler opened 1 year ago
same issue here. Did you find the solution?
@anajuliabit Not yet 😕
I was getting the same error when using Mason to install the dap. I got it to work using my plugin manager (lazy.nvim) instead. Also make sure not to set up the adapter manually (dap.adapters['pwa-node'] = ...
) since that's what this plugin does. Here is the relevant snippet (full example in my dotfiles):
{
"microsoft/vscode-js-debug",
build = "npm install --legacy-peer-deps && npx gulp vsDebugServerBundle && mv dist out",
},
{
"mxsdev/nvim-dap-vscode-js",
opts = {
debugger_path = vim.fn.stdpath "data" .. "/lazy/vscode-js-debug",
adapters = { "pwa-node", "pwa-chrome" },
},
}
I was having the same issue, and found this js-debug issue. When i removed the ::1 entry in my /etc/hosts file, it all started working. I've now reverted my hosts file change, and have changed the host part of the adaptor config to the ip4 loopback address, so that it now looks like this:
dap.adapters['pwa-node'] = {
type = 'server',
host = '127.0.0.1',
port = '${port}',
executable = {
command = 'js-debug-adapter',
args = { '${port}' },
}
}
and it's still working.
I was facing the same issue. For me the issue was the node version. I was using node 14 which does not support the Nullish coalescing assignment operator ??=
. Updating to v15.5.0 solved the issue.
I just had the same problem using a lazyvim setup. I did the same as @benelan but got this error:
[dap-js] Error trying to launch JS debugger: ...nvim/lazy/nvim-dap-vscode-js/lua/dap-vscode-js/utils.lua:64: Debugger entrypoint file '/Users/sam/.local/share/nvim/lazy/vscode-js-debug/out/src/vsDebugServer.js' does not exist. Did it build properly?
It seemed like lazyvim wasn't installing vscode-js-debug properly, so I had to do it manually:
git clone https://github.com/microsoft/vscode-js-debug
cd vscode-js-debug
npm install --legacy-peer-deps
npx gulp vsDebugServerBundle
mv dist out
Then move the out
directory in vscode-js-debug to ~/.local/share/nvim/lazy/vscode-js-debug/
After that it started working again.
@samcurteis Did you try LazyVim's typescript extras? If that doesn't work maybe you could create a PR or log an issue to swap out LazyVim's implementation for this one.
hi i ran into this issue was it ever solved
hi i ran into this issue was it ever solved
Just use the dap debug server directly without this plugin.
More context: vscode-js-debug is a package that provides 2 debug servers: vsDebugServer and dapDebugServer. If you go with vsDebugServer, then you need to use this plugin. If you go with dapDebugServer then you can use it directly without this plugin as showed in my config. I prefer the latter.
Make sure to always install latest version of vscode-js-debug. Right now that is 1.86.1 and that version is working fine for me even on Nextjs14 (server side and client side) projects with typescript and app router.
Don't use oudated guides. vscode-js-debug changes a lot. Don't put configurations like "resolveSourceMapLocations" if you dont understand them. Also vscode-js-debug already provides good defaults.
This stuff is hard, sadly.
hi this came in useful ty you for ur quick reply
I was having the same issue, and found this js-debug issue. When i removed the ::1 entry in my /etc/hosts file, it all started working. I've now reverted my hosts file change, and have changed the host part of the adaptor config to the ip4 loopback address, so that it now looks like this:
dap.adapters['pwa-node'] = { type = 'server', host = '127.0.0.1', port = '${port}', executable = { command = 'js-debug-adapter', args = { '${port}' }, } }
and it's still working.
This saved my bacon. Thank you 🙂
For those of you using LazyVim with the dap.core
and lang.typescript
extras installed, you need only change the hostname from localhost
to 127.0.0.1
and you can do this easily. I just added it as a separate plugin file (~/.config/nvim/lua/plusings/dap.lua
):
return {
"mfussenegger/nvim-dap",
opts = function()
local dap = require("dap")
dap.adapters["pwa-node"].host = "127.0.0.1"
end,
}
This will leave all the config from the Lazy Extras intact and just override the specified hostname.
PS - Not sure if this is helpful to anyone or not but this issue existed on an M3 Macbook Pro but did not exist on my home PC in WSL. Also, commenting out ::1
in /etc/hosts
did nothing despite the fact that changing localhost
to 127.0.0.1
does indeed fix this issue on the M3 MBP.
I can't get this plugin to work. After calling
require('dap').continue()
I get the errorCouldn't connect to localhost:${port}: ECONNREFUSED
. Below is the minimal config that I'm using:Click to expand
```lua local root = vim.fn.fnamemodify(vim.fn.expand('$HOME') .. '/code-other/nvim-test-config', ':p') -- set stdpaths to use .repro for _, name in ipairs({ 'config', 'data', 'state', 'cache' }) do vim.env[('XDG_%s_HOME'):format(name:upper())] = root .. '/' .. name end -- bootstrap lazy local lazypath = root .. '/plugins/lazy.nvim' if not vim.loop.fs_stat(lazypath) then vim.fn.system({ 'git', 'clone', '--filter=blob:none', 'https://github.com/folke/lazy.nvim.git', lazypath, }) end vim.opt.runtimepath:prepend(lazypath) -- install plugins local plugins = { { 'williamboman/mason.nvim', config = true }, { 'mfussenegger/nvim-dap', dependencies = { 'mxsdev/nvim-dap-vscode-js' }, config = function() local dap = require('dap') require('dap-vscode-js').setup({ debugger_path = require('mason-registry').get_package('js-debug-adapter'):get_install_path(), debugger_cmd = { 'js-debug-adapter' }, adapters = { 'pwa-node', 'pwa-chrome', 'pwa-msedge', 'node-terminal', 'pwa-extensionHost', }, }) dap.adapters['pwa-node'] = { type = 'server', host = 'localhost', port = '${port}', executable = { command = 'js-debug-adapter', args = { '${port}' }, } } for _, language in ipairs { 'typescript', 'javascript' } do dap.configurations[language] = { { type = 'pwa-node', request = 'launch', name = 'Launch file', program = '${file}', cwd = '${workspaceFolder}', }, } end vim.keymap.set('n', 'Here's the TL;DR of the config, which is based on the installation instructions and this thread:
You should be able to download and launch the config above with
nvim -u /path/to/file/above
.Steps to reproduce:
nvim -u /path/to/file/above test.ts
<space>dc
(to start debugging)Couldn't connect to localhost:${port}: ECONNREFUSED
appears