Trouble setting up eslint_d in neovim for Javascript projects

So I’ve had my lsp setup with neovim for a minute now, but I’ve just started working on a javascript project and I realize I have no idea how to setup eslint_d. I’ve scoured the internet for answers but I haven’t really seen anything that’s a “eslint for dummies” type of deal.

I use Mason along with nvim-lspconfig and nvim-lint mainly to do my language server stuff and linting.

What I’m confused about is, if I have eslint_d installed through Mason, do I still need to run an ‘npm init’ command in my directory? Or ‘npm i eslint’ or something like that? I had it linting properly before, except for the fact that it wouldn’t read custom types. I have a types folder in my working directory that’s symlinked to a types folder outside, and in my tsconfig.json I have “./types” in my typeRoots, yet it says these types are undefined and undeclared. Listing them as readonly globals does nothing as well.

Could someone just give me the step by step on how I’m supposed to set up projects using eslint_d through Mason?