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 managementBun.file()- File system operations and readingBun.write()- File writing operationsfetch()- HTTP requests (Web API standard)Bun.preconnect()- URL preconnection for performance
File System
Bun.file(path)- Create file handle for reading/writingawait Bun.file(path).text()- Read file as textawait Bun.file(path).json()- Read file as JSONawait Bun.file(path).arrayBuffer()- Read file as ArrayBufferawait Bun.write(path, data)- Write data to file
Shell Commands
import { $ } from "bun"
await $`command` // Execute shell commands with template literals
const result = await $`ls -la` // Capture command output
Compression
Bun.gzipSync()- Synchronous gzip compressionBun.gunzipSync()- Synchronous gzip decompressionBun.inflateSync()- Synchronous deflate decompression
SQLite
import { Database } from "bun:sqlite"
// Database operations and SQL execution
FFI (Foreign Function Interface)
import { dlopen, CString } from "bun:ffi"
// Native library interaction
Utilities
Bun.escapeHTML()- HTML escapingBun.hash()- Hashing functionsBun.password.hash()- Password hashingBun.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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.