fix: Replace Rollup with Webpack for client JS bundling #249
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is this?
The problem here is it's hard to get rollup to export our PercyAgent JS as a global on the
window
object. We addedextend: true
to the rollup config in #178 and thought that was the final fix. I wasn't thrilled that the compiled JS ended up beingthis.PercyAgent = ....
, but it was good enough.That is, until today. I was debugging snapshotting issues with a customer using the Capybara SDK. When we logged
this
from thedriver.execute_script
method, it returned a different library (Rollbar!!) and not thewindow
object like we assume.This PR replaces Rollup with Webpack because it's very easy to export directly to the
window
object. It also makes our testing more reliable since our test setup was using Webpack too. This now means our tests and prod code are being transpiled & bundled the same way.TL;DR: We go from this:
To this: