{"id":26942,"library":"esbuild-node-loader","title":"esbuild-node-loader","description":"Transpile TypeScript to ESM using Node.js loader hooks, leveraging esbuild for fast compilation. Current stable version is 0.8.0. Release cadence is irregular, with updates addressing loader hook deprecations and minor features. Compared to esbuild-register, this package targets Node.js ESM (ECMAScript Modules) rather than CommonJS. It supports .ts, .tsx, and .json files, and resolves extensions automatically. Primarily used as a development tool for running TypeScript files directly with Node.js without a separate build step.","status":"active","version":"0.8.0","language":"javascript","source_language":"en","source_url":"https://github.com/antfu/esbuild-node-loader","tags":["javascript","node-loader"],"install":[{"cmd":"npm install esbuild-node-loader","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-node-loader","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-node-loader","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Run-time peer dependency for transpilation. Must be installed separately.","package":"esbuild","optional":false}],"imports":[{"note":"Use --loader for ESM, not -r which is for CJS require hooks.","wrong":"node -r esbuild-node-loader file.ts","symbol":"default","correct":"node --loader esbuild-node-loader file.ts"},{"note":"This package is a loader, not a programmatic API. Use the --experimental-loader flag.","wrong":"require('esbuild-node-loader')","symbol":"N/A (loader)","correct":"node --loader esbuild-node-loader/register.mjs file.ts"}],"quickstart":{"code":"npm install esbuild-node-loader --save-dev\necho \"console.log('Hello from TypeScript');\" > hello.ts\nnode --loader esbuild-node-loader hello.ts","lang":"javascript","description":"Shows installation and running a TypeScript file directly via Node.js loader."},"warnings":[{"fix":"Use --loader (without experimental) for Node.js >=18.8.","message":"--experimental-loader is deprecated; use --loader instead","severity":"deprecated","affected_versions":">=0.8.0"},{"fix":"Use Node.js >=16.12 or downgrade loader version.","message":"Loader hooks changed in Node.js >=16.12","severity":"breaking","affected_versions":">=0.4.3"},{"fix":"Run npm install esbuild --save-dev alongside esbuild-node-loader.","message":"Requires esbuild to be installed separately","severity":"gotcha","affected_versions":">=0.6.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure Node.js >=16.12 and use --loader, not --experimental-loader.","cause":"Using --experimental-loader with Node.js <16.12 or incorrect loader format.","error":"TypeError: is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}