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

fix(es/minifier): Make sequential inliner respect resolution order #6509

Merged
merged 32 commits into from Nov 29, 2022

Conversation

kdy1
Copy link
Member

@kdy1 kdy1 commented Nov 25, 2022

Description:

Related issue:


Investigation

This requires inline, sequences and conditional

obj of MemberExpr is resolved first

So the code below is invalid, because fragments of fragments[...]` is undefined, even if it's reassigned

image

@kdy1 kdy1 added this to the Planned milestone Nov 25, 2022
@kdy1 kdy1 self-assigned this Nov 25, 2022
@kdy1 kdy1 changed the title fix(es/minifier): Fix react-joyride fix(es/minifier): Make sequential inliner respect resolution order Nov 25, 2022
@kdy1 kdy1 requested a review from jridgewell November 25, 2022 05:01
@kdy1 kdy1 marked this pull request as ready for review November 25, 2022 05:01
kodiakhq[bot]
kodiakhq bot previously approved these changes Nov 25, 2022
Copy link
Member Author

@kdy1 kdy1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

swc-bump:

  • swc_ecma_minifier

// See https://github.com/swc-project/swc/pull/6509

// We check only for an identifier because resolution is the problematic part.
// Evalutation order is not a problem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this true? Wouldn't (1, obj)[obj = {}, 'key'] hit the same problem?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I was wrong. Nice catch, and thank you!

@kdy1 kdy1 enabled auto-merge (squash) November 29, 2022 02:49
Copy link
Collaborator

@swc-bot swc-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review comment generated by auto-rebase script

Copy link
Collaborator

@swc-bot swc-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review comment generated by auto-rebase script

@kdy1 kdy1 merged commit 27ae59e into swc-project:main Nov 29, 2022
@kdy1 kdy1 deleted the min-joyride branch November 29, 2022 04:50
@kdy1 kdy1 modified the milestones: Planned, v1.3.21 Nov 30, 2022
@swc-project swc-project locked as resolved and limited conversation to collaborators Dec 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

swc minifier breaks react-joyride
3 participants