Engineering guides
Backend systems, Node.js, TypeScript, AI coding, fintech infrastructure, and engineering career proof.
Latest posts
Page 10 of 18Import assertions to import attributes in TypeScript 6
TypeScript 6 deprecates import assertions and directs projects to the `with` keyword. Update source, runtime versions, tests, and bundler support together.
TypeScript 6 removes outFile: migrate to a real bundler
TypeScript 6 removes the `outFile` compiler option. Use TypeScript for checking and declaration emit, then bundle JavaScript with Vite, Rollup, esbuild, or another maintained tool.
TypeScript 6 alwaysStrict false removal: find sloppy-mode code safely
TypeScript 6 assumes strict semantics and no longer allows `alwaysStrict: false`. Search emitted JavaScript assumptions and run behavior tests before deleting the setting.
TypeScript 6 esModuleInterop is always enabled: import migration examples
TypeScript 6 no longer permits `esModuleInterop` or `allowSyntheticDefaultImports` to be false. Remove the false settings and test default imports from CommonJS dependencies.
TypeScript 6 removes moduleResolution classic: modern replacement guide
TypeScript 6 removes `moduleResolution: classic` rather than only warning about it. Choose `NodeNext` for direct Node execution or `Bundler` when a bundler resolves imports.
TypeScript 6 removes AMD, UMD, SystemJS, and module none: what to use instead
TypeScript 6 no longer supports `module` values `amd`, `umd`, `systemjs`, or `none`. Emit ESM or CommonJS for the real runtime and let a maintained bundler create distribution formats.
TypeScript 6 downlevelIteration deprecation: remove a setting that no longer helps
Because TypeScript 6 deprecates the ES5 target, setting `downlevelIteration` now produces a deprecation error. Remove the option after confirming the project targets ES2015 or newer.
TypeScript 6 deprecates target ES5: migration options for legacy browsers
TypeScript 6 deprecates `target: es5` and recommends a newer target or an external transformation step when ES5 remains mandatory. Measure actual browser support, move TypeScript to ES2015 or newer, and use a dedicated transpiler only for verified le
TypeScript 6 libReplacement false: understand the performance change
TypeScript 6 sets `libReplacement` to false by default to avoid unnecessary failed resolutions and watcher overhead. Leave it disabled unless the project deliberately supplies replacement lib packages.
TypeScript 6 noUncheckedSideEffectImports default: fix hidden import typos
TypeScript 6 enables `noUncheckedSideEffectImports` by default so unresolved side-effect-only imports are reported. Fix the path or add a narrow ambient module declaration for intentionally loader-managed assets.
How Claude Code became an agent: product lessons for developer tools
Anthropic’s Claude Code retrospective describes its path from an internal CLI to a broader coding agent. Build around inspectable actions, permission boundaries, fast feedback, and real repository workflows.
Claude Sonnet 5: migration checklist for coding and agent workloads
Anthropic introduced Claude Sonnet 5 for coding, agents, and professional work at scale. Replay repository tasks, tool calls, and structured outputs before replacing the previous model.
Publish an AI Studio Android app safely to the internal test track
Google announced Play Console integration, browser emulation, ADB testing, and Internal Test Track publishing from AI Studio. Add source review, permission review, signing ownership, and device tests before publishing.
Migrate from Gemini CLI to Antigravity CLI without losing project rules
Google is unifying its agent development experience around Antigravity CLI and recommends porting Gemini CLI custom skills. Inventory every customization, migrate in a branch, and compare behavior on fixed tasks.
Evaluate AI-generated web interfaces from Gemini 3.5 Flash
Google says Gemini 3.5 Flash can generate richer interactive web interfaces and graphics. Test real data, empty states, localization, keyboard input, and constrained mobile widths.
Gemini 3.5 Flash for long-running agents: design checkpoints and recovery
Google highlights Gemini 3.5 Flash for longer agentic work through its Antigravity harness. Store checkpoints after planning, data collection, modification, and verification so work can resume safely.
Gemini 3.5 Flash vs larger models: choose with task-level evaluations
Google positions Gemini 3.5 Flash as combining flagship-level intelligence with Flash-series latency and strong coding and agent benchmarks. Compare completion rate, tool errors, latency, and cost on your actual tasks.
Secure cloud execution for coding agents: lessons from the Ona acquisition
OpenAI announced an agreement to acquire Ona for secure cloud execution and orchestration technology in the Codex ecosystem. Use ephemeral environments, minimum credentials, network policy, audit logs, and clean teardown.
How to migrate an AI feature to GPT-5.6 without breaking production
GPT-5.6 is generally available through the API as a new family rather than a byte-for-byte replacement for older models. Replay representative production cases in shadow mode and compare structured outputs before routing live traffic.
GPT-5.6 for frontend design: test visual quality instead of trusting a demo
OpenAI describes GPT-5.6 as making a notable step in design and end-to-end knowledge work. Evaluate generated interfaces across real content, keyboard navigation, and mobile viewports.
GPT-5.6 cost controls: budget AI workloads before switching models
GPT-5.6 offers different performance and cost points across Sol, Terra, and Luna. Set per-feature token, retry, and monthly budget limits before migration.
GPT-5.6 Sol vs Terra vs Luna: which model should developers choose?
OpenAI positions Sol as the flagship, Terra as the balanced everyday option, and Luna as the most cost-efficient member of GPT-5.6. Route a fixed evaluation set through all three and choose per task instead of setting one global default.
GitHub Copilot browser tools in VS Code: a safe testing workflow
Use Copilot browser tools in VS Code for navigation, screenshots, and web-app validation with domain controls, test accounts, and human review.
GitHub Copilot Vision: review screenshots, PDFs, and UI bugs safely
Use Copilot Vision with screenshots and PDFs for UI debugging while protecting private data, verifying visual claims, and keeping accessible tests.
GitHub Models retirement: migration checklist before July 30, 2026
Migrate projects from GitHub Models before retirement by inventorying API calls, prompts, credentials, evaluations, and replacement providers.
GitHub issue fields: structure work without turning issues into forms
Use GitHub issue fields for priority, effort, customer impact, and ownership while keeping issue workflows simple and searchable.
Copilot agent session streaming API: build a useful progress UI
Use Copilot agent session streaming to show progress, tool activity, failures, and completion without misleading users or leaking sensitive data.
Run Copilot CLI in GitHub Actions without a personal access token
Use Copilot CLI in GitHub Actions with the workflow identity, minimum permissions, protected triggers, and no stored personal access token.
Restrict who can dismiss pull request reviews with GitHub rulesets
Control who may dismiss pull request reviews in GitHub rulesets, preserve emergency access, audit changes, and prevent approval bypasses.
GitHub secret scanning extended metadata and multipart validation explained
Use secret scanning ownership, expiry, project context, and multipart validation to prioritize leaked credentials and remediate faster.