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: Expression x === 'y' && '' should not evaluate to undefined. #8880

Merged
merged 1 commit into from Oct 16, 2018

Conversation

Cyp
Copy link
Contributor

@Cyp Cyp commented Oct 16, 2018

Should fix babel/minify#908: Expressions of the form x === "foo" && "" were incorrectly minified to undefined. This was due to evaluate() on && giving the wrong result when only the right-hand side is known and falsy.

Q                       A
Fixed Issues? babel/minify#908
Patch: Bug Fix? Yes.
Tests Added + Pass? Most tests currently fail, don't know if any are related to this commit.
Documentation PR Link babel/minify#908
License MIT

@babel-bot
Copy link
Collaborator

babel-bot commented Oct 16, 2018

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/9257/

@babel-bot
Copy link
Collaborator

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/9256/

@existentialism
Copy link
Member

Can we add a test?

@existentialism existentialism added PR: Bug Fix 🐛 A type of pull request used for our changelog categories pkg: traverse labels Oct 16, 2018
@Cyp
Copy link
Contributor Author

Cyp commented Oct 16, 2018

Added a test, but can't see how to test the test without the output getting lost in 1711 unrelated tests which somehow fail for me with stuff like Cannot find module 'babel-check-duplicated-nodes' from 'index.js'.

@existentialism
Copy link
Member

@Cyp, did you run make bootstrap?

Also, reference our contributing guidelines for running just a single test!

@Cyp
Copy link
Contributor Author

Cyp commented Oct 16, 2018

@Cyp, did you run make bootstrap?

No — that worked, all tests pass for me now, thanks.

@nicolo-ribaudo nicolo-ribaudo merged commit e541d60 into babel:master Oct 16, 2018
mAAdhaTTah added a commit to valtech-nyc/babel that referenced this pull request Nov 3, 2018
* master: (222 commits)
  Set correct methods name
  Use toPropertyKey in the "decorate" helper
  Allow function types in type params within arrow return types (babel#8954)
  Fix message when plugin of a wrong type is passed (babel#8950)
  rename colliding let bindings with for loop init (babel#8937)
  edge incomplete support for arrow destructuring (babel babel#8349) (babel#8926)
  fix single-arg async arrows when retainLines=true (babel#8868)
  [flow] Explicit inexact objects with `...` (babel#8884)
  Update preset-env data (babel#8898)
  Treat break inside block inside loop (babel#8914)
  fixed "source map" formatting in comment (babel#8878) [skip ci]
  fix typo in contributing guidelines (babel#8901) [skip ci]
  fix: Expression x === 'y' && '' should not evaluate to undefined. (babel#8880)
  fixed an extra word
  Fixes babel#8865 (babel#8866)
  v7.1.4
  v7.1.3
  Bump Babel deps (babel#8770)
  flow-bin@0.82.0 (babel#8832)
  Insertafter jsx fix (babel#8833)
  ...

# Conflicts:
#	packages/babel-parser/src/tokenizer/index.js
#	packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-numeric-literal/options.json
#	packages/babel-parser/test/fixtures/experimental/pipeline-operator/invalid-proposal/options.json
@lock lock bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Oct 4, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Oct 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated A closed issue/PR that is archived due to age. Recommended to make a new issue pkg: traverse PR: Bug Fix 🐛 A type of pull request used for our changelog categories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect minification of expressions involving && ""
4 participants