fix: Build PercyAgent
code that's inject in browser as iife
#176
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?
We rely on the agent code we inject into the browser to be globally available on the window. There's no reason we need to distribute the code we inject into the browser as a universal module.
There are some cases where the site we inject the current agent code into that defines one of these modules (could be cjs, amd, or even the es6 module format). When that case happens it breaks out SDKs because
PercyAgent
is not defined.This commit changes the build to output an immediately invoked function, which will always expose agent as a global.