Change all octothorpes # to _ since private # is only >=ES2022#1319
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR addresses build failures users experienced when upgrading to v3.0.0-beta.2 by replacing ES2022 private class syntax (#) with underscore convention (_) for backward compatibility. The changes ensure the SDK can be processed by bundlers without requiring additional Babel plugins that users may not have configured.
- Replaces all private class fields and methods using
#syntax with underscore convention - Maintains the same encapsulation pattern while ensuring ES2021 compatibility
- Fixes build errors in Next.js, Vite, and custom Webpack configurations
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/tracing/session.js | Converts #attributes private field to _attributes and updates all references |
| src/telemetry.js | Converts private methods #getRepeatedEvent, #updateRepeatedEvent, and #lastEvent to underscore convention |
| src/browser/replay/replayManager.js | Converts all private fields (#map, #recorder, #api, #tracing, #telemeter) to underscore convention |
| src/browser/replay/recorder.js | Converts private fields (#options, #rrwebOptions, #stopFn, #recordFn, #events) to underscore convention |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
waltjones
approved these changes
Sep 19, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of the change
Users upgrading to v3.0.0-beta.2 encountered build failures with the following error:
This occurred when bundlers (like Next.js, Vite, or custom Webpack configs) attempted to process our source files that contained ES2022 private class fields and methods (
#privateField).Since our SDK transpiles ES2021 into ES5 for broad compatibility, we cannot use syntax that requires additional Babel plugins that users may not have configured.
This PR replaces all private class syntax (
#) with the underscore convention (_) to maintain backward compatibility while preserving the intended encapsulation pattern.Type of change
Related issues