Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Puppeteer Puppeteer Node 18 Runtime

From Leeroopedia
Knowledge Sources
Domains Infrastructure, Browser_Automation
Last Updated 2026-02-11 23:30 GMT

Overview

Node.js >= 18 runtime environment with TypeScript 4.7.4+ targeting ES2022, required for all Puppeteer packages.

Description

Puppeteer requires Node.js version 18 or later, following the Node.js LTS release schedule. The project is built with TypeScript 5.8.3 and targets ES2022 module output. All three main packages (puppeteer, puppeteer-core, and @puppeteer/browsers) enforce this minimum through their `engines` field in `package.json`.

Usage

This environment is required for any use of Puppeteer, whether launching browsers, connecting to existing instances, or managing browser installations. It applies to all workflows: screenshot capture, PDF generation, web scraping, request interception, and cross-browser automation.

System Requirements

Category Requirement Notes
Runtime Node.js >= 18 Follows Node.js LTS schedule
Language TypeScript >= 4.7.4 Only if using TypeScript; target ES2022 or later
Module System ES2022 modules Uses `moduleResolution: Bundler`
Package Manager npm, yarn, or pnpm Standard Node.js package managers

Dependencies

Core Packages

  • `puppeteer` = 24.37.2 — Full Puppeteer package (auto-downloads browser)
  • `puppeteer-core` = 24.37.2 — Core library without browser download
  • `@puppeteer/browsers` = 2.12.0 — Browser management CLI and API

Key Runtime Dependencies

  • `chromium-bidi` = 14.0.0 — WebDriver BiDi protocol implementation
  • `devtools-protocol` = 0.0.1566079 — Chrome DevTools Protocol types
  • `ws` >= 8.19.0 — WebSocket client for browser communication
  • `cosmiconfig` >= 9.0.0 — Configuration file loading (puppeteer package only)
  • `debug` >= 4.4.3 — Debug logging utility
  • `extract-zip` >= 2.0.1 — Archive extraction for browser downloads
  • `proxy-agent` >= 6.5.0 — HTTP/HTTPS proxy support for downloads
  • `typed-query-selector` >= 2.12.0 — Type-safe DOM query selectors

Credentials

No credentials are required for the base runtime. See Environment:Puppeteer_Puppeteer_Configuration_Environment_Variables for optional configuration variables.

Quick Install

# Install Puppeteer (auto-downloads Chrome for Testing)
npm install puppeteer

# Or install puppeteer-core only (no browser download)
npm install puppeteer-core

Code Evidence

Engine constraint from `packages/puppeteer/package.json:35-37`:

"engines": {
  "node": ">=18"
}

TypeScript target from `tsconfig.base.json:30`:

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ES2022",
    "moduleResolution": "Bundler",
    "strict": true
  }
}

Pinned browser versions from `packages/puppeteer-core/src/revisions.ts:10-14`:

export const PUPPETEER_REVISIONS = Object.freeze({
  chrome: '145.0.7632.46',
  'chrome-headless-shell': '145.0.7632.46',
  firefox: 'stable_147.0.3',
});

Common Errors

Error Message Cause Solution
`Unsupported engine: node` Node.js version < 18 Upgrade to Node.js 18 or later
`SyntaxError: Unexpected token` TypeScript target too old Set `target: "ES2022"` in tsconfig.json
`Cannot find module` Missing dependencies Run `npm install` to install all dependencies

Compatibility Notes

  • Node.js 18+: All Puppeteer packages require Node.js 18 as the minimum version. Node.js 16 and earlier are not supported.
  • TypeScript: Optional, but if used must be >= 4.7.4 with ES2022 target. The project itself uses TypeScript 5.8.3.
  • ESM/CJS: Puppeteer ships both ESM and CommonJS builds. ESM is the primary format.
  • Browser Environment: `puppeteer-core` has a browser-specific entry point (`index-browser.ts`) with limited functionality for use in browser extensions.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment