#505·pollyjs

Issue attaching to puppeteer. Emitter undefined.

Author: vegetablesaladCreated Mar 3, 2025Updated Mar 3, 2025

Using just the default example:

javascript
import { Polly } from '@pollyjs/core';
import PuppeteerAdapter from '@pollyjs/adapter-puppeteer';
import FSPersister from '@pollyjs/persister-fs';
import puppeteer from 'puppeteer';

Polly.register(PuppeteerAdapter);
Polly.register(FSPersister);

(async function main() {
  const browser = await puppeteer.launch({
    headless:false
  });

  const page = await browser.newPage();

  if(page){
    const polly = new Polly('My E2E Session', {
      adapters: ['puppeteer'],
      persister: 'fs',
      adapterOptions: {
        puppeteer: {
          page /* <--- crucial: pass the Puppeteer page here */
        }
      }
    });
  }

  // Now polly can properly hook into Puppeteer’s network
  // ...
})();

Error message:

/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:220
        const all = this.emitter.all;
                                 ^
TypeError: Cannot read properties of undefined (reading 'all')
    at CdpPage.apply (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:220:34)
    at PuppeteerAdapter._callListenersWith (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:237:12)
    at PuppeteerAdapter.attachToPageEvents (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:137:10)
    at PuppeteerAdapter.onConnect (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter-puppeteer/src/index.js:39:10)
    at PuppeteerAdapter.connect (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/adapter/src/index.js:48:12)
    at Polly.connectTo (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:297:13)
    at forEach (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:172:52)
    at Array.forEach (<anonymous>)
    at Polly.configure (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:172:26)
    at new Polly (/Users/usr/projects/REDACTED/REDACTED/REDACTED-monorepo/node_modules/@pollyjs/core/src/polly.js:47:10)

Versions:

    "puppeteer": "^24.3.0",
    "puppeteer-core": "^24.3.0",
    "@pollyjs/adapter-puppeteer": "^6.0.6",
    "@pollyjs/core": "^6.0.6",
    "@pollyjs/persister-fs": "^6.0.6",

I tried this in a completely fresh project. And even tried two example projects with similar integrations. Both have this issue!