fix(transformer): JSX source calculate correct column when Unicode chars#3615
Merged
graphite-app[bot] merged 1 commit intomainfrom Jun 11, 2024
Conversation
This was referenced Jun 10, 2024
Member
Author
CodSpeed Performance ReportMerging #3615 will not alter performanceComparing Summary
|
Contributor
Merge activity
|
…ars (#3615) Fix column number in JSX source transform, and add tests. It was correct in all cases, except for when a Unicode character with code point above `0xFFFF` appears earlier on the line. Such characters are: * 4 bytes in UTF-8. * 2 characters in UTF-16. * 1 `char` in Rust. Babel (which we're trying to match) uses count of UTF-16 characters for column number, whereas we were using count of Rust `char`s.
66ed8ed to
9e8f4d6
Compare
326d58e to
8d237c4
Compare
Member
|
We have the same logic here. Seems we need to add a common function to do it. oxc/crates/oxc_language_server/src/linter.rs Lines 373 to 382 in f9c08d1 |
This was referenced Jun 12, 2024
Closed
Merged
Boshen
added a commit
that referenced
this pull request
Jun 12, 2024
## [0.14.0] - 2024-06-12 ### Breaking * fix(codegen)!: remove the unecessary 4th argument from `Codegen::new` (#3640) * feat(ast)!: make `Trivias` clonable by adding `Arc` (#3638) ### Features - f6d9ca6 linter: Add `eslint/sort-imports` rule (#3568) (Wang Wenzhe) - 129f91e span: Port over more methods from TextRange (#3592) (Don Isaac) ### Bug Fixes - f8f6d33 ast: Correct `visited_node` attr for strict mode of arrow fns (#3635) (overlookmotel) - e6ad3fb diagnostics: Do not print ansi color codes in non-TTYs (#3624) (Boshen) - d65202d span: Correct doc comments (#3608) (overlookmotel) - 35e267b transformer: Arrow function transform use UIDs for `_this` vars (#3634) (overlookmotel) - 39bdebc transformer: Arrow func transform maintain scope ID (#3633) (overlookmotel) - 5cb7e6a transformer: Arrow func transform use correct spans (#3630) (overlookmotel) - 0c4ccb4 transformer: Arrow function transform alter `</this>` (#3627) (overlookmotel) - 8d237c4 transformer: JSX source calculate correct column when Unicode chars (#3615) (overlookmotel) - 9e8f4d6 transformer: Do not add `__source` for generated nodes (#3614) (overlookmotel) - 0fb4c35 transformer: Use UID for JSX source filename var (#3612) (overlookmotel) ### Performance - 3a59294 transformer: React display name transform reduce Atom allocations (#3616) (overlookmotel) - f4c1389 transformer: Create `Vec` with capacity (#3613) (overlookmotel) ### Refactor - 0f92521 ast: Replace recursion with loop (#3626) (overlookmotel) - 08f1010 ast: Make `AstBuilder` `Copy` (#3602) (overlookmotel) - 84304b4 linter: Add a `ctx.module_record()` method (#3637) (Boshen) - f98f777 linter: Add rule fixer (#3589) (Don Isaac) - e90e6a2 minifier: Make `Prepass` `Copy` (#3603) (overlookmotel) - 7d61832 semantic: Pass `Rc` by value (#3586) (overlookmotel) - 89bcbd5 transformer: Move `BoundIdentifier` into helpers (#3610) (overlookmotel) - 5793ff1 transformer: Replace `&’a Trivias` with `Rc<Trivias>` (#3580) (Dunqing) - 509871f transformer: Comment for unimplemented `spec` option in arrow fns transform (#3618) (overlookmotel) - 4b2e3a7 transformer: Fix indentation (#3617) (overlookmotel) - 3467e3d transformer: Remove outdated comment (#3606) (overlookmotel) - a799225 transformer: Flatten file structure for React transform (#3604) (overlookmotel) - 70f31a8 transformer: Reduce branching in JSX transform (#3596) (overlookmotel) - 3ae567d transformer: Remove dead code (#3588) (overlookmotel) - 60cbdec traverse: `generate_uid_in_root_scope` method (#3611) (overlookmotel) Co-authored-by: Boshen <[email protected]>
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.

Fix column number in JSX source transform, and add tests.
It was correct in all cases, except for when a Unicode character with code point above
0xFFFFappears earlier on the line.Such characters are:
charin Rust.Babel (which we're trying to match) uses count of UTF-16 characters for column number, whereas we were using count of Rust
chars.