Skip to content
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

Enhancement/chai upgrade #1711

Draft
wants to merge 40 commits into
base: main
Choose a base branch
from
Draft

Enhancement/chai upgrade #1711

wants to merge 40 commits into from

Conversation

merryman
Copy link
Member

@merryman merryman commented Feb 7, 2025

Can be merged as soon as #1710 has been merged.

Previously some weirdly formatted es modules from esm servers would not be categorized correctly.
Issue that happens if a local variable in a module has the same name as its exported alias, which the transformed code previously would cause to be overridden. This only works with the babel transform for now.
Previously would return the wrong expression for export {} statements that were directly adjacent to another object expression.
Previously we would consider if/else blocks to be of the same scope as the aprent, leading to incorrect transformations in case of let and const statements.
Merge the var and ref replacement and the import export traversal into single passes.
The key is here to make the node functions parametrized, so that depending on the underlying AST system different nodes can be created by the same transform.
Was needed due to to the changes in the class transform that preserves the class name as a binding during class initialization.
Since babel.js has a bunch of circular imports it has weird importing specific code that checks if modules have been already initialized. We introduce a method called bulletProofNamespace() which helps us to adjust these error checking codes such that they work in split bundles.
The transpiler initialization needed to be adjusted.
Due to the upgrade in chai, we no longer have the chai subset convenience methods, so these need to be added by a custom 3rd party package.
This is nessecary due to the chai upgrade.
Due to upgrding chai, the comparison function that compares structs did not work any more since it started to compare prototypes as well. Wrapping the compared objects in JSON.parse/stringify seems to solve the issue.
@merryman merryman requested a review from linusha February 10, 2025 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant