Node.js and JavaScript in 2026
Learnings and Opinions
It is 2026, I still us nvm to manage my local node installation, most of the time I just run nvm install --lts
I tried pnpm, it seems faster, but it introduces a new lock file, so I stick with npm.
Now you can be more secure with this .npmrc configuration.
save-exact=true
min-release-age=5
ignore-scripts=true
Notes on Packages
dotenv is not needed anymore, node can handle an env file with node --env-file-if-exists=file
A few other packages can be replaced:
node-fetch → use the built in fetch()
Test frameworks → node:test
chalk / kleur → util.styleText()
glob → fs.glob()
rimraf → fs.rm({ recursive: true })
mkdirp → fs.mkdir({ recursive: true })
uuid (v4) → crypto.randomUUID()
Standard library has now a node: prefix so use
import fs from 'node:fs';
import path from 'node:path';
import os from 'node:os';
...knip
I love the tool knip, it highlights all unused imports, packages. With this you can do a good deep cleanup. example config knip.json
{
"entry": ["src/index.tsx"],
"project": ["src/**"],
"ignore": [
"/src/openapi/**",
],
"exclude": ["enumMembers"]
}Other Tools
check what is outdated: npx npm-check-updates -i --format group
check for critical: npm audit --audit-level=critical
Other Notes
structuredClone() to get a deep copy
Frameworks
Vue.js is still a great choice.
To research
The proper way to run a TypeScript application is still on my todo list. We use ts-node but that has been deprecated. Requirements are: good developer experience with hotreload, the LSP in the editor most likely uses TypeScript so the bundler should match
