Casting an enum to empty will now properly error, e.g. (E.A: empty).
New Features:
Added a quick fix for the unused-promise-in-async-scope lint which will insert await.
Added support for a number of additional bigint features. These include allowing comparison (<, >, <=, >=), update (++, --) and arithmetic operators (+, -, ~, *) to be used with bigints.
Added sketchy-null-bigint lint to match the behavior of the other sketchy-null-* lints for bigints.
Added Flow Enums support for declare enum and declare export enum. Keep in mind that users need to have enabled Flow Enums if you wish to create library definitions that use them.
Parser:
Switch to dune to build and install the flow_parser OPAM package. Some modules in src/parser/ like Comment_utils are newly available.
Decrease the size of flow_parser.js by roughly 25%, to 768kb.
Fix a bug where declare opaque type was parsed as an OpaqueType when interned comments are disabled.
v0.193.0
New Features:
Add support for bigint. This includes the bigint type itself, subtyping with literals, libdefs, typeof, and sentinel refinement. For now, literal types are limited to 64 bit ints. Later changes may lift this restriction as well as implement support for operators.
Notable bug fixes:
Fix a few bugs related to the Haste package resolver. The Haste resolver falls back to the Node resolver when resolving packages. It now obeys the module.system.node.root_relative_dirname setting when doing so. Also, scoped package names are now supported in the Haste module resolver.
Allow private readonly properties to be written to in constructors, just like regular readonly properties.
Misc:
Update team members in CONTRIBUTING.md.
When using module.system=haste, importing packages in node_modules folders now obeys Node's resolution algorithm, rather than being able to be required from anywhere in the project.
Library Definitions:
Add a default generic value for getOwnPropertyDescriptor.
We have announced in a previous blog post that we are working on a new inference mode in Flow. Now the inference mode is mostly working, but there might still be some bugs remaining. You can try it out by adding inference_mode=experimental.lti to your flowconfig.
Likely to cause new Flow errors:
Unknown computed properties assignments are now completely banned. Previously, they were still allowed if the object is inexact.
cannot-resolve-name errors now are emitted for every use of an undefined variable, not just the first.
New Features:
Added an experimental flow lint for unused promises in async scope. You can enable it by adding unused-promise-in-async-scope in the lint section of your flowconfig.
Misc:
annotate-use-state and annotate-use-callback codemod commands have been merged into annotate-react-hooks4
Added an experimental "scm" saved state fetcher, which selects a saved state based on your currently source control revision.
Library Definitions:
Added support for Array.prototype.at
Fixed WeakSet type parameter bound to be interface {}
Casting an enum to empty will now properly error, e.g. (E.A: empty).
New Features:
Added a quick fix for the unused-promise-in-async-scope lint which will insert await.
Added support for a number of additional bigint features. These include allowing comparison (<, >, <=, >=), update (++, --) and arithmetic operators (+, -, ~, *) to be used with bigints.
Added sketchy-null-bigint lint to match the behavior of the other sketchy-null-* lints for bigints.
Added Flow Enums support for declare enum and declare export enum. Keep in mind that users need to have enabled Flow Enums if you wish to create library definitions that use them.
Parser:
Switch to dune to build and install the flow_parser OPAM package. Some modules in src/parser/ like Comment_utils are newly available.
Decrease the size of flow_parser.js by roughly 25%, to 768kb.
Fix a bug where declare opaque type was parsed as an OpaqueType when interned comments are disabled.
0.193.0
New Features:
Add support for bigint. This includes the bigint type itself, subtyping with literals, libdefs, typeof, and sentinel refinement. For now, literal types are limited to 64 bit ints. Later changes may lift this restriction as well as implement support for operators.
Notable bug fixes:
Fix a few bugs related to the Haste package resolver. The Haste resolver falls back to the Node resolver when resolving packages. It now obeys the module.system.node.root_relative_dirname setting when doing so. Also, scoped package names are now supported in the Haste module resolver.
Allow private readonly properties to be written to in constructors, just like regular readonly properties.
Misc:
Update team members in CONTRIBUTING.md.
When using module.system=haste, importing packages in node_modules folders now obeys Node's resolution algorithm, rather than being able to be required from anywhere in the project.
Library Definitions:
Add a default generic value for getOwnPropertyDescriptor.
We have announced in a previous blog post that we are working on a new inference mode in Flow. Now the inference mode is mostly working, but there might still be some bugs remaining. You can try it out by adding inference_mode=experimental.lti to your flowconfig.
Likely to cause new Flow errors:
Unknown computed properties assignments are now completely banned. Previously, they were still allowed if the object is inexact.
cannot-resolve-name errors now are emitted for every use of an undefined variable, not just the first.
New Features:
Added an experimental flow lint for unused promises in async scope. You can enable it by adding unused-promise-in-async-scope in the lint section of your flowconfig.
Misc:
annotate-use-state and annotate-use-callback codemod commands have been merged into annotate-react-hooks4
Added an experimental "scm" saved state fetcher, which selects a saved state based on your currently source control revision.
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 from 0.156.0 to 0.194.0.
Release notes
Sourced from flow-parser's releases.
... (truncated)
Changelog
Sourced from flow-parser's changelog.
... (truncated)
Commits
701e32a
v0.194.0080b438
Support recursive function statics defined as arrows974fd94
[lti] Rollback new errors when we are synthesizing expressions for hint decom...2acbc17
Resolve no lower tvars to any in post-inference implicit instantiation analysisc594d7d
Allow the tvar resolver to specify custom behavior on no lower boundsb895c56
Add quick fix for unused-promise-in-async-scope29b4751
[lti][tests][EZ] Remove unnecessary testconfig23a6a7f
[implicit-instantiation] Reverse ResolveUnionT0d92e78
Fix read order for destructured assignment defaultsc591675
switch build to duneDependabot 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)