cloudflare/puppeteer

[Bug]: Unable to run @cloudflare/puppeteer in edge environment

Closed this issue · 1 comments

Bug description

Steps to reproduce the problem:

  1. Use @cloudflare/next-on-pages package to deploy a Next.js application as full-stack using the edge runtime
  2. Change all endpoints to use the edge runtime
  3. Instead of using the original puppeteer library, use the @cloudflare/puppeteer that should be supported in an edge runtime
  4. build app using npx @cloudflare/next-on-pages@1

Puppeteer version

0.0.5

Node.js version

18.12

npm version

8.19.2

What operating system are you seeing the problem on?

macOS

Relevant log output

▲  Module build failed: UnhandledSchemeError: Reading from "node:stream" is not handled by plugins (Unhandled scheme).
▲  Webpack supports "data:" and "file:" URIs by default.
▲  You may need an additional plugin to handle "node:" URIs.
▲  at node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0.../node_modules/next/dist/compiled/webpack/bundle5.js:28:399772
▲  at Hook.eval [as callAsync] (eval at create (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:13:28867), <anonymous>:6:1)
▲  at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:13:26021)
▲  at Object.processResource (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:28:399697)
▲  at processResource (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/loader-runner/LoaderRunner.js:1:5308)
▲  at iteratePitchingLoaders (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/loader-runner/LoaderRunner.js:1:4667)
▲  at runLoaders (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/loader-runner/LoaderRunner.js:1:8590)
▲  at NormalModule._doBuild (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:28:399559)
▲  at NormalModule.build (.../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:28:401587)
▲  at .../node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/bundle5.js:28:81981
▲  
▲  Import trace for requested module:
▲  node:stream
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/util.js
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/BrowserConnector.js
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/Puppeteer.js
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/puppeteer-core.js
▲  ./app/api/get-resume/route.tsx
▲  ./node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fget-resume%2Froute&page=%2Fapi%2Fget-resume%2Froute&pagePath=private-next-app-dir%2Fapi%2Fget-resume%2Froute.tsx&appDir=%2F%2Fapp&appPaths=%2Fapi%2Fget-resume%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/api/get-resume/route.tsx?__next_edge_ssr_entry__
▲  
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/ElementHandle.js:516:25
▲  Module not found: Can't resolve 'path'

▲  https://nextjs.org/docs/messages/module-not-found

▲  Import trace for requested module:
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/QueryHandler.js
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/puppeteer-core.js
▲  ./app/api/get-resume/route.tsx
▲  ./node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/loaders/next-edge-app-route-loader/index.js?absolutePagePath=private-next-app-dir%2Fapi%2Fget-resume%2Froute.tsx&page=%2Fapi%2Fget-resume%2Froute&appDirLoader=bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2U9JTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlLnRzeCZhcHBEaXI9JTJGVXNlcnMlMkZsa29yb2xpamElMkZjb2RlJTJGcGVyc29uYWwlMkZwcm9maWxlLWNoYXRib3QlMkZhcHAmYXBwUGF0aHM9JTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEIQ%3D%3D&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!

▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/IsolatedWorld.js:251:28
▲  Module not found: Can't resolve 'fs'
▲  
▲  https://nextjs.org/docs/messages/module-not-found
▲  
▲  Import trace for requested module:
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/common/QueryHandler.js
▲  ./node_modules/.pnpm/@cloudflare+puppeteer@0.0.5/node_modules/@cloudflare/puppeteer/lib/esm/puppeteer/puppeteer-core.js
▲  ./app/api/get-resume/route.tsx
▲  ./node_modules/.pnpm/next@13.4.12_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/loaders/next-edge-app-route-loader/index.js?absolutePagePath=private-next-app-dir%2Fapi%2Fget-resume%2Froute.tsx&page=%2Fapi%2Fget-resume%2Froute&appDirLoader=bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2U9JTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlLnRzeCZhcHBEaXI9JTJGVXNlcnMlMkZsa29yb2xpamElMkZjb2RlJTJGcGVyc29uYWwlMkZwcm9maWxlLWNoYXRib3QlMkZhcHAmYXBwUGF0aHM9JTJGYXBpJTJGZ2V0LXJlc3VtZSUyRnJvdXRlJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEIQ%3D%3D&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!> Build failed because of webpack errors

Did you turn on node_compatibility? Check here for instructions.