Node.js

Core Modules

const fs = require('fs')File system module
const path = require('path')Path utilities
const http = require('http')HTTP server/client
const os = require('os')OS information
const events = require('events')Event emitter
const crypto = require('crypto')Cryptography
const url = require('url')URL parsing
const util = require('util')Utility functions

File System (fs)

fs.readFileSync(path, "utf8")Read file sync
fs.writeFileSync(path, data)Write file sync
fs.promises.readFile(path)Read file async
fs.promises.writeFile(path, d)Write file async
fs.existsSync(path)Check file exists
fs.mkdirSync(dir, {recursive})Create directory
fs.readdirSync(dir)List directory contents
fs.unlinkSync(path)Delete file
fs.statSync(path).isFile()Check if file
fs.createReadStream(path)Streaming file read

Path Module

path.join(a, b)Join paths safely
path.resolve(rel)Absolute path
path.basename(p)File name
path.dirname(p)Directory name
path.extname(p)File extension
path.parse(p)Parse path parts
__dirnameCurrent dir (CJS)
__filenameCurrent file (CJS)

npm & Package Management

npm init -yCreate package.json
npm install pkgInstall dependency
npm install -D pkgInstall dev dependency
npm install -g pkgInstall globally
npm uninstall pkgRemove package
npm updateUpdate packages
npm run scriptRun package script
npx commandExecute package binary
npm listList installed packages
npm auditCheck vulnerabilities

HTTP Server

http.createServer((req, res) => {})Create server
server.listen(3000)Listen on port
req.methodHTTP method (GET, POST)
req.urlRequest URL path
req.headersRequest headers object
res.writeHead(200, headers)Set status & headers
res.end(body)Send response
res.setHeader("key", "val")Set response header

Process & Environment

process.env.VAREnvironment variable
process.argvCLI arguments array
process.cwd()Working directory
process.exit(0)Exit process
process.pidProcess ID
process.platformOS platform name
process.stdin / stdoutStandard I/O streams
process.on("uncaughtException")Global error handler

Async Patterns

callback(err, result)Node callback pattern
util.promisify(fn)Convert callback to promise
EventEmitterEvent-driven pattern
emitter.on("event", fn)Listen for event
emitter.emit("event", data)Fire event
setImmediate(fn)Next event loop tick
setTimeout(fn, ms)Delayed execution
Promise.allSettled()Wait for all (no fail)

ES Modules in Node

"type": "module"Enable ESM in package.json
import x from "mod"Default import
import { x } from "mod"Named import
import.meta.urlCurrent file URL (ESM)
import { fileURLToPath }Convert URL to path
await import("mod")Dynamic import
allprintabledoc.com