@samitouri / QOS-React-2 / commits / 35bf9d27a3

Exclude react-dom when flow checking other builds (#16737)

This is because the HostConfig can't be guaranteed to be consistent with other code such as code that touches the DOM directly. Ideally we'd have a more systemic solution to this since it will pop up for other packages later too.

Sebastian Markbåge committed Sep 19, 2019 at 12:41 UTC 35bf9d27a3f9fdf60cea060d20b5c178e437520d
2 files changed +19 -4
scripts/flow/config/flowconfig
+2
@@ -13,6 +13,8 @@
13 .*/__mocks__/.*
14 .*/__tests__/.*
15
16 +%REACT_RENDERER_FLOW_IGNORES%
17 +
18 [include]
19 ../../../node_modules/
20 ../../../packages/
scripts/flow/createFlowConfigs.js
+17 -4
@@ -23,16 +23,29 @@ function writeConfig(renderer, isFizzSupported) {
23 mkdirp.sync(folder);
24
25 const fizzRenderer = isFizzSupported ? renderer : 'custom';
26 - const config = configTemplate.replace(
27 - '%REACT_RENDERER_FLOW_OPTIONS%',
28 - `
26 + const config = configTemplate
27 + .replace(
28 + '%REACT_RENDERER_FLOW_OPTIONS%',
29 + `
30 module.name_mapper='react-reconciler/inline.${renderer}$$' -> 'react-reconciler/inline-typed'
31 module.name_mapper='ReactFiberHostConfig$$' -> 'forks/ReactFiberHostConfig.${renderer}'
32 module.name_mapper='react-stream/inline.${renderer}$$' -> 'react-stream/inline-typed'
33 module.name_mapper='ReactFizzHostConfig$$' -> 'forks/ReactFizzHostConfig.${fizzRenderer}'
34 module.name_mapper='ReactFizzFormatConfig$$' -> 'forks/ReactFizzFormatConfig.${fizzRenderer}'
35 `.trim(),
35 - );
36 + )
37 + .replace(
38 + '%REACT_RENDERER_FLOW_IGNORES%',
39 + renderer === 'dom' || renderer === 'dom-browser'
40 + ? ''
41 + : // If we're not checking DOM, ignore the DOM package since it
42 + // won't be consistent.
43 + `
44 + .*/packages/react-dom/.*
45 + .*/packages/.*/forks/.*.dom.js
46 + .*/packages/.*/forks/.*.dom-browser.js
47 + `.trim(),
48 + );
49
50 const disclaimer = `
51 # ---------------------------------------------------------------#