flow 0.36.0

The first step towards enabling Facbook's flow in the project. The flow
configuration is pristine as generated by react-native upgrade.
This commit is contained in:
Lyubomir Marinov 2017-02-01 12:50:20 -06:00
parent 94f3d4b279
commit 63fd263890
3 changed files with 50 additions and 0 deletions

44
.flowconfig Normal file
View File

@ -0,0 +1,44 @@
[ignore]
; We fork some components by platform
.*/*[.]android.js
; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/
; Ignore unexpected extra "@providesModule"
.*/node_modules/.*/node_modules/fbjs/.*
; Ignore duplicate module providers
; For RN Apps installed via npm, "Libraries" folder is inside
; "node_modules/react-native" but in the source repo it is in the root
.*/Libraries/react-native/React.js
.*/Libraries/react-native/ReactNative.js
[include]
[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow
flow/
[options]
module.system=haste
experimental.strict_type_args=true
munge_underscores=true
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FixMe
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-6]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-6]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
unsafe.enable_getters_and_setters=true
[version]
^0.36.0

View File

@ -53,6 +53,7 @@
"babel-core": "^6.18.0", "babel-core": "^6.18.0",
"babel-eslint": "^7.1.1", "babel-eslint": "^7.1.1",
"babel-loader": "^6.2.10", "babel-loader": "^6.2.10",
"babel-plugin-transform-flow-strip-types": "^6.18.0",
"babel-polyfill": "*", "babel-polyfill": "*",
"babel-preset-es2015": "^6.18.0", "babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0", "babel-preset-react": "^6.16.0",
@ -65,6 +66,7 @@
"eslint-plugin-react-native": "^2.2.1", "eslint-plugin-react-native": "^2.2.1",
"expose-loader": "*", "expose-loader": "*",
"file-loader": "*", "file-loader": "*",
"flow-bin": "^0.36.0",
"haste-resolver-webpack-plugin": "^0.2.2", "haste-resolver-webpack-plugin": "^0.2.2",
"imports-loader": "*", "imports-loader": "*",
"jshint": "2.9.4", "jshint": "2.9.4",

View File

@ -58,6 +58,10 @@ var config = {
exclude: node_modules, exclude: node_modules,
loader: 'babel', loader: 'babel',
query: { query: {
plugins: [
'transform-flow-strip-types'
],
// XXX The require.resolve bellow solves failures to locate the // XXX The require.resolve bellow solves failures to locate the
// presets when lib-jitsi-meet, for example, is npm linked in // presets when lib-jitsi-meet, for example, is npm linked in
// jitsi-meet. The require.resolve, of course, mandates the use // jitsi-meet. The require.resolve, of course, mandates the use