Refactor to reduce Rollup 5 upgrade diff#6246
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Thank you for your contribution! ❤️You can try out this pull request locally by installing Rollup via npm install rollup/rollup#refactor-for-rollup-5Notice: Ensure you have installed the latest nightly Rust toolchain. If you haven't installed it yet, please see https://www.rust-lang.org/tools/install to learn how to download Rustup and install Rust. or load it into the REPL: |
Performance report
|
There was a problem hiding this comment.
Pull request overview
Refactors TypeScript class property declarations to more closely match the Rollup 5 code style by replacing declare properties with definite assignment assertions (!:), aiming to reduce the eventual Rollup 5 upgrade diff.
Changes:
- Replaced many
declareclass properties with definite assignment assertions (!:) across AST nodes, scopes, variables, andModule. - Minor import cleanup in
UpdateExpression. package-lock.jsonupdated with substantial metadata/structure churn.
Reviewed changes
Copilot reviewed 83 out of 84 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/ast/variables/NamespaceVariable.ts | Converts declare properties to !: for Rollup 5 alignment. |
| src/ast/scopes/ModuleScope.ts | Converts declare property to !: for Rollup 5 alignment. |
| src/ast/nodes/shared/Node.ts | Converts core node declare properties to !:. |
| src/ast/nodes/shared/MethodBase.ts | Converts declare properties to !:. |
| src/ast/nodes/shared/JSXElementBase.ts | Converts declare property to !:. |
| src/ast/nodes/shared/FunctionNode.ts | Converts declare properties to !:. |
| src/ast/nodes/shared/FunctionBase.ts | Converts declare properties to !:. |
| src/ast/nodes/shared/ClassNode.ts | Converts declare properties to !:. |
| src/ast/nodes/shared/CallExpressionBase.ts | Converts declare property to !:. |
| src/ast/nodes/YieldExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/WhileStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/VariableDeclarator.ts | Converts declare properties to !:. |
| src/ast/nodes/VariableDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/UpdateExpression.ts | Converts declare properties to !: and removes an unused type import. |
| src/ast/nodes/UnaryExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/TryStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ThrowStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ThisExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/TemplateLiteral.ts | Converts declare properties to !:. |
| src/ast/nodes/TemplateElement.ts | Converts declare properties to !:. |
| src/ast/nodes/TaggedTemplateExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/SwitchStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/SwitchCase.ts | Converts declare properties to !:. |
| src/ast/nodes/Super.ts | Converts declare properties to !:. |
| src/ast/nodes/StaticBlock.ts | Converts declare properties to !:. |
| src/ast/nodes/SpreadElement.ts | Converts declare properties to !:. |
| src/ast/nodes/SequenceExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/ReturnStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/RestElement.ts | Converts declare properties to !:. |
| src/ast/nodes/PropertyDefinition.ts | Converts declare properties to !:. |
| src/ast/nodes/Property.ts | Converts declare properties to !: and updates commented placeholders. |
| src/ast/nodes/Program.ts | Converts declare properties to !:. |
| src/ast/nodes/PrivateIdentifier.ts | Converts declare properties to !:. |
| src/ast/nodes/ParseError.ts | Converts declare properties to !:. |
| src/ast/nodes/PanicError.ts | Converts declare properties to !:. |
| src/ast/nodes/ObjectPattern.ts | Converts declare properties to !:. |
| src/ast/nodes/ObjectExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/NewExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/MethodDefinition.ts | Converts declare properties to !:. |
| src/ast/nodes/MetaProperty.ts | Converts declare properties to !:. |
| src/ast/nodes/MemberExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/LogicalExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/Literal.ts | Converts declare properties to !:. |
| src/ast/nodes/LabeledStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportSpecifier.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportNamespaceSpecifier.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportDefaultSpecifier.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/ImportAttribute.ts | Converts declare properties to !:. |
| src/ast/nodes/IfStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/FunctionExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/FunctionDeclaration.ts | Converts declare property to !:. |
| src/ast/nodes/ForStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ForOfStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ForInStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ExpressionStatement.ts | Converts declare property to !:. |
| src/ast/nodes/ExportSpecifier.ts | Converts declare properties to !:. |
| src/ast/nodes/ExportNamedDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/ExportDefaultDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/ExportAllDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/EmptyStatement.ts | Converts declare property to !:. |
| src/ast/nodes/DoWhileStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/Decorator.ts | Converts declare properties to !:. |
| src/ast/nodes/DebuggerStatement.ts | Converts declare property to !:. |
| src/ast/nodes/ContinueStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/ConditionalExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/ClassExpression.ts | Converts declare property to !:. |
| src/ast/nodes/ClassDeclaration.ts | Converts declare properties to !:. |
| src/ast/nodes/ClassBody.ts | Converts declare properties to !:. |
| src/ast/nodes/ChainExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/CatchClause.ts | Converts declare properties to !:. |
| src/ast/nodes/CallExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/BreakStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/BlockStatement.ts | Converts declare properties to !:. |
| src/ast/nodes/BinaryExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/AwaitExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/AssignmentPattern.ts | Converts declare properties to !:. |
| src/ast/nodes/AssignmentExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/ArrowFunctionExpression.ts | Converts declare properties to !:. |
| src/ast/nodes/ArrayPattern.ts | Converts declare properties to !:. |
| src/ast/nodes/ArrayExpression.ts | Converts declare properties to !:. |
| src/Module.ts | Converts declare properties to !: on the Module class. |
| package-lock.json | Lockfile rewritten/normalized with many metadata/flag changes. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6246 +/- ##
=======================================
Coverage 98.83% 98.83%
=======================================
Files 273 273
Lines 10692 10692
Branches 2849 2849
=======================================
Hits 10567 10567
Misses 82 82
Partials 43 43 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
The AI has some good points, I thought they would be mostly equivalent. I guess I will instead refactor in the Rollup-5 branch |
64024fc to
9eec19b
Compare
|
This PR has been released as part of [email protected]. You can test it via |
This PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
Description
In order to reduce the friction in the code base for the Rollup 5 update, this refactors to consistently use declare over "!".