berstend / puppeteer-extra

💯 Teach puppeteer new tricks through plugins.
https://extra.community
MIT License
6.23k stars 732 forks source link

fix(plugin-recaptcha): Enhance esbuild transpilation support of content scripts #763

Closed transitive-bullshit closed 1 year ago

transitive-bullshit commented 1 year ago

This PR builds on https://github.com/berstend/puppeteer-extra/pull/758

It also fixes a fix to workaround esbuild's __name semantics: https://github.com/esbuild-kit/tsx/issues/113

The author of esbuild recommends against calling toString() on a function or class as this library is doing and instead creating a separate build for these entrypoints. This results in a lot more deterministic functionality, but that would also involve a larger PR.

So for now, this is the minimal amount of code changes to get puppeteer-extra-plugin-recaptcha's injected content scripts to work when used in an application that's compiled using esbuild.

I ran into this issue while building the chatgpt node.js wrapper, which uses uses tsx to transpile TS to JS on-the-fly (using esbuild under the hood).

Also just wanted to say hey @berstend 👋 I remember working with you a bit years ago back in the early days of this project. Really really impressive to see how far it's come 🔥

Thanks for all your hard work && cheers, -- Travis

berstend commented 1 year ago

Hey @transitive-bullshit 😄👋 your early feedback was instrumental to make this project fly, thanks again :)

I'll merge this PR (thanks!) in after #758 from @igalklebanov to help with the attribution

berstend commented 1 year ago
Successfully published:
 - puppeteer-extra-plugin-recaptcha@3.6.8