No built-in ESLint rule enforces your team-specific convention. Here is how to write a custom plugin with AST visitor setup, RuleTester tests, and auto-fix, using the ESLint 9 flat config format.
You reach for Babel, ts-node, or an entire build pipeline just to import a .ts file, mock a dependency in tests, or add request tracing. Node.js has built-in hooks for all of this since v18, and most teams do not know they exist. This post builds three loaders from scratch and shows you exactly when to use them.
Automate your changelog generation, version bumps, and npm/git tag creation using conventional commits and semantic-release. A practical setup that runs in CI and eliminates manual release work.
ESLint covers the common cases. For everything else there is the TypeScript Compiler API. This post walks through building real custom analysis tools: enforcing domain boundaries between packages, detecting leaked internals, and writing refactoring scripts that understand your codebase.
The dev environment that works on your machine but not on your teammates costs hours of setup time and silently diverges until production breaks. Here is the VS Code Dev Containers setup that gives every engineer the same Node.js version, Postgres port, and system dependencies from a single JSON file.
Node.js has shipped a production-ready test runner since v20 that needs zero config, runs TypeScript natively, and handles 90% of what you reach for Jest or Mocha to do. Here is the migration path, the API patterns that matter, and the edge cases where you still need a third-party tool.
A feature ships. Performance drops 15 points. Nobody notices until the SRE dashboard turns red at 3 a.m. Here is how to run Lighthouse in CI, define hard budgets for LCP, TBT, and bundle size, and fail every PR that makes the site slower.
Stop hand-writing fetch wrappers that drift from the spec. Here is how to generate fully typed API clients from OpenAPI specs, catch breaking changes in CI, and never debug a "but the API returned field X" production issue again.
tsc is slow, but dropping it entirely means shipping bugs that only the type checker catches. Here is a dual-pipeline approach that uses esbuild for speed and tsc for safety, with production build times cut by 80% and zero type regressions.
Every team has a handful of internal CLI tools that are fragile, undocumented, and produce output no script can parse. Here is the structured argument parsing, exit code discipline, JSON output mode, and testing pattern that turns a glue script into a tool people trust in CI and at 2 AM.