Skip to content

Commit

Permalink
Upgrade to Flow 0.196.3 (#25974)
Browse files Browse the repository at this point in the history
After the previous changes these upgrade are easy.

- removes config options that were removed
- object index access now requires an indexer key in the type, this
cause a handful of errors that were fixed
- undefined keys error in all places, this needed a few extra
suppressions for repeated undefined identifiers.

Flow's
[CHANGELOG.md](https://github.com/facebook/flow/blob/main/Changelog.md).
  • Loading branch information
kassens authored Jan 9, 2023
1 parent e2424f3 commit 34464fb
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 12 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"eslint-plugin-react-internal": "link:./scripts/eslint-rules",
"fbjs-scripts": "1.2.0",
"filesize": "^6.0.1",
"flow-bin": "^0.190.0",
"flow-bin": "^0.196.3",
"flow-remove-types": "^2.196.1",
"glob": "^7.1.6",
"glob-stream": "^6.1.0",
Expand Down
2 changes: 2 additions & 0 deletions packages/react-devtools-shared/src/backend/renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -3271,6 +3271,7 @@ export function attach(
for (const method in console) {
try {
originalConsoleMethods[method] = console[method];
// $FlowFixMe[prop-missing]
console[method] = () => {};
} catch (error) {}
}
Expand All @@ -3285,6 +3286,7 @@ export function attach(
// Restore original console functionality.
for (const method in originalConsoleMethods) {
try {
// $FlowFixMe[prop-missing]
console[method] = originalConsoleMethods[method];
} catch (error) {}
}
Expand Down
1 change: 1 addition & 0 deletions packages/react-devtools-shared/src/hydration.js
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ export function dehydrate(
// Other types (e.g. typed arrays, Sets) will not spread correctly.
Array.from(data).forEach(
(item, i) =>
// $FlowFixMe[prop-missing] Unserializable doesn't have an index signature
(unserializableValue[i] = dehydrate(
item,
cleaned,
Expand Down
1 change: 1 addition & 0 deletions packages/react-devtools-shell/src/app/console.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ function ignoreStrings(
methodName: string,
stringsToIgnore: Array<string>,
): void {
// $FlowFixMe[prop-missing] index access only allowed for objects with index keys
console[methodName] = (...args) => {
const maybeString = args[0];
if (typeof maybeString === 'string') {
Expand Down
9 changes: 6 additions & 3 deletions packages/react-reconciler/src/ReactFiberAct.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ export function isLegacyActEnvironment(fiber: Fiber): boolean {
// to false.

const isReactActEnvironmentGlobal =
// $FlowFixMe Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global
// $FlowFixMe[cannot-resolve-name] Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global
typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined'
? IS_REACT_ACT_ENVIRONMENT
? // $FlowFixMe[cannot-resolve-name]
IS_REACT_ACT_ENVIRONMENT
: undefined;

// $FlowFixMe - Flow doesn't know about jest
Expand All @@ -40,8 +41,10 @@ export function isLegacyActEnvironment(fiber: Fiber): boolean {
export function isConcurrentActEnvironment(): void | boolean {
if (__DEV__) {
const isReactActEnvironmentGlobal =
// $FlowFixMe[cannot-resolve-name] Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global
typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined'
? IS_REACT_ACT_ENVIRONMENT
? // $FlowFixMe[cannot-resolve-name]
IS_REACT_ACT_ENVIRONMENT
: undefined;

if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {
Expand Down
2 changes: 1 addition & 1 deletion packages/react-reconciler/src/ReactFiberFlags.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export const MountPassiveDev = /* */ 0b100000000000000000000000000;
// Groups of flags that are used in the commit phase to skip over trees that
// don't contain effects, by checking subtreeFlags.

export const BeforeMutationMask =
export const BeforeMutationMask: number =
// TODO: Remove Update flag from before mutation phase by re-landing Visibility
// flag logic (see #20043)
Update |
Expand Down
4 changes: 1 addition & 3 deletions scripts/flow/config/flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,9 @@ untyped-type-import=error
%CI_MAX_WORKERS%
exact_by_default=true
munge_underscores=false
enforce_local_inference_annotations=true
exact_empty_objects=true

# Substituted by createFlowConfig.js:
%REACT_RENDERER_FLOW_OPTIONS%

[version]
^0.190.0
^0.196.3
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7915,10 +7915,10 @@ flatted@^3.1.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==

flow-bin@^0.190.0:
version "0.190.0"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.190.0.tgz#cfc50e1474facf8150232a6c498fe66a6bb75969"
integrity sha512-Qo3bvN3cmGFXsq63ZxcHFZXQDvgx84fCuq8cXuKk5xbvuebBGwMqS+ku/rH+gEkciRrcTYrXqoSzb9b6ShcoJg==
flow-bin@^0.196.3:
version "0.196.3"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.196.3.tgz#b6df48986a2629f2c6a26fb79d73fc07c8056af0"
integrity sha512-pmvjlksi1CvkSnDHpcfhDFj/KC3hwSgE2OpzvugW57dfgqfHzqX1UfZIcScGWM5AmP/IeOsQCW383k3zIbEnrA==

flow-parser@^0.196.1:
version "0.196.1"
Expand Down

0 comments on commit 34464fb

Please sign in to comment.