October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Use Source Maps in Puppeteer

Puppeteer does not enable source maps itself. Configure your build to emit maps, use Chrome DevTools for page code, and the Node inspector for automation scripts.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To debug browser code with source maps in Puppeteer, make your build produce a usable source map, launch Puppeteer with DevTools enabled, and let Chrome DevTools load the map. Puppeteer has no source-map switch: it controls the browser, while your compiler or bundler creates the map and DevTools uses it to show authored files. Node.js automation code is a separate debugging target and needs the Node inspector.

First, identify which code you need to debug

A Puppeteer session involves two execution contexts. Browser or client code runs on the page; Node.js or server code runs in your automation script. Puppeteer’s debugging guide draws this distinction explicitly, and a map loaded by Chrome DevTools for the page does not by itself remap Node.js stack traces: Puppeteer debugging guide.

Target Where it runs Where to pause Mapping mechanism
Page code, such as JavaScript compiled from TypeScript In the browser page Chrome DevTools Sources, or a debugger statement executed in the page Client-side source map loaded by DevTools
Puppeteer automation script In Node.js Node inspector attached to the script Node-side source-map support if original-file stack traces are needed

Debug browser-side code with Puppeteer

1. Make the build emit a usable source map

Configure the project’s compiler, bundler, or minifier to generate a source map. TypeScript, Babel, Terser, Webpack, Vite, esbuild, and Parcel are among the tools Chrome lists as common map producers. The exact setting depends on your build tool and project configuration; there is no universal Puppeteer setting for this.

  • Keep the generated JavaScript and its map paired.
  • Make sure the generated file’s sourceMappingURL points to a map that the browser or DevTools can retrieve.
  • For a local debugging build, verify that the map’s original-source paths resolve as intended.
  • If you do not want to publish source maps with a production deployment, use a local debugging build or DevTools’ manual map workflow rather than assuming public deployment is required.

Chrome’s source-map documentation explains how DevTools presents authored code while the browser executes processed JavaScript: Chrome DevTools: JavaScript source maps.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

2. Launch the page with DevTools and pause in the page context

Install Puppeteer in your project if it is not already installed, then save this as a Node.js script and run it. Replace the URL with your local page. The debugger statement must execute inside page code; placing it in a page.evaluate() callback pauses the browser-side execution.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ devtools: true });
  const page = await browser.newPage();

  page.on('console', msg => console.log('PAGE LOG:', msg.text()));
  await page.goto('http://localhost:3000');

  await page.evaluate(() => {
    debugger;
    // Replace with browser-side code you need to inspect.
    document.querySelector('body');
  });
})();

With DevTools open, use the Sources panel to find the authored file and set a breakpoint there. Once the map loads, DevTools maps the debugging location to the generated code the browser actually runs. The console listener is optional; it forwards page console.* messages to the Node terminal, where they do not appear automatically.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

3. Check whether DevTools loaded the map

  1. In DevTools, open Settings > Preferences > Sources and enable JavaScript source maps.
  2. Open More tools > Developer Resources.
  3. Check the map’s Status and Error columns. DevTools normally attempts to load maps when it opens.
  4. Return to Sources, open the authored file, and place a breakpoint on the relevant line.

If the map request fails across origins, try Load through website in Developer Resources. If that does not work, host the map locally, open the processed file in Sources, right-click it, choose Add source map, enter the map URL, and check whether the authored file appears in the file tree. Chrome notes that DevTools’ own request for a map can run into cross-origin handling; these labels reflect the documented workflow and may vary if DevTools’ UI changes.

Debug the Node.js Puppeteer script separately

If the breakpoint belongs to your automation script—for example, the line before an awaited page.click()—attach a Node inspector. This is not the same as pausing browser code in page.evaluate().

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
  1. Set headless: false in your launch options.
  2. Put a debugger; statement in the Node.js script where you want execution to pause.
  3. Start the script with node --inspect-brk path/to/script.js.
  4. Open chrome://inspect/#devices in Chrome or Chromium, select the inspected target, and resume with F8.

For TypeScript-transpiled Node programs, source-map-support documentation describes installing its handler or preloading source-map-support/register so stack traces can refer to original files. This is a Node-side option, not a requirement for Chrome DevTools to map browser code. Check its compatibility with your Node version and build setup.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot source maps and Puppeteer debugging

Sources shows only a bundle

  • Confirm JavaScript source maps are enabled in DevTools preferences.
  • Check that the map file exists and the generated JavaScript points to it through a resolvable sourceMappingURL.
  • Use Developer Resources to read the map’s status and error; fix the reported URL or access issue.

The map request has a cross-origin error

Try Load through website in Developer Resources. If the request still fails, use the documented manual method: host a local map, open the generated file in Sources, right-click, choose Add source map, and supply the map URL.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

A browser breakpoint does not pause

Check that the code path actually runs and that the breakpoint or debugger statement is in the page context. A debugger inside the callback passed to page.evaluate() pauses browser execution only when that callback executes.

Node stack traces still show generated JavaScript

Chrome’s browser-side source-map view does not automatically rewrite Node.js stack traces. Configure Node-side source-map support if you need TypeScript’s original filenames and locations in those traces.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

An awaited Puppeteer call appears stuck

Inspect browser.debugInfo.pendingProtocolErrors for pending protocol errors and their stack traces. If more detail is needed, Puppeteer documents NODE_DEBUG="puppeteer:*" for protocol logs; enable it selectively because logs can contain sensitive data.

Page logs do not appear in the terminal

Forward them with page.on('console', msg => console.log('PAGE LOG:', msg.text())). Browser console messages are not automatically printed to Node’s console.

Or skip the browser setup

If what you need is a screenshot of the page rather than an interactive source-map debugging session, ScreenshotNeo can capture it with one GET request. This does not replace DevTools or map source locations; it is an option for obtaining the page image or PDF without setting up Puppeteer in your own script.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. Before capture, it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sign up for ScreenshotNeo’s free plan to try 1,000 screenshots a month without a card.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.