Announcing @ChromeDevTools MCP! 🚀
Connect your AI coding agent to Chrome's powerful automation & debugging capabilities with ease.
Key features:
✅ Reliable automation: It can programmatically handle clicks, form fills, dialogs, and page navigation with ease.
✅ Performance insights: Go beyond simple audits. Instruct your agent to record a performance trace and extract actionable insights to optimize your web apps.
✅ Advanced debugging: Empower your AI to analyze network requests, list console messages, take screenshots, and even evaluate scripts in the browser context.
✅ Browser emulation: Easily test different conditions by emulating CPU slowdowns, network throttling, or various screen sizes.
Works well with modern web apps and believe this will unlock new workflows for automated testing, AI-driven debugging, and interactive web development.
And there's much more to come!
🚀 Photoshop is now on the web!
Enabled by WebAssembly, Emscripten, Web Components + Lit, Service Workers + Workbox & high-performance storage. The @googlechrome enjoyed collaborating with @adobe on the launch. Try it out!
📚 Case Study: https://t.co/sTG8tyRyrh
I'm working on updated testing docs for the @nextjs App Router.
`next@canary` supports Jest for server & client components, metadata, `server-only`, and more: https://t.co/J7wHcAVDLr
We're also exploring an experimental test mode for Playwright: https://t.co/TvsVjxrAgx
@schickling I recently wrote about setting something like this with @caddyserver here. Used localhost .projectname.com to allow the same set of cookies as in production. https://t.co/CkdGR0Ri7e
⚠️ Watch out: Environments encourage behaviors.
QA: "Let's batch up work and wait for a separate team to manually test our app and approve before we can deploy."
UAT: "Let's batch up work and block deploy until a subset of users approves."
Staging: "Let's batch up work, practice configuring our release, and test it before deploying to prod."
See the repeated verb above? Batch. 👎
These environments encourage anti-patterns:
🚫 Batch up work.
🚫 Do infrequent releases.
🚫 Integrate work on a schedule, instead of continually.
🚫 Do manual configuration and manual testing (Infrequent releases don't encourage automation).
The alternative? Do CI/CD.
✅Automate tests
✅Automate deploys
✅Eliminate batching. Practice continuous integration (CI).
✅Eliminate most non-prod environments. Instead, release many times a day, automatically. Practice continuous Delivery (CD).
✅Toggle features to separate release from deploy. The business can decide when a feature is visible in prod by checking a box. 😎
Learn how React 18 improves application performance.
Including diagrams and examples of Transitions, Suspense, Server Components, and more.
https://t.co/qTF9yvDoAd
CSS / Performance Tip:
Scroll-driven animations work off the main thread, making them much more performant than using the older JavaScript API
Not only is this API more ergonomic for devs, but you also get a performance boost 🚀
Learn more:
https://t.co/Qxd7KzMnSj
📝 The case against self-closing tags in HTML
At best, they're a relic from the past, and at worst, they're actively misleading.
https://t.co/U9Nf8Q9Hh5
And I’ll try to draw some diagrams to show how I visualize Server Actions in my head and how they work, as I saw some confusion around. There’re two ways of using Server Actions:
1. Define Server Actions in Server Components and pass them to Client Components via props...
Ever want to locally experiment with HTTP response headers? @ChromeDevTools can now override response headers incl. CORS! We also support adding custom headers 🥳
Learn more https://t.co/CqtIdeIak5
Want to optimize page interactivity?
A great guide to diagnose & fix long input delays & INP: https://t.co/69h6Q3rgdF
♻️ Be 🤔 of tasks your code kicks off
✂️ Break up long tasks
⏰ Prioritize 🔑 tasks: Scheduler API
👆 Yield to main 🧵: isInputPending
Introducing Magicast! 🧀🪄
It lets you modify a JS/TS file and write back magically, just like JSON! It could be helpful for tools to update your configs written in JS. 🛠️
Brilliant idea and kickstart from @_pi0_ 🔥
https://t.co/ER20TJL01J
Learn how to use `next/font` for automatic self-hosting of your custom font, increasing the privacy and performance of your site.
https://t.co/1TcGDJBlEx