<a name="eslint-plugin-flowtype"></a>
# eslint-plugin-flowtype
[![NPM version](http://img.shields.io/npm/v/eslint-plugin-flowtype.svg?style=flat-square)](https://www.npmjs.org/package/eslint-plugin-flowtype)
[![Travis build status](http://img.shields.io/travis/gajus/eslint-plugin-flowtype/master.svg?style=flat-square)](https://travis-ci.org/gajus/eslint-plugin-flowtype)
[![js-canonical-style](https://img.shields.io/badge/code%20style-canonical-blue.svg?style=flat-square)](https://github.com/gajus/canonical)
[Flow type](http://flowtype.org/) linting rules for ESLint.
* [eslint-plugin-flowtype](#eslint-plugin-flowtype)
* [Installation](#eslint-plugin-flowtype-installation)
* [Configuration](#eslint-plugin-flowtype-configuration)
* [Shareable configurations](#eslint-plugin-flowtype-configuration-shareable-configurations)
* [Community maintained configurations](#eslint-plugin-flowtype-configuration-community-maintained-configurations)
* [Settings](#eslint-plugin-flowtype-settings)
* [`onlyFilesWithFlowAnnotation`](#eslint-plugin-flowtype-settings-onlyfileswithflowannotation)
* [Rules](#eslint-plugin-flowtype-rules)
* [`array-style-complex-type`](#eslint-plugin-flowtype-rules-array-style-complex-type)
* [`array-style-simple-type`](#eslint-plugin-flowtype-rules-array-style-simple-type)
* [`boolean-style`](#eslint-plugin-flowtype-rules-boolean-style)
* [`define-flow-type`](#eslint-plugin-flowtype-rules-define-flow-type)
* [`delimiter-dangle`](#eslint-plugin-flowtype-rules-delimiter-dangle)
* [`generic-spacing`](#eslint-plugin-flowtype-rules-generic-spacing)
* [`newline-after-flow-annotation`](#eslint-plugin-flowtype-rules-newline-after-flow-annotation)
* [`no-dupe-keys`](#eslint-plugin-flowtype-rules-no-dupe-keys)
* [`no-existential-type`](#eslint-plugin-flowtype-rules-no-existential-type)
* [`no-flow-fix-me-comments`](#eslint-plugin-flowtype-rules-no-flow-fix-me-comments)
* [`no-mutable-array`](#eslint-plugin-flowtype-rules-no-mutable-array)
* [`no-primitive-constructor-types`](#eslint-plugin-flowtype-rules-no-primitive-constructor-types)
* [`no-types-missing-file-annotation`](#eslint-plugin-flowtype-rules-no-types-missing-file-annotation)
* [`no-unused-expressions`](#eslint-plugin-flowtype-rules-no-unused-expressions)
* [`no-weak-types`](#eslint-plugin-flowtype-rules-no-weak-types)
* [`object-type-delimiter`](#eslint-plugin-flowtype-rules-object-type-delimiter)
* [`require-exact-type`](#eslint-plugin-flowtype-rules-require-exact-type)
* [`require-parameter-type`](#eslint-plugin-flowtype-rules-require-parameter-type)
* [`require-return-type`](#eslint-plugin-flowtype-rules-require-return-type)
* [`require-types-at-top`](#eslint-plugin-flowtype-rules-require-types-at-top)
* [`require-valid-file-annotation`](#eslint-plugin-flowtype-rules-require-valid-file-annotation)
* [`require-variable-type`](#eslint-plugin-flowtype-rules-require-variable-type)
* [`semi`](#eslint-plugin-flowtype-rules-semi)
* [`sort-keys`](#eslint-plugin-flowtype-rules-sort-keys)
* [`space-after-type-colon`](#eslint-plugin-flowtype-rules-space-after-type-colon)
* [`space-before-generic-bracket`](#eslint-plugin-flowtype-rules-space-before-generic-bracket)
* [`space-before-type-colon`](#eslint-plugin-flowtype-rules-space-before-type-colon)
* [`type-id-match`](#eslint-plugin-flowtype-rules-type-id-match)
* [`type-import-style`](#eslint-plugin-flowtype-rules-type-import-style)
* [`union-intersection-spacing`](#eslint-plugin-flowtype-rules-union-intersection-spacing)
* [`use-flow-type`](#eslint-plugin-flowtype-rules-use-flow-type)
* [`valid-syntax`](#eslint-plugin-flowtype-rules-valid-syntax)
<a name="eslint-plugin-flowtype-installation"></a>
## Installation
1. Install [ESLint](https://www.github.com/eslint/eslint).
1. Install [`babel-eslint`](https://github.com/babel/babel-eslint) parser (ESLint parser [does not support type annotations](https://github.com/eslint/eslint/issues/2157)).
1. Install [`eslint-plugin-flowtype`](https://github.com/gajus/eslint-plugin-flowtype) plugin.
<!-- -->
```sh
npm install eslint --save-dev
npm install babel-eslint --save-dev
npm install eslint-plugin-flowtype --save-dev
```
<a name="eslint-plugin-flowtype-configuration"></a>
## Configuration
1. Set `parser` property to `babel-eslint`.
1. Add `plugins` section and specify `eslint-plugin-flowtype` as a plugin.
1. Enable rules.
<!-- -->
```json
{
"parser": "babel-eslint",
"plugins": [
"flowtype"
],
"rules": {
"flowtype/boolean-style": [
2,
"boolean"
],
"flowtype/define-flow-type": 1,
"flowtype/delimiter-dangle": [
2,
"never"
],
"flowtype/generic-spacing": [
2,
"never"
],
"flowtype/no-primitive-constructor-types": 2,
"flowtype/no-types-missing-file-annotation": 2,
"flowtype/no-weak-types": 2,
"flowtype/object-type-delimiter": [
2,
"comma"
],
"flowtype/require-parameter-type": 2,
"flowtype/require-return-type": [
2,
"always",
{
"annotateUndefined": "never"
}
],
"flowtype/require-valid-file-annotation": 2,
"flowtype/semi": [
2,
"always"
],
"flowtype/space-after-type-colon": [
2,
"always"
],
"flowtype/space-before-generic-bracket": [
2,
"never"
],
"flowtype/space-before-type-colon": [
2,
"never"
],
"flowtype/type-id-match": [
2,
"^([A-Z][a-z0-9]+)+Type$"
],
"flowtype/union-intersection-spacing": [
2,
"always"
],
"flowtype/use-flow-type": 1,
"flowtype/valid-syntax": 1
},
"settings": {
"flowtype": {
"onlyFilesWithFlowAnnotation": false
}
}
}
```
<a name="eslint-plugin-flowtype-configuration-shareable-configurations"></a>
### Shareable configurations
<a name="eslint-plugin-flowtype-configuration-shareable-configurations-recommended"></a>
#### Recommended
This plugin exports a [recommended configuration](./src/configs/recommended.json) that enforces Flow type good practices.
To enable this configuration use the extends property in your `.eslintrc` config file:
```json
{
"extends": [
"plugin:flowtype/recommended"
],
"plugins": [
"flowtype"
]
}
```
See [ESLint documentation](http://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information about extending configuration files.
<a name="eslint-plugin-flowtype-configuration-community-maintained-configurations"></a>
### Community maintained configurations
The following are third-party submitted/ maintained configurations of `eslint-plugin-flowtype`:
* https://github.com/wemake-services/eslint-config-flowtype-essential
<a name="eslint-plugin-flowtype-settings"></a>
## Settings
<a name="eslint-plugin-flowtype-settings-onlyfileswithflowannotation"></a>
### <code>onlyFilesWithFlowAnnotation</code>
When `true`, only checks files with a [`@flow` annotation](http://flowtype.org/docs/about-flow.html#gradual) in the first comment.
```js
{
"settings": {
"flowtype": {
"onlyFilesWithFlowAnnotation": true
}
}
}
```
<a name="eslint-plugin-flowtype-rules"></a>
## Rules
<!-- Rules are sorted alphabetically. -->
<a name="eslint-plugin-flowtype-rules-array-style-complex-type"></a>
### <code>array-style-complex-type</code>
_The `--fix` option on the command line automatically fixes problems reported by this rule._
Enforces a particular annotation style of complex types.
Type is considered complex in these cases:
* [Maybe type](https://flow.org/en/docs/types/maybe/)
* [Function type](https://flow.org/en/docs/types/functions/)
* [Object type](https://flow.org/en/docs/types/objects/)
* [Tuple type](https://flow.or
没有合适的资源?快使用搜索试试~ 我知道了~
react-native+ts+dva+react-navigation的app项目
共2000个文件
js:12603个
ts:3981个
map:2519个
需积分: 5 1 下载量 26 浏览量
2023-03-29
16:34:23
上传
评论
收藏 288.6MB RAR 举报
温馨提示
1.使用比较新的rn版本,版本号:0.70.6 2.使用ts进行开发 3.整合了dva框架进行状态管理,简单好用 4.整合react-navigation进行路由管理 5.里面写了两个demo页面,用于参考
资源推荐
资源详情
资源评论
收起资源包目录
react-native+ts+dva+react-navigation的app项目 (2000个子文件)
Yoga.cpp 154KB
ConnectionTests.cpp 92KB
LayoutAnimationKeyFrameManager.cpp 69KB
Differentiator.cpp 65KB
StackingContextTest.cpp 58KB
Connection.cpp 54KB
MessageTypes.cpp 50KB
MessageTests.cpp 47KB
testlib.cpp 46KB
JSCRuntime.cpp 45KB
FabricMountingManager.cpp 36KB
YGJNIVanilla.cpp 34KB
MountingTest.cpp 34KB
YogaLayoutableShadowNode.cpp 28KB
JavaTurboModule.cpp 27KB
Inspector.cpp 24KB
UIManagerBinding.cpp 24KB
ScrollViewProps.cpp 22KB
ViewProps.cpp 21KB
Binding.cpp 21KB
DBStorage.cpp 21KB
JSIExecutor.cpp 19KB
LayoutTest.cpp 19KB
LayoutAnimationTest.cpp 18KB
YGNode.cpp 18KB
RuntimeSchedulerTest.cpp 17KB
InspectorState.cpp 16KB
BridgingTest.cpp 16KB
CatalystInstanceImpl.cpp 16KB
LayoutableShadowNodeTest.cpp 15KB
jsi.cpp 15KB
TextLayoutManager.cpp 15KB
UIManager.cpp 15KB
ShadowTree.cpp 14KB
Transform.cpp 14KB
ShadowTreeLifeCycleTest.cpp 14KB
Scheduler.cpp 13KB
StubViewTree.cpp 13KB
AndroidTextInputProps.cpp 12KB
RawPropsTest.cpp 12KB
AccessibilityProps.cpp 11KB
NativeToJsBridge.cpp 11KB
InspectorTests.cpp 11KB
BaseTextProps.cpp 10KB
SurfaceHandler.cpp 10KB
BridgeNativeModulePerfLogger.cpp 9KB
TurboModulePerfLogger.cpp 9KB
Instance.cpp 9KB
ShadowNodeTest.cpp 9KB
MethodInvoker.cpp 9KB
ShadowNode.cpp 9KB
LayoutableShadowNode.cpp 9KB
HermesExecutorFactory.cpp 9KB
YogaStylableProps.cpp 8KB
ParagraphShadowNode.cpp 8KB
AndroidTextInputShadowNode.cpp 8KB
ViewTest.cpp 8KB
TextAttributes.cpp 8KB
ModuleRegistry.cpp 8KB
RawPropsParser.cpp 8KB
CxxNativeModule.cpp 8KB
MessageConverters.cpp 7KB
YGNodePrint.cpp 7KB
FindNodeAtPointTest.cpp 7KB
SampleTurboModuleSpec.cpp 7KB
TurboModuleManager.cpp 7KB
OnLoad.cpp 7KB
main.cpp 7KB
TouchEventEmitter.cpp 7KB
TurboCxxModule.cpp 7KB
RuntimeSchedulerBinding.cpp 6KB
StateReconciliationTest.cpp 6KB
JSIDynamic.cpp 6KB
UITemplateProcessor.cpp 6KB
ShadowViewMutation.cpp 6KB
traitCastTest.cpp 6KB
UITemplateProcessorTest.cpp 6KB
MountingCoordinator.cpp 6KB
ComponentDescriptorRegistry.cpp 6KB
TransactionTelemetryTest.cpp 5KB
methodcall.cpp 5KB
TransactionTelemetry.cpp 5KB
SurfaceRegistryBinding.cpp 5KB
YGEnums.cpp 5KB
ScreenViewManager.cpp 5KB
NativeSampleTurboCxxModuleSpecJSI.cpp 5KB
CoreComponentsRegistry.cpp 5KB
JavaModuleWrapper.cpp 5KB
ComponentDescriptorTest.cpp 5KB
SampleCxxModule.cpp 5KB
SampleTurboCxxModuleLegacyImpl.cpp 5KB
AsyncHermesRuntime.cpp 4KB
ProxyExecutor.cpp 4KB
RuntimeScheduler.cpp 4KB
jsarg_helpers.cpp 4KB
TextInputShadowNode.cpp 4KB
OnLoad.cpp 4KB
AndroidTextInputState.cpp 4KB
MapBufferBuilder.cpp 4KB
JSIndexedRAMBundle.cpp 4KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
诚实可靠王大锤
- 粉丝: 18
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于c++的个人收支管理系统设计
- docker一键安装包
- Screenshot_20240430_144340_com.ss.android.ugc.live.jpg
- 回到山沟沟.mp3
- 基于matlab实现自适应波束形成RLS及LMS算法仿真源程序1.rar
- 基于matlab实现自己编写的基于卡尔曼滤波的利用加速度传感器的计步器,测试数据是传感器放在腰部和手臂 .rar
- 基于matlab实现阵列信号处理,波束形成.rar
- 111111111111111111
- 基于matlab实现计步器编程;对当前的计步器装置的数值算法模拟 .rar
- Mdb学习查看PW;access;mdb;pw;password;patch
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功