📖 Guide

Node.js — Complete Reference

Comprehensive Node.js runtime cheat sheet covering modules, file system, HTTP, streams, child processes, and common patterns.

113 commands across 11 categories

Getting Started

CommandDescription
node app.js
Run a JavaScript file with Node.js
node -e 'console.log(1+1)'
Evaluate inline JavaScript expression
node --watch app.js
Run file and restart on changes (Node 18+)
node --inspect app.js
Start with debugger listening on port 9229
node --env-file=.env app.js
Load environment variables from file (Node 20+)
node -p 'process.versions'
Print Node.js and dependency versions
node --check app.js
Syntax-check a file without executing it
node -r ts-node/register app.ts
Preload a module before running (e.g. ts-node)
node --max-old-space-size=4096 app.js
Increase V8 heap memory limit to 4 GB
node --test
e.g. node --test tests/*.js
Run built-in test runner (Node 18+)

Modules (require/import)

CommandDescription
const fs = require('fs');
Import a CommonJS module
import fs from 'fs';
Import an ES module (requires type: module or .mjs)
import { readFile } from 'fs/promises';
Named import from a module
module.exports = { fn };
Export from a CommonJS module
export default function() {}
Default export from an ES module
export { helper, utils };
Named exports from an ES module
const mod = await import('./mod.js');
Dynamic import (works in both CJS and ESM)
require.resolve('express')
Get the resolved file path of a module without loading it
import.meta.url
Get the file URL of the current ES module
import { createRequire } from 'module';
e.g. const require = createRequire(import.meta.url);
Use require() inside ES modules

File System (fs)

CommandDescription
fs.readFileSync('file.txt', 'utf8')
Read a file synchronously as a string
await fs.promises.readFile('f.txt', 'utf8')
Read a file asynchronously with promises
fs.writeFileSync('out.txt', data)
Write data to a file (overwrites existing)
fs.appendFileSync('log.txt', line)
Append data to a file
fs.existsSync('/path/to/file')
Check if a file or directory exists
fs.mkdirSync('dir', { recursive: true })
Create a directory and any missing parents
fs.readdirSync('dir')
List files and directories in a folder
fs.unlinkSync('file.txt')
Delete a file
fs.renameSync('old.txt', 'new.txt')
Rename or move a file
fs.statSync('file.txt').isFile()
Get file stats (size, modified time, type)
fs.copyFileSync('src.txt', 'dst.txt')
Copy a file
fs.watch('dir', callback)
Watch a file or directory for changes

Path

CommandDescription
path.join('dir', 'file.txt')
e.g. // 'dir/file.txt'
Join path segments with OS separator
path.resolve('relative/path')
Resolve to an absolute path from cwd
path.basename('/dir/file.txt')
e.g. // 'file.txt'
Get the filename from a path
path.dirname('/dir/file.txt')
e.g. // '/dir'
Get the directory from a path
path.extname('file.txt')
e.g. // '.txt'
Get the file extension
path.parse('/dir/file.txt')
Parse path into { root, dir, base, ext, name }
path.relative('/a/b', '/a/c')
e.g. // '../c'
Get relative path between two paths
path.isAbsolute('/usr/bin')
Check if a path is absolute
path.normalize('a//b/../c')
e.g. // 'a/c'
Normalize a path resolving . and ..
path.sep
OS-specific path separator ('/' or '\\')

HTTP

CommandDescription
http.createServer((req, res) => { res.end('OK'); }).listen(3000);
Create a basic HTTP server on port 3000
res.writeHead(200, { 'Content-Type': 'application/json' });
Set response status code and headers
res.end(JSON.stringify(data));
Send response body and end the response
req.method
Get the HTTP method (GET, POST, etc.)
req.url
Get the request URL path and query string
new URL(req.url, 'http://localhost').searchParams
Parse query parameters from the request URL
http.get(url, (res) => { ... });
Make a simple HTTP GET request
const res = await fetch(url);
e.g. const data = await res.json();
Fetch API (built-in Node 18+)
http.request({ method: 'POST', ... }, callback);
Make an HTTP request with full options
server.close();
Stop the HTTP server from accepting new connections

Events

CommandDescription
const emitter = new EventEmitter();
Create a new event emitter instance
emitter.on('event', callback)
Register a listener for an event
emitter.once('event', callback)
Register a one-time listener (auto-removed after first call)
emitter.emit('event', arg1, arg2)
Emit an event with arguments
emitter.off('event', callback)
Remove a specific event listener
emitter.removeAllListeners('event')
Remove all listeners for an event
emitter.listenerCount('event')
Get the number of listeners for an event
emitter.setMaxListeners(20)
Increase max listener limit (default 10) to avoid warnings
const { on } = require('events');
e.g. for await (const [msg] of on(emitter, 'data')) { }
Async iterator for events

Streams

CommandDescription
fs.createReadStream('file.txt')
Create a readable stream from a file
fs.createWriteStream('out.txt')
Create a writable stream to a file
readable.pipe(writable)
Pipe a readable stream into a writable stream
await pipeline(readable, transform, writable);
Pipe streams with error handling (from stream/promises)
readable.on('data', (chunk) => { })
Read data chunks as they arrive
writable.write(chunk)
Write a chunk to a writable stream
writable.end()
Signal no more data will be written
new Transform({ transform(chunk, enc, cb) { cb(null, modified); } })
Create a transform stream to modify data in transit
Readable.from(iterable)
Create a readable stream from an array or async iterable
stream.Readable.toWeb(nodeStream)
Convert a Node stream to a Web ReadableStream (Node 17+)

Process & OS

CommandDescription
process.env.NODE_ENV
Access an environment variable
process.argv
e.g. // ['node', 'app.js', '--port', '3000']
Get command-line arguments array
process.cwd()
Get the current working directory
process.exit(1)
Exit with a status code (0 = success, non-zero = error)
process.pid
Get the current process ID
process.memoryUsage()
Get memory usage (rss, heapTotal, heapUsed, external)
process.on('uncaughtException', (err) => { })
Handle uncaught exceptions globally
process.on('SIGINT', () => { })
Handle Ctrl+C / interrupt signal
os.cpus().length
Get the number of CPU cores
os.totalmem() / 1024 ** 3
Get total system memory in GB
os.platform()
Get the OS platform (linux, darwin, win32)
os.homedir()
Get the current user's home directory

Child Processes

CommandDescription
execSync('ls -la', { encoding: 'utf8' })
Execute a shell command synchronously and return output
exec('ls -la', (err, stdout, stderr) => { })
Execute a shell command asynchronously
const { stdout } = await execPromise('ls');
e.g. const execPromise = util.promisify(exec);
Promisified exec
spawn('node', ['app.js'])
Spawn a child process (no shell, streamed output)
child.stdout.on('data', (data) => { })
Listen to stdout of a spawned process
child.on('exit', (code) => { })
Handle child process exit
fork('worker.js')
Spawn a Node.js child process with IPC channel
child.send({ type: 'work', data })
Send a message to a forked child process
process.on('message', (msg) => { })
Receive messages in a forked child process
execFileSync('git', ['status'])
Execute a file directly without shell (safer, no injection)

npm Scripts

CommandDescription
npm init -y
Create a package.json with default values
npm install express
Install a package as a dependency
npm install -D typescript
Install a package as a dev dependency
npm run build
Run a script defined in package.json
npm start
Run the 'start' script (shorthand, no 'run' needed)
npm test
Run the 'test' script (shorthand)
npx create-next-app@latest
Run a package binary without installing globally
npm ls --depth=0
List top-level installed packages
npm outdated
Check for outdated packages
npm audit fix
Automatically fix known security vulnerabilities

Common Patterns

CommandDescription
setTimeout(() => { }, 1000)
Execute code after a delay (milliseconds)
setInterval(() => { }, 5000)
Execute code repeatedly at an interval
await new Promise(r => setTimeout(r, 1000));
Async sleep / delay
JSON.parse(fs.readFileSync('data.json', 'utf8'))
Read and parse a JSON file
const __dirname = path.dirname(fileURLToPath(import.meta.url));
Get __dirname in ES modules
crypto.randomUUID()
Generate a random UUID (Node 14.17+)
crypto.createHash('sha256').update(data).digest('hex')
Hash a string with SHA-256
Buffer.from(str, 'utf8').toString('base64')
Encode a string to base64
process.hrtime.bigint()
High-resolution timer for benchmarking (nanoseconds)
util.promisify(fs.readFile)
Convert a callback-based function to return a promise

More Guides

🌿
Git Commands
Complete Git command reference cheat sheet — from basics to advanced workflows, including branching, stashing, rebasing, and tagging. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference cheat sheet — modes, motions, editing, search and replace, macros, registers, marks, and window management.
🐳
Docker Commands
Complete Docker & Docker Compose command reference cheat sheet — containers, images, volumes, networks, registry auth, buildx multi-platform builds, & cleanup.
🔤
Regex Reference
Complete regular expression reference cheat sheet — character classes, anchors, quantifiers, groups, lookaheads, flags, and JavaScript string methods.
🐧
Linux Commands
Complete Linux/Bash command reference cheat sheet — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference cheat sheet — pods, deployments, services, secrets, namespaces, scaling, RBAC, networking, and Helm charts.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, control flow, classes, error handling, file I/O, comprehensions, and built-ins.
🗃️
SQL Reference
Complete SQL reference cheat sheet — queries, joins, aggregation, subqueries, indexes, window functions, string and date functions, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, caching, security headers, and rate limiting.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, agent forwarding, security hardening, and troubleshooting.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, shared libraries, credentials, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
⚡
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, plus retry, rate limiting, and circuit breaker patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
◈
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts cheat sheet — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, CloudWatch, SQS/SNS, Route 53, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, structs, interfaces, goroutines, channels, error handling, testing, and the standard library.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, providers, backend configuration, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, Galaxy, handlers, conditionals, loops, and ad-hoc commands.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL, plus access control, logging, and performance.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values, plus control codes and common escape sequences.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, arrays, control flow, and report generation with built-in variables.
💻
Bash
Complete Bash reference cheat sheet — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, structs, file I/O, preprocessor, and standard library.
🔐
Chmod
Linux file permission commands and patterns for chmod, covering numeric and symbolic modes, recursive changes, and SUID/SGID/sticky bits.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers — covering Network, Performance, and Application panels.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, iterators, lambda expressions, and modern C++ features.
⏰
Cron
Cron scheduling reference covering syntax, special strings, field values, crontab management, environment variables, and logging.
🎨
CSS
Complete CSS reference cheat sheet — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
🌐
Curl
Curl command-line reference for HTTP requests, headers, authentication, cookies, proxies, file transfers, SSL/TLS, debugging, and API patterns.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns, plus collections, error handling, and classes.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, health checks, profiles, and build options.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, column types, queries, filters, joins, relations, migrations, indexes, and patterns.
⚡
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding, covering nesting, multiplication, numbering, and grouping.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering by name, size, time, permissions, type, and actions.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, Hosting, Storage, and security rules.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns, plus matrix strategies, caching, and artifacts.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions, context options, and file filtering.
📄
HTML
Complete HTML reference — document structure, text content, links, forms, tables, media, semantic elements, meta tags, attributes, and accessibility.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes across 1xx-5xx classes, with descriptions, examples, and common usage patterns.
☕
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more, including animation effects, traversing, and plugins.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more, plus middleware, validation, and authentication.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages, plus figures, tables, and citation styles.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, task lists, footnotes, and extensions.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration, plus replica sets, users, roles, and query operators.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, data types, user permissions, and database administration.
▲
Next.js
Next.js App Router reference covering routing, data fetching, server components, API routes, middleware, and deployment configuration.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration, plus workspaces, security audits, and npx.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python, covering reshaping, broadcasting, and linear algebra.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python, covering DataFrames, grouping, merging, and date/time.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features, plus file I/O, superglobals, and error handling.
🔄
PM2
Production process manager for Node.js applications with cluster mode, monitoring, log management, startup scripts, and zero-downtime reloads.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI, plus relations, aggregations, filtering, and seeding patterns.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, structs, enums, error handling, closures, and concurrency.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, extends, maps, and the modern module system.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window and split-region management, key bindings, copy mode, and remote work.
✂️
Sed
Stream editor for filtering and transforming text, line by line — substitution, address ranges, hold space, branching, and flags.
⚡
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions, plus row level security and migrations.
🖥️
Tmux
Terminal multiplexer cheat sheet for managing multiple sessions, windows, and panes from a single terminal, with copy mode and status bar configuration.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns, including arrays of tables and inline tables.
▲
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, secrets, logs, edge functions, and configuration.
⚡
Vite
Next-generation frontend build tool with instant HMR, native ES modules, plugins, environment variables, library mode, and Rollup-based builds.
📦
Webpack
Module bundler for JavaScript applications — entry/output config, loaders, plugins, code splitting, module resolution, and optimization.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, string functions, node tests, and operators for XML/HTML querying.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, aliases, multi-line strings, nested structures, and common patterns.

📖 Free, searchable command reference. Bookmark this page for quick access.