Skip to content

Comments

fix(transformer/react): the refresh plugin cannot handle member expressions with React hooks#5655

Merged
graphite-app[bot] merged 1 commit intomainfrom
09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks
Sep 11, 2024
Merged

fix(transformer/react): the refresh plugin cannot handle member expressions with React hooks#5655
graphite-app[bot] merged 1 commit intomainfrom
09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks

Conversation

@Dunqing
Copy link
Member

@Dunqing Dunqing commented Sep 9, 2024

The previous implementation doesn't handle nested StaticMemberExpression. For example: A.B.C.useHook.

@github-actions github-actions bot added the A-transformer Area - Transformer / Transpiler label Sep 9, 2024
@Dunqing Dunqing force-pushed the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch from e3bb2bc to 5759d2b Compare September 9, 2024 15:27
@graphite-app
Copy link
Contributor

graphite-app bot commented Sep 9, 2024

Your org has enabled the Graphite merge queue for merging into main

Add the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix.

You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.

@codspeed-hq
Copy link

codspeed-hq bot commented Sep 9, 2024

CodSpeed Performance Report

Merging #5655 will not alter performance

Comparing 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks (3e8b96f) with main (b8f8dd6)

Summary

✅ 29 untouched benchmarks

@Dunqing Dunqing force-pushed the 09-09-fix_transformer_react_don_t_transform_declaration_of_function_overloads branch from a4e0c52 to 40f245b Compare September 9, 2024 15:41
@Dunqing Dunqing force-pushed the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch from 5759d2b to 413d918 Compare September 9, 2024 15:41
@Dunqing Dunqing force-pushed the 09-09-fix_transformer_react_don_t_transform_declaration_of_function_overloads branch from 40f245b to 1ef58fe Compare September 10, 2024 06:20
@Dunqing Dunqing force-pushed the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch from 413d918 to 8c7b570 Compare September 10, 2024 06:21
@Boshen Boshen added the 0-merge Merge with Graphite Merge Queue label Sep 11, 2024 — with Graphite App
@Boshen Boshen force-pushed the 09-09-fix_transformer_react_don_t_transform_declaration_of_function_overloads branch from 1ef58fe to 85fedbd Compare September 11, 2024 07:17
@Boshen Boshen force-pushed the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch from 8c7b570 to 10a50a2 Compare September 11, 2024 07:18
@graphite-app
Copy link
Contributor

graphite-app bot commented Sep 11, 2024

Merge activity

…ssions with React hooks (#5655)

The previous implementation doesn't handle nested StaticMemberExpression. For example: `A.B.C.useHook`.
@Boshen Boshen force-pushed the 09-09-fix_transformer_react_don_t_transform_declaration_of_function_overloads branch from 85fedbd to 0739b5f Compare September 11, 2024 07:58
@Boshen Boshen force-pushed the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch from 10a50a2 to 3e8b96f Compare September 11, 2024 07:59
Base automatically changed from 09-09-fix_transformer_react_don_t_transform_declaration_of_function_overloads to main September 11, 2024 08:05
@graphite-app graphite-app bot merged commit 3e8b96f into main Sep 11, 2024
@graphite-app graphite-app bot deleted the 09-09-fix_transformer_react_the_refresh_plugin_cannot_handle_member_expressions_with_react_hooks branch September 11, 2024 08:07
Boshen added a commit that referenced this pull request Sep 11, 2024
## [0.28.0] - 2024-09-11

- afc4548 ast: [**BREAKING**] Educe byte size of
`TaggedTemplateExpression::quasi` by `Boxing` it (#5679) (Boshen)

- 7415e85 ast: [**BREAKING**] Reduce byte size of
`TSImportType::attributes` by `Box`ing it (#5678) (Boshen)

- ee4fb42 ast: [**BREAKING**] Reduce size of `WithClause` by `Box`ing it
(#5677) (Boshen)

- 1fa3e56 semantic: [**BREAKING**] Rename `SymbolTable::iter` to
`symbol_ids` (#5621) (overlookmotel)

- 96a1552 semantic: [**BREAKING**] Remove `SymbolTable::iter_rev`
(#5620) (overlookmotel)

- 4a8aec1 span: [**BREAKING**] Change `SourceType::js` to
`SourceType::cjs` and `SourceType::mjs` (#5606) (Boshen)

- 603817b oxc: [**BREAKING**] Add `SourceType::Unambiguous`; parse `.js`
as unambiguous (#5557) (Boshen)

- b060525 semantic: [**BREAKING**] Remove `source_type` argument from
`SemanticBuilder::new` (#5553) (Boshen)

### Features

- 2da5ad1 ast: Add `JSXElementName::get_identifier` method (#5556)
(overlookmotel)
- 2016bae coverage: Add regular expression idempotency test (#5676)
(Boshen)
- 68c3cf5 minifier: Fold `void 1` -> `void 0` (#5670) (Boshen)
- c6bbf94 minifier: Constant fold unary expression (#5669) (Boshen)
- 86256ea minifier: Constant fold `typeof` (#5666) (Boshen)
- e698418 napi/transform: Align output `SourceMap` with Rollup's
`ExistingRawSourceMap` (#5657) (Boshen)
- aba9194 napi/transform: Export react refresh options (#5533)
(underfin)
- 642295c semantic: Add `SymbolTable::delete_resolved_reference` method
(#5558) (overlookmotel)
- b3cbd56 span: `format_compact_str!` macro (#5610) (overlookmotel)
- 95a6d99 transformer: Enable the react refresh plugin in enable_all
(#5630) (Dunqing)
- 7b543df transformer/react: Handle `refresh_sig` and `refresh_reg`
options correctly (#5638) (Dunqing)
- 17226dd traverse: Add methods for deleting references (#5559)
(overlookmotel)

### Bug Fixes

- d62defb codegen: Do not print trailing commas for `ArrayExpression`
(#5551) (Boshen)
- 1bc08e2 coverage: Parse babel unambiguously (#5579) (Boshen)
- 28b934c coverage: Apply `always_strict` to test262 and typescript per
the specifcation (#5555) (Boshen)
- b9bf544 isolated-declarations: False positive for setter method in
`interface` (#5681) (Dunqing)
- 6e8409a isolated-declarations: Bindings referenced in
`TSModuleDeclaration` are removed incorrectly (#5680) (Dunqing)
- b8f8dd6 minifier/replace_global_defines: Do not replace shadowed
identifiers (#5691) (Boshen)
- 304ce25 regular_expression: Keep LegacyOctalEscape raw digits for
`to_string` (#5692) (leaysgur)
- 0511d55 regular_expression: Report more MayContainStrings error in
(nested)class (#5661) (leaysgur)
- 41582ea regular_expression: Improve RegExp `to_string()` results
(#5635) (leaysgur)
- 28aad28 regular_expression: Handle `-` in `/[\-]/u` as escaped
character (#5631) (leaysgur)
- f9e3a41 semantic: Bind `SymbolId` to function name in `if (foo)
function id() {}` (#5673) (Boshen)
- f49e6eb span: Treat `.js` as `module` file (reverts the previous
breaking change) (#5612) (Boshen)
- 919d17f transform_conformance: Only print semantic mismatch errors
when output is correct (#5589) (Boshen)
- 505d064 transformer: JSX transform delete references for
`JSXClosingElement`s (#5560) (overlookmotel)
- 9b7ecc7 transformer: RegExp transform only set span on final
expression (#5508) (overlookmotel)
- d1ece19 transformer: RegExp transform handle `Term::Quantifier`
(#5501) (overlookmotel)
- a1afd48 transformer/react: Incorrect scope_id for var hoisted in fast
refresh plugin (#5695) (Dunqing)
- f2f5e5a transformer/react: Missing scope_id for function in fast
refresh plugin (#5693) (Dunqing)
- a891c31 transformer/react: Refresh plugin has incorrect reference
flags (#5656) (Dunqing)
- 3e8b96f transformer/react: The refresh plugin cannot handle member
expressions with React hooks (#5655) (Dunqing)
- 0739b5f transformer/react: Don't transform declaration of function
overloads (#5642) (Dunqing)
- 3bf6aaf transformer/react: Support `emit_full_signatures` option in
refresh plugin (#5629) (Dunqing)
- 36d864a transformer/react: Don't transform if the variable does not
have a value reference (#5528) (Dunqing)

### Performance

- e8013d2 traverse: Faster string operations generating UIDs (#5626)
(overlookmotel)
- 4996874 traverse: `generate_uid` cache available binding names (#5611)
(overlookmotel)

### Documentation

- fefbbc1 sourcemap: Add trailing newline to README (#5539)
(overlookmotel)
- 9282647 transformer: Comment on RegExp transform for potential
improvement (#5514) (overlookmotel)
- 1c051ae traverse: Correct code comment 2 (#5607) (overlookmotel)
- 2e24a15 traverse: Correct code comment (#5604) (overlookmotel)

### Refactor

- 14ee086 ast: Inline `AstKind::as_*` methods (#5547) (overlookmotel)
- 2de6ea0 index, traverse: Remove unnecessary type annotations (#5650)
(overlookmotel)
- 0ac420d linter: Use meaningful names for diagnostic parameters (#5564)
(Don Isaac)
- 2da42ef regular_expression: Improve AST docs with refactoring
may_contain_strings (#5665) (leaysgur)
- dec1395 regular_expression: Align diagnostics (#5543) (leaysgur)
- 731ffaa semantic: Compare nodes by pointer equality (#5686)
(overlookmotel)
- 067f9b5 semantic: Introduce `IsGlobalReference` trait (#5672) (Boshen)
- d22a9b7 semantic: `SymbolTable::is_empty` use `is_empty` (#5622)
(overlookmotel)
- 3d190a5 span: Move `CompactStr` into separate file (#5609)
(overlookmotel)
- 5532628 span: Put types and impl in the same mod file (Boshen)
- ce71982 transformer: Shorten code in JSX transform (#5554)
(overlookmotel)
- 758a10c transformer: RegExp transform reuse var (#5527)
(overlookmotel)
- fad0a05 transformer: RegExp transform unbox early (#5504)
(overlookmotel)
- 19cdcc5 traverse: Revert changes to `walk.rs` (#5652) (overlookmotel)-
26d9235 Enable clippy::ref_as_ptr (#5577) (夕舞八弦)

### Styling

- e52d006 traverse: Fix formatting of traverse codegen (#5651)
(overlookmotel)
- 97e99bd traverse: Remove excess line break (#5603) (overlookmotel)-
694f032 Add trailing line breaks to `package.json` files (#5542)
(overlookmotel)

### Testing

- 2e367c9 traverse: Enable tests for `oxc_traverse` crate (#5625)
(overlookmotel)- dc92489 Add trailing line breaks to conformance
fixtures (#5541) (overlookmotel)

---------

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0-merge Merge with Graphite Merge Queue A-transformer Area - Transformer / Transpiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants