-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat(es/transformer): Merge object_rest_spread
#11357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
PR Review - feat(es/transformer): Merge
|
Binary Sizes
Commit: d651ed3 |
CodSpeed Performance ReportMerging #11357 will degrade performances by 6.31%Comparing Summary
Benchmarks breakdown
|
1bc1abe to
523105e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Migrate ES2018 object rest spread transformation from legacy VisitMut to the new VisitMutHook architecture for better composability and maintainability. Ported core transformation logic including object spread expressions, object rest patterns, and support for functions, arrows, constructors, catch clauses, and for-loops. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Pull Request Review: Merge object_rest_spreadSummaryThis PR successfully migrates the ES2018 object rest/spread transformation from the legacy Code Quality ✅Strengths:
Minor observations:
Performance Considerations ⚡Positives:
Potential Issues & Concerns 🔍1. ExprOutput::exprs type change (Minor)Location: In the new implementation, // Current (line 171):
let exprs = exprs.into_iter().map(Box::new).collect();2. Module export transformation logic (Moderate)Location: The transformation detection logic assumes that if let transformation_occurred = var_decl.decls.len() > 1 || !self.vars.is_empty();3. Error handling in ExprOutput::assign (Minor)Location: The if let Ok(target) = pat.try_into() {
self.exprs.push(/* ... */);
}
// Silently drops if conversion fails4. CI Failure (Critical)
|
No description provided.