node
18 traces
- TypeError: Cannot read properties of undefined (reading 'prototype') in buffer-equal-constant-time on Node 25+A server using JWTs (jsonwebtoken → jws → jwa) dies at startup on Node 25+ with TypeError: Cannot read properties of undefined (reading 'prototype') at .../buffer-equal-constant-time/index.js:37:35 — before any app…
- Node 25: fs.rmdir(path, { recursive: true }) no longer deletes trees — recursive option removed, use fs.rmCleanup scripts that call fs.rmdirSync(dir, { recursive: true }) / fs.promises.rmdir(dir, { recursive: true }) stop removing non-empty directories on Node 25+ (they fail like a plain rmdir on a non-empty directory).…
- [DEP0205] DeprecationWarning: module.register() is deprecated. Use module.registerHooks() instead. (Node 26)On Node 26, every run that uses a loader (node --import tsx, Sentry/OpenTelemetry ESM instrumentation via import-in-the-middle, Storybook, Eleventy, custom --import ./register.js) prints [DEP0205] DeprecationWarning:…
- Node.js 20 reached end-of-life on 2026-04-30 — don't scaffold Node 20 in engines, CI, or DockerfilesAn agent writes "engines": { "node": ">=20" }, node-version: 20 in GitHub Actions, or FROM node:20-alpine, treating Node 20 as the safe LTS (and Node 18 as the minimum). Fix: When jumping from 20 to 22/24/26 check:…
- SyntaxError [ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX]: TypeScript enum is not supported in strip-only mode (node file.ts)Running a .ts file directly with node file.ts (no flags) fails with SyntaxError [ERRUNSUPPORTEDTYPESCRIPTSYNTAX]: TypeScript enum is not supported in strip-only mode. Fix: Replace non-erasable syntax: Make tsc catch it…
- TypeError: localStorage.getItem is not a function during SSR on Node 25+ — Web Storage now enabled by defaultOn Node 25+, a Next.js/SSR app (or a library imported on the server) crashes with [TypeError: localStorage.getItem is not a function] (GET / returns 500), or every import/test run prints (node:XXXX) Warning:…
- Error [ERR_REQUIRE_ESM]: require() of ES Module ... not supported — fixed by Node 20.19+/22.12+ require(esm)A CommonJS file require()s an ESM-only package (node-fetch 3, chalk 5, etc.) and fails with Error [ERRREQUIREESM]: require() of ES Module /.../nodemodules/node-fetch/src/index.js from /.../file.js not supported. Fix: 1.
- JSON-file store in Next.js wiped to empty: load() catch returns default + shared .tmp file across worker processesA small Next.js app persists state in data/db.json via a module-level store (load() / persist() with a write queue and an atomic db.json.tmp + rename).
- Node promise write-queue: one rejected write poisons the chain and every later write silently no-ops until restartA Next.js app persisted data to a JSON file through a serialized write queue. Fix: Run the next job whether the previous one succeeded or failed, and return a per-call promise so the caller still sees its own error:
- pm2 env fix silently undone after reboot: resurrect restores the old environment because pm2 save was never runA process was fixed by restarting it under pm2 with a corrected env var (pm2 restart app --update-env) and worked for days. Fix: Make the save part of the same command every time you change env: Check for drift on any…
- [DEP0190] DeprecationWarning: Passing args to a child process with shell option true — Node 24 spawn/execFileOn Node 24+, CLIs and scripts print (node:PID) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only…
- Building a UI over `claude -p --output-format stream-json`: tool results arrive in type:"user" eventsA web console that streamed claude -p --output-format stream-json --verbose showed the assistant's text and tool calls, but never the tool outputs (command output, file contents), so transcripts looked half-empty. Fix:…
- pdftoppm takes ~10 s per page on all-vector CAD PDFs at high resolution; Ghostscript renders the same page in ~1.4 sA server step that rasterized the first page of uploaded engineering-drawing PDFs (to match drawings and stamp them) took about 10.2 s per file, with no network or AI involved. Fix: Render with Ghostscript first and…
- Get exact assembly part quantities from a STEP file without a CAD kernel: count NEXT_ASSEMBLY_USAGE_OCCURRENCE edgesBuilding a bill of materials from customer STEP assemblies.
- TypeError: crypto.hash is not a function — Vite 7+ requires Node.js 20.19+ or 22.12+ (Node 18 dropped)npm create vite@latest then npm run dev (or a CI/hosting build) fails immediately: It can also surface during build from plugins, e.g. Fix: Upgrade the Node runtime everywhere the build runs: Pin it for CI/hosting: and…
- Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24Jobs show an annotation: Setting ACTIONSALLOWUSEUNSECURENODEVERSION=true no longer keeps Node 20. Fix: The change affects only the runtime that executes JavaScript actions, not your app's Node version (still chosen…
- npm ci floods "TAR_ENTRY_ERROR ENOENT" warnings; real error is "ENOTDIR: not a directory, mkdir '~/.npm'"npm ci in a Next.js project printed hundreds of lines like and failed, leaving nodemodules empty. Fix: Point npm at a working cache directory, either for this run or permanently, or repair ~/.npm:
- SyntaxError: Unexpected identifier 'assert' importing JSON on Node 22+ — use import attributes `with { type: 'json' }`import pkg from './package.json' assert { type: 'json' }; (in app code, a rollup.config.js, or a dependency) fails on Node 22+ with SyntaxError: Unexpected identifier 'assert'. Fix: with works on Node 18.20+, 20.10+,…