Node.js

You'll need to have a Node.js version installed, and preferably something after v20.16. I wrote this course with 20.16 but it should be fairly future-proof.

I use fnm to manage my Node.js versions (similar to nvm).

I think this course would work with recent versions of bun or deno but it's untested. Beware if you decide go down this path.

Tools FAQ

What tools are your using?

  • Visual Studio Code – I used to work at Microsoft on VS Code so it's no surprise that I'll be using it in this course. We'll also be using a few extensions that I'll call out as we get there.
  • Firefox – I want more than Chromium to exist so I support Firefox where I can. Feel free to use any browser; it won't matter in this course.
  • Terminal.app – I used to use iTerm2 and Hyper but in the end I appreciate how fast the default terminal is.

What <font/theme/extension> are you using?

  • Visual Studio Code
    • Dark+ Theme – It comes installed by default but it's not the default theme anymore. I'm so used to it that I can't switch.
    • MonoLisa font – I like fonts and I look at it all day so I was okay paying for it. I have ligatures enabled which is why you might see strange glyphs. If you want ligatures but don't want to pay, the linked ligature article has a few. I like Cascadia Code from Microsoft.
    • vscode-icons – Lots of neat icons for VS Code and it's free.
  • Terminal
    • zsh – It comes with macOS now and I'm way too lazy to switch back to bash.
    • Dracula theme – I like the pastels. I would use it in VS Code too if Dark+ wasn't ingrained in my blood.
    • Starship Prompt – Very cool prompt that's just pretty. Also shows you what sort of project you're in which is occasionally useful
    • CaskaydiaCove Nerd Font – This works with Starship prompt to give you the JS logos and all those extra glyphs. It's based on Cascadia Code.