ts-babel-node
raw JSON → 1.1.1 verified Sat Apr 25 auth: no javascript deprecated
ts-babel-node (v1.1.1) enables Babel compilation of TypeScript output, primarily to support async/await in older Node.js versions. It wraps ts-node to add a Babel transpilation step after TypeScript compilation. Requires peer dependencies typescript and ts-node. Useful for legacy toolchains where Node.js 5.x lacks ES6 support. No longer actively maintained; users should migrate to ts-node with modern Node.js.
Common errors
error Error: Cannot find module 'ts-node' ↓
cause Missing peer dependency ts-node
fix
npm install ts-node
error TypeError: Cannot read property 'compile' of undefined ↓
cause Incompatible TypeScript version (e.g., v2+)
fix
Install typescript@1.8 explicitly: npm install typescript@1.8
error SyntaxError: Unexpected token function ↓
cause Babel not registered; async/await not transpiled
fix
Require 'ts-babel-node/register' before running code.
Warnings
deprecated Package is no longer maintained; use ts-node with modern Node.js (>=6) which supports async/await natively. ↓
fix Remove dependency and rely on ts-node alone.
breaking Requires peer dependency typescript@1.8 or similar; newer TypeScript versions may break compilation. ↓
fix Pin typescript to a compatible version.
gotcha Node.js version must be <6 to need babel; on modern Node.js, ts-node handles async/await without babel. ↓
fix Upgrade Node.js and use ts-node directly.
Install
npm install ts-babel-node yarn add ts-babel-node pnpm add ts-babel-node Imports
- default wrong
import tsBabelNode from 'ts-babel-node'correctimport 'ts-babel-node/register' - register wrong
const register = require('ts-babel-node').registercorrectimport { register } from 'ts-babel-node' - registerBabel wrong
require('ts-babel-node').registerBabel()correctimport { registerBabel } from 'ts-babel-node'
Quickstart
// Install: npm install --save-dev ts-babel-node typescript@1.8 ts-node
// Run a TypeScript file with async/await support
// my-script.ts:
import { register } from 'ts-babel-node';
register();
async function main() {
const result = await Promise.resolve('Hello, ts-babel-node!');
console.log(result);
}
main().catch(console.error);
// Execute: ts-babel-node my-script.ts