xtsjs
Fast TypeScript build tool powered by esbuild. Zero configuration needed.
Features
- 🚀 Fast builds powered by esbuild
- 📦 Works out of the box without tsconfig.json
- 📘 TypeScript declaration files (.d.ts) generation
- ✅ Optional type checking with
--typecheck
- 🎯 ESM and CommonJS output support
Installation
npm install --save-dev xtsjs
Optional: Install TypeScript for declaration files and type checking:
npm install --save-dev typescript
For type checking: If you want IDE support (VS Code IntelliSense, etc.) or build/CI type checking with --typecheck, you'll need a tsconfig.json. Generate one with xtsjs init.
Usage
CLI
xtsjs
xtsjs --typecheck
xtsjs --src src --out dist
xtsjs --cjs
xtsjs --sourcemap
xtsjs init
Programmatic API
import { xtsjs } from "xtsjs";
await xtsjs({
srcDir: "src",
outDir: "dist",
typecheck: true,
format: "esm",
});
Options
CLI Options
-s, --src <dir> - Source directory (default: src)
-o, --out <dir> - Output directory (default: dist)
-t, --target <ver> - Node.js target version (default: node18)
-d, --declaration - Generate .d.ts files (default: true)
--sourcemap - Enable source maps (default: false)
--cjs - Output CommonJS format (default: ESM)
--typecheck - Run type checking before build (requires tsconfig.json)
API Options
interface XtsjsOptions {
srcDir?: string;
outDir?: string;
target?: string;
sourcemap?: boolean;
declaration?: boolean;
format?: 'esm' | 'cjs';
typecheck?: boolean;
esbuildOptions?: Partial<BuildOptions>;
}
Package.json Scripts
{
"type": "module",
"scripts": {
"build": "xtsjs",
"build:check": "xtsjs --typecheck"
}
}
Notes
By default, xtsjs rewrites .ts imports to .js in the output. If you prefer to handle this yourself (e.g., with TypeScript 5.7+ rewriteRelativeImportExtensions), you can use esbuild directly or pass custom esbuild options.
License
MIT