I don’t use a Toolbox for this, I prefer a node environment manager so I can use different versions in different projects. There are several ways you can do this. I use Volta, but there are plenty of other solutions, like nvm and fnm.
Volta’s installer doesn’t work on Silverblue (unless you rpm-ostree install openssl first to get missing utils), but Volta itself works without a hitch, you just have to install it manually:
mkdir -p ~/.volta/bin
tar xvfz *.tar.gz && rm *.tar.gz
Then you can follow the docs, but the simple version is what I do:
# If you don't already have a node-version/nvmrc file, I like to set major version in file
echo '14' > .node-version
# Install latest node with volta install node or use version:
volta install node@$(cat .node-version)
# Install classic yarn (1.x)
volta install yarn # or npm if you prefer
You can also pin version in package.json with
volta pin, but I don’t recommend this because it supposes that all collaborators use it.
When it comes to flatpak IDE, that’s a whole different ballgame. There are several threads about this. In short, I don’t think it’s worth the effort. I layer neovim myself, but I’ve also used vscode through Toolbox. Works well!