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

Build(deps): Bump flow-parser from 0.142.0 to 0.201.0 #2086

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Mar 3, 2023

Bumps flow-parser from 0.142.0 to 0.201.0.

Release notes

Sourced from flow-parser's releases.

v0.201.0

Local Type Inference:

  • Local Type Inference is a rewrite of Flow’s type inference algorithm. This change makes Flow’s inference behavior more reliable and predictable. It replaces a global inference scheme that Flow has relied on since its inception and that has often been the culprit of confusing action-at-a-distance behavior, in exchange for modestly increased type annotations. It is now enabled by default! See this blog post for more details on the new system and steps to upgrade your project.

Likely to cause new Flow errors:

  • When a variable is initialized at declaration, subsequent assignment in a conditional branch will no longer cause later reads to get a union type. This is already the case if the variable is annotated. As a result of this change, you might get new type errors. Example
  • When a variable is uninitialized or initialized to null, we use all the assignments to the variables as its initial type. We now no longer consider assignments from a child generic function. As a result, you might get new invalid-declaration errors. Example
  • Fix object value rest. It will now error if attempting to read a write-only or setter-only property (it reads while copying the properties). Additionally, the resulting rest object will no longer preserve read-only variance (as it is a copy).
  • The type utility $Partial will now preserve the variance of the input object type's properties. For example, if the the input was a read-only object, now that output will also be a read-only object (with optional properties).
  • string and symbol are no longer subtypes of an interface
  • Error on with statements in non-strict mode. It was already a syntax error in strict mode.

New Features:

  • A native Apple Silicon precompiled binary is now available via the GitHub Releases page. It is not yet available via flow-bin. Internally, we see about 2X faster performance than using Rosetta, and 4X faster performance than on actual Intel Macs.
  • Add local variable renaming capabilities to the LSP
  • Add "Find All References" functionality to the LSP for showing local references
  • JSDoc autocomplete will automatically trigger after typing /**
  • Add option for automatically closing JSX tags in the IDE
  • Hovering in the IDE now shows both the unevaluated and evaluated type of the target expression.
  • Add use_mixed_in_catch_variables config option that makes catch variables default to mixed instead of any
  • Rename $Partial utility type to Partial. $Partial will continue working as an alias for at least one more version - use that period of time to codemod it to Partial.
  • Add the Required utility type. It does the opposite of Partial: it makes optional properties required in object types.
  • Improve error when attempting to call Object.values on a Flow Enum, to point the user to using .members()
  • Improve error when using number and boolean primitives as a subtype of an interface
  • Improve error on tuple arity mismatch

Notable bug fixes:

  • Fix a bug preventing annotation hints from being used in tagged template expressions. This fix may get rid of some underconstrained-implicit-instantiation errors that were otherwise impossible to fix.
  • Fix error when autocompleting the method stub for a function type without parameter names
  • Document highlight in the IDE now correctly highlights destructured object keys
  • Autocomplete can suggest literals when the target type is $Keys

flow-upgrade:

  • Add codemod to convert usage of the $Shape utility type to Partial. It is possible that this will create type errors that you will have to resolve.
  • Add codemod to rename $Partial to Partial

Misc:

  • Remove unused-promise-in-async-scope and unused-promise-in-sync-scope. They can be enabled with unused-promise.
  • Remove --evaluate-type-destructors flag from type-at-pos command
  • Add flow save-state --scm flag to ease creation of SCM-aware saved states

Parser:

  • Fix missing decorators on class fields
  • Make infer a reserved word in types

v0.200.1

Notable bug fixes: We fixed a bug that causes spurious Array is not an array errors in try-flow. Example

... (truncated)

Changelog

Sourced from flow-parser's changelog.

0.201.0

Local Type Inference:

  • Local Type Inference is a rewrite of Flow’s type inference algorithm. This change makes Flow’s inference behavior more reliable and predictable. It replaces a global inference scheme that Flow has relied on since its inception and that has often been the culprit of confusing action-at-a-distance behavior, in exchange for modestly increased type annotations. It is now enabled by default! See this blog post for more details on the new system and steps to upgrade your project.

Likely to cause new Flow errors:

  • When a variable is initialized at declaration, subsequent assignment in a conditional branch will no longer cause later reads to get a union type. This is already the case if the variable is annotated. As a result of this change, you might get new type errors. Example
  • When a variable is uninitialized or initialized to null, we use all the assignments to the variables as its initial type. We now no longer consider assignments from a child generic function. As a result, you might get new invalid-declaration errors. Example
  • Fix object value rest. It will now error if attempting to read a write-only or setter-only property (it reads while copying the properties). Additionally, the resulting rest object will no longer preserve read-only variance (as it is a copy).
  • The type utility $Partial will now preserve the variance of the input object type's properties. For example, if the the input was a read-only object, now that output will also be a read-only object (with optional properties).
  • string and symbol are no longer subtypes of an interface
  • Error on with statements in non-strict mode. It was already a syntax error in strict mode.

New Features:

  • A native Apple Silicon precompiled binary is now available via the GitHub Releases page. It is not yet available via flow-bin. Internally, we see about 2X faster performance than using Rosetta, and 4X faster performance than on actual Intel Macs.
  • Add local variable renaming capabilities to the LSP
  • Add "Find All References" functionality to the LSP for showing local references
  • JSDoc autocomplete will automatically trigger after typing /**
  • Add option for automatically closing JSX tags in the IDE
  • Hovering in the IDE now shows both the unevaluated and evaluated type of the target expression.
  • Add use_mixed_in_catch_variables config option that makes catch variables default to mixed instead of any
  • Rename $Partial utility type to Partial. $Partial will continue working as an alias for at least one more version - use that period of time to codemod it to Partial.
  • Add the Required utility type. It does the opposite of Partial: it makes optional properties required in object types.
  • Improve error when attempting to call Object.values on a Flow Enum, to point the user to using .members()
  • Improve error when using number and boolean primitives as a subtype of an interface
  • Improve error on tuple arity mismatch

Notable bug fixes:

  • Fix a bug preventing annotation hints from being used in tagged template expressions. This fix may get rid of some underconstrained-implicit-instantiation errors that were otherwise impossible to fix.
  • Fix error when autocompleting the method stub for a function type without parameter names
  • Document highlight in the IDE now correctly highlights destructured object keys
  • Autocomplete can suggest literals when the target type is $Keys

flow-upgrade:

  • Add codemod to convert usage of the $Shape utility type to Partial. It is possible that this will create type errors that you will have to resolve.
  • Add codemod to rename $Partial to Partial

Misc:

  • Remove unused-promise-in-async-scope and unused-promise-in-sync-scope. They can be enabled with unused-promise.
  • Remove --evaluate-type-destructors flag from type-at-pos command
  • Add flow save-state --scm flag to ease creation of SCM-aware saved states

Parser:

  • Fix missing decorators on class fields
  • Make infer a reserved word in types

0.200.1

Notable bug fixes:

... (truncated)

Commits
  • f4278b7 fix missing dependency
  • 8abbe9c v0.201.0
  • 0ff8bb8 [IDE] Fix rename with shorthand named imports
  • b8531a1 Make LTI the default
  • 881af7e [codemod] Explicitly use constrain_writes in some codemod commands
  • 2568511 [tests] Use LTI as default in tests
  • 25da2e5 Do not consider TaggedTemplates to be definitely synthesizable
  • 2c2f683 [lti] Start with empty cache when checking expressions in checking mode
  • bb2f267 [name_resolver] Avoiding creating phi nodes when merging with havoc if the va...
  • cec5df5 Delete comprehension/generator AST node
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [flow-parser](https://github.com/facebook/flow) from 0.142.0 to 0.201.0.
- [Release notes](https://github.com/facebook/flow/releases)
- [Changelog](https://github.com/facebook/flow/blob/main/Changelog.md)
- [Commits](facebook/flow@v0.142.0...v0.201.0)

---
updated-dependencies:
- dependency-name: flow-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Mar 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code
Projects
None yet
0 participants