react-native/.flowconfig

103 lines
3.0 KiB
Plaintext
Raw Normal View History

[ignore]
; We fork some components by platform
.*/*[.]android.js
; Ignore templates for 'react-native init'
.*/local-cli/templates/.*
Adds Danger support Summary: Testing Danger support in CI. Continuation of #14964, which Circle stopped building. Update your node modules first: `npm install` `npm run danger pr https://github.com/facebook/react-native/pull/14951` Verify output. This PR should trigger a WIP warning, as well as a package.json warning: ``` > react-native@1000.0.0 danger /Users/hramos/git/react-native > node ./node_modules/.bin/danger "pr" "https://github.com/facebook/react-native/pull/14951" { fails: [], warnings: [ { message: ":construction_worker: Work In Progress - <i>Do not merge yet.</i>" }, { message: ":lock: Changes were made to package.json - <i>This will require a manual import. Once approved, a Facebook employee should import the PR, then run `yarn add` for any new packages.</i>" } ], messages: [], markdowns: ["This PR requires attention from the facebook/react-native team."] } ``` `npm run danger pr https://github.com/facebook/react-native/pull/14946` Verify output. This PR should trigger a warning against the lack of a test plan (note that the PR does have a test plan, but it does not title it as such): ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan</i>" } ], messages: [], markdowns: [] } ``` `npm run danger pr https://github.com/facebook/react-native/pull/13186` Should warn against a missing test plan: ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan.</i>" } ], messages: [], markdowns: [":page_facing_up: Thanks for your contribution to the docs!"] } ``` If the author is able to issue bot commands, we reasonably assume that this is coming from an established core contributor. Their PRs will be flagged for expedited review: `npm run danger pr https://github.com/facebook/react-native/pull/14895` ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan.</i>" } ], messages: [], markdowns: ["This PR has been submitted by a core contributor. Notifying facebook/react-native."] } ``` Closes https://github.com/facebook/react-native/pull/15061 Differential Revision: D5436605 Pulled By: hramos fbshipit-source-id: 4ba9e812387d8a69893dab537af9b6cd108753cf
2017-07-18 18:08:35 +00:00
; Ignore the Dangerfile
<PROJECT_ROOT>/bots/dangerfile.js
Adds Danger support Summary: Testing Danger support in CI. Continuation of #14964, which Circle stopped building. Update your node modules first: `npm install` `npm run danger pr https://github.com/facebook/react-native/pull/14951` Verify output. This PR should trigger a WIP warning, as well as a package.json warning: ``` > react-native@1000.0.0 danger /Users/hramos/git/react-native > node ./node_modules/.bin/danger "pr" "https://github.com/facebook/react-native/pull/14951" { fails: [], warnings: [ { message: ":construction_worker: Work In Progress - <i>Do not merge yet.</i>" }, { message: ":lock: Changes were made to package.json - <i>This will require a manual import. Once approved, a Facebook employee should import the PR, then run `yarn add` for any new packages.</i>" } ], messages: [], markdowns: ["This PR requires attention from the facebook/react-native team."] } ``` `npm run danger pr https://github.com/facebook/react-native/pull/14946` Verify output. This PR should trigger a warning against the lack of a test plan (note that the PR does have a test plan, but it does not title it as such): ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan</i>" } ], messages: [], markdowns: [] } ``` `npm run danger pr https://github.com/facebook/react-native/pull/13186` Should warn against a missing test plan: ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan.</i>" } ], messages: [], markdowns: [":page_facing_up: Thanks for your contribution to the docs!"] } ``` If the author is able to issue bot commands, we reasonably assume that this is coming from an established core contributor. Their PRs will be flagged for expedited review: `npm run danger pr https://github.com/facebook/react-native/pull/14895` ``` { fails: [], warnings: [ { message: ":clipboard: Test Plan - <i>This PR appears to be missing a Test Plan.</i>" } ], messages: [], markdowns: ["This PR has been submitted by a core contributor. Notifying facebook/react-native."] } ``` Closes https://github.com/facebook/react-native/pull/15061 Differential Revision: D5436605 Pulled By: hramos fbshipit-source-id: 4ba9e812387d8a69893dab537af9b6cd108753cf
2017-07-18 18:08:35 +00:00
; 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
; Ignore polyfills
.*/Libraries/polyfills/.*
Fix failure due to missing Metro flow types Summary: Fixes the Flow failure due to an undefined Ast type. Before: ``` $ npm run flow -- check > react-native@1000.0.0 flow /Users/hramos/git/react-native > flow "check" Error: local-cli/__tests__/fs-mock-test.js:27 27: beforeEach(() => { ^^^^^^^^^^ beforeEach. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:53 53: expect(content).toEqual('beep'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:88 88: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:100 100: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: node_modules/metro/src/Bundler/util.js.flow:46 46: ): Ast { ^^^ Ast. Could not resolve name Error: node_modules/metro/src/ModuleGraph/worker/collect-dependencies.js.flow:283 283: const xp = (module.exports = (ast: Ast) => ^^^ Ast. Could not resolve name Error: node_modules/metro/src/assetTransformer.js.flow:29 29: ): Promise<{ast: Ast}> { ^^^ Ast. Could not resolve name ``` After ``` $ npm run flow -- check > react-native@1000.0.0 flow /Users/hramos/git/react-native > flow "check" Error: local-cli/__tests__/fs-mock-test.js:27 27: beforeEach(() => { ^^^^^^^^^^ beforeEach. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:53 53: expect(content).toEqual('beep'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:88 88: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:100 100: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name ``` [ GENERAL ] [ BUGFIX] [ .flowconfig ] - Have Flow ignore Metro node_nodules Closes https://github.com/facebook/react-native/pull/17187 Differential Revision: D6572303 Pulled By: hramos fbshipit-source-id: aa256b9725970fcc2a6da6578c83e7c0875e3cfd
2017-12-14 23:14:03 +00:00
; Ignore metro
.*/node_modules/metro/.*
; These should not be required directly
; require from fbjs/lib instead: require('fbjs/lib/invariant')
.*/node_modules/invariant/.*
.*/node_modules/warning/.*
[include]
[libs]
Libraries/react-native/react-native-interface.js
flow/
Fix failure due to missing Metro flow types Summary: Fixes the Flow failure due to an undefined Ast type. Before: ``` $ npm run flow -- check > react-native@1000.0.0 flow /Users/hramos/git/react-native > flow "check" Error: local-cli/__tests__/fs-mock-test.js:27 27: beforeEach(() => { ^^^^^^^^^^ beforeEach. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:53 53: expect(content).toEqual('beep'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:88 88: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:100 100: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: node_modules/metro/src/Bundler/util.js.flow:46 46: ): Ast { ^^^ Ast. Could not resolve name Error: node_modules/metro/src/ModuleGraph/worker/collect-dependencies.js.flow:283 283: const xp = (module.exports = (ast: Ast) => ^^^ Ast. Could not resolve name Error: node_modules/metro/src/assetTransformer.js.flow:29 29: ): Promise<{ast: Ast}> { ^^^ Ast. Could not resolve name ``` After ``` $ npm run flow -- check > react-native@1000.0.0 flow /Users/hramos/git/react-native > flow "check" Error: local-cli/__tests__/fs-mock-test.js:27 27: beforeEach(() => { ^^^^^^^^^^ beforeEach. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:53 53: expect(content).toEqual('beep'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:88 88: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name Error: local-cli/__tests__/fs-mock-test.js:100 100: expect(content).toEqual('hello, world!'); ^^^^^^ expect. Could not resolve name ``` [ GENERAL ] [ BUGFIX] [ .flowconfig ] - Have Flow ignore Metro node_nodules Closes https://github.com/facebook/react-native/pull/17187 Differential Revision: D6572303 Pulled By: hramos fbshipit-source-id: aa256b9725970fcc2a6da6578c83e7c0875e3cfd
2017-12-14 23:14:03 +00:00
flow-github/
[options]
emoji=true
esproposal.optional_chaining=enable
module.system=haste
module.system.haste.use_name_reducers=true
# keep the following in sync with server/haste/hasteImpl.js
# get basename
module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
# strip .js or .js.flow suffix
module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
# strip .ios suffix
module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
module.system.haste.paths.blacklist=.*/__tests__/.*
module.system.haste.paths.blacklist=.*/__mocks__/.*
module.system.haste.paths.blacklist=<PROJECT_ROOT>/Libraries/Animated/src/polyfills/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/Libraries/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/RNTester/.*
module.system.haste.paths.whitelist=<PROJECT_ROOT>/IntegrationTests/.*
module.system.haste.paths.blacklist=<PROJECT_ROOT>/Libraries/Animated/src/polyfills/.*
2015-07-30 03:19:40 +00:00
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'
2015-06-11 22:35:26 +00:00
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
2015-06-11 22:35:26 +00:00
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*[react_native_oss|react_native_fb][a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*[react_native_oss|react_native_fb][a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
2015-06-11 22:35:26 +00:00
[lints]
all=warn
# There is an ESLint rule for this
unclear-type=off
sketchy-null=off
sketchy-null-number=warn
sketchy-null-mixed=warn
# This is noisy for now. We *do* still want to warn on importing types
# from untyped files, which is covered by untyped-type-import
untyped-import=off
[strict]
deprecated-type
nonstrict-import
sketchy-null
unclear-type
unsafe-getters-setters
untyped-import
untyped-type-import
[version]
^0.77.0