| name | typescript-inline-scripts |
| description | Guide for running inline TypeScript scripts with Bun. This should be used when the user says "use inline typescript" |
TypeScript Inline Scripts with Bun
IMPORTANT
- ALWAYS assume Bun runtime with modern TypeScript features
- Imported npm packages will be automatically installed by Bun
- ALWAYS prefer Bun APIs where possible
Example
bun run --install=fallback - < <(cat <<'EOF'
import { z } from 'zod'
console.log(z.coerce.number().parse('5'))
EOF
)
Bun APIs Reference
Core Runtime APIs
Bun.spawn() - Process spawning and management
Bun.file() - File system operations and reading
Bun.write() - File writing operations
fetch() - HTTP requests (Web API standard)
Bun.preconnect() - URL preconnection for performance
File System
Bun.file(path) - Create file handle for reading/writing
await Bun.file(path).text() - Read file as text
await Bun.file(path).json() - Read file as JSON
await Bun.file(path).arrayBuffer() - Read file as ArrayBuffer
await Bun.write(path, data) - Write data to file
Shell Commands
import { $ } from "bun"
await $`command`
const result = await $`ls -la`
Compression
Bun.gzipSync() - Synchronous gzip compression
Bun.gunzipSync() - Synchronous gzip decompression
Bun.inflateSync() - Synchronous deflate decompression
SQLite
import { Database } from "bun:sqlite"
FFI (Foreign Function Interface)
import { dlopen, CString } from "bun:ffi"
Utilities
Bun.escapeHTML() - HTML escaping
Bun.hash() - Hashing functions
Bun.password.hash() - Password hashing
Bun.password.verify() - Password verification
Node.js Compatibility
- Full Node.js API support via
node: imports
import { createRequire } from 'node:module'
- All standard Node.js modules available