diff --git a/.npmignore b/.npmignore
index 522aa03..43650e5 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,5 +1,6 @@
__tests__
coverage
+flow-typed
src
.babelrc
.editorconfig
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..74b7f5c
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,4 @@
+## v0.6.0 (2018-04-03)
+
+* Updated minimum supported version of React to v16.2.0.
+* Added support for `Fragment` component introduced in v16.2.0.
diff --git a/LICENSE b/LICENSE
index cd558aa..ee16740 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2017 Paul Le Cam and contributors
+Copyright (c) 2018 Mainframe and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/__tests__/__snapshots__/lib.js.snap b/__tests__/__snapshots__/lib.js.snap
index e84c82c..5b1facb 100644
--- a/__tests__/__snapshots__/lib.js.snap
+++ b/__tests__/__snapshots__/lib.js.snap
@@ -1,5 +1,20 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`Fragment works end-to-end 1`] = `
+Array [
+
+ hello
+ ,
+
+ test
+ ,
+]
+`;
+
exports[`works end-to-end 1`] = `
`;
+exports[`Renderer supports Fragment 1`] = `
+Array [
+
+ Hello
+ ,
+
+ world
+ ,
+]
+`;
+
exports[`Renderer supports nesting children arrays 1`] = `
diff --git a/__tests__/converter.js b/__tests__/converter.js
index 998f7f0..7285b76 100644
--- a/__tests__/converter.js
+++ b/__tests__/converter.js
@@ -1,6 +1,6 @@
/* global describe it */
-import React, { Component } from 'react'
+import React, { Component, Fragment } from 'react'
import { convertToObject, convertToJSON } from '../src/converter'
@@ -227,6 +227,36 @@ describe('convertToObject', () => {
})
})
+ it('supports Fragment', () => {
+ expect(
+ convertToObject(
+
+
+
+ ,
+ ),
+ ).toEqual({
+ type: 'Fragment',
+ props: {
+ children: [
+ {
+ type: 'Child',
+ props: {
+ key: 'a',
+ test: true,
+ },
+ },
+ {
+ type: 'Child',
+ props: {
+ key: 'b',
+ },
+ },
+ ],
+ },
+ })
+ })
+
it('returns an unsupported component with empty props if the type is unknow', () => {
expect(
convertToObject({
diff --git a/__tests__/lib.js b/__tests__/lib.js
index 85df3f0..9d43b70 100644
--- a/__tests__/lib.js
+++ b/__tests__/lib.js
@@ -1,6 +1,6 @@
/* global it */
-import React, { Component } from 'react'
+import React, { Component, Fragment } from 'react'
import renderer from 'react-test-renderer'
import {
@@ -52,3 +52,24 @@ it('works end-to-end', () => {
.toJSON()
expect(tree).toMatchSnapshot()
})
+
+it('Fragment works end-to-end', () => {
+ const Text = 'Text'
+
+ const json = convertToJSON(
+
+ hello
+ test
+ ,
+ { space: 2 },
+ )
+
+ const components = {
+ Text: ({ children }) => {children},
+ }
+
+ const tree = renderer
+ .create()
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+})
diff --git a/__tests__/renderer.js b/__tests__/renderer.js
index ee519d1..58d8265 100644
--- a/__tests__/renderer.js
+++ b/__tests__/renderer.js
@@ -1,6 +1,6 @@
/* global describe it */
-import React, { Component } from 'react'
+import React, { Component, Fragment } from 'react'
import renderer from 'react-test-renderer'
import { renderFromObject, Renderer } from '../src/renderer'
@@ -120,6 +120,27 @@ describe('Renderer', () => {
expect(tree).toMatchSnapshot()
})
+ it('supports Fragment', () => {
+ const tree = renderer
+ .create(
+ ,
+ )
+ .toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
it('parses and renders the provided JSON string', () => {
const json = JSON.stringify(tree1)
const tree = renderer
diff --git a/flow-typed/npm/babel-cli_vx.x.x.js b/flow-typed/npm/babel-cli_vx.x.x.js
new file mode 100644
index 0000000..af8e510
--- /dev/null
+++ b/flow-typed/npm/babel-cli_vx.x.x.js
@@ -0,0 +1,108 @@
+// flow-typed signature: c84ee8c86512a8c2d753726ebf0ea9eb
+// flow-typed version: <>/babel-cli_v^6.26.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-cli'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-cli' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-cli/bin/babel-doctor' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/bin/babel-external-helpers' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/bin/babel-node' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/bin/babel' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/_babel-node' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel-external-helpers' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel-node' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel/dir' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel/file' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-cli/lib/babel/util' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-cli/bin/babel-doctor.js' {
+ declare module.exports: $Exports<'babel-cli/bin/babel-doctor'>;
+}
+declare module 'babel-cli/bin/babel-external-helpers.js' {
+ declare module.exports: $Exports<'babel-cli/bin/babel-external-helpers'>;
+}
+declare module 'babel-cli/bin/babel-node.js' {
+ declare module.exports: $Exports<'babel-cli/bin/babel-node'>;
+}
+declare module 'babel-cli/bin/babel.js' {
+ declare module.exports: $Exports<'babel-cli/bin/babel'>;
+}
+declare module 'babel-cli/index' {
+ declare module.exports: $Exports<'babel-cli'>;
+}
+declare module 'babel-cli/index.js' {
+ declare module.exports: $Exports<'babel-cli'>;
+}
+declare module 'babel-cli/lib/_babel-node.js' {
+ declare module.exports: $Exports<'babel-cli/lib/_babel-node'>;
+}
+declare module 'babel-cli/lib/babel-external-helpers.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel-external-helpers'>;
+}
+declare module 'babel-cli/lib/babel-node.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel-node'>;
+}
+declare module 'babel-cli/lib/babel/dir.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel/dir'>;
+}
+declare module 'babel-cli/lib/babel/file.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel/file'>;
+}
+declare module 'babel-cli/lib/babel/index.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel/index'>;
+}
+declare module 'babel-cli/lib/babel/util.js' {
+ declare module.exports: $Exports<'babel-cli/lib/babel/util'>;
+}
diff --git a/flow-typed/npm/babel-core_vx.x.x.js b/flow-typed/npm/babel-core_vx.x.x.js
new file mode 100644
index 0000000..dc74617
--- /dev/null
+++ b/flow-typed/npm/babel-core_vx.x.x.js
@@ -0,0 +1,227 @@
+// flow-typed signature: 640dcf7cdffdff8dddcaaf78dadb5f3c
+// flow-typed version: <>/babel-core_v^6.26.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-core'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-core' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-core/lib/api/browser' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/api/node' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/get-possible-plugin-names' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/get-possible-preset-names' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/merge' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/normalize-ast' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/resolve-from-possible-names' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/resolve-plugin' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/resolve-preset' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/helpers/resolve' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/store' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/tools/build-external-helpers' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/logger' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/metadata' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/build-config-chain' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/config' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/option-manager' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/parsers' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/file/options/removed' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/internal-plugins/block-hoist' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/internal-plugins/shadow-functions' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/pipeline' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/plugin-pass' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/transformation/plugin' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/lib/util' {
+ declare module.exports: any;
+}
+
+declare module 'babel-core/register' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-core/index' {
+ declare module.exports: $Exports<'babel-core'>;
+}
+declare module 'babel-core/index.js' {
+ declare module.exports: $Exports<'babel-core'>;
+}
+declare module 'babel-core/lib/api/browser.js' {
+ declare module.exports: $Exports<'babel-core/lib/api/browser'>;
+}
+declare module 'babel-core/lib/api/node.js' {
+ declare module.exports: $Exports<'babel-core/lib/api/node'>;
+}
+declare module 'babel-core/lib/helpers/get-possible-plugin-names.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/get-possible-plugin-names'>;
+}
+declare module 'babel-core/lib/helpers/get-possible-preset-names.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/get-possible-preset-names'>;
+}
+declare module 'babel-core/lib/helpers/merge.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/merge'>;
+}
+declare module 'babel-core/lib/helpers/normalize-ast.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/normalize-ast'>;
+}
+declare module 'babel-core/lib/helpers/resolve-from-possible-names.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/resolve-from-possible-names'>;
+}
+declare module 'babel-core/lib/helpers/resolve-plugin.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/resolve-plugin'>;
+}
+declare module 'babel-core/lib/helpers/resolve-preset.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/resolve-preset'>;
+}
+declare module 'babel-core/lib/helpers/resolve.js' {
+ declare module.exports: $Exports<'babel-core/lib/helpers/resolve'>;
+}
+declare module 'babel-core/lib/store.js' {
+ declare module.exports: $Exports<'babel-core/lib/store'>;
+}
+declare module 'babel-core/lib/tools/build-external-helpers.js' {
+ declare module.exports: $Exports<'babel-core/lib/tools/build-external-helpers'>;
+}
+declare module 'babel-core/lib/transformation/file/index.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/index'>;
+}
+declare module 'babel-core/lib/transformation/file/logger.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/logger'>;
+}
+declare module 'babel-core/lib/transformation/file/metadata.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/metadata'>;
+}
+declare module 'babel-core/lib/transformation/file/options/build-config-chain.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/build-config-chain'>;
+}
+declare module 'babel-core/lib/transformation/file/options/config.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/config'>;
+}
+declare module 'babel-core/lib/transformation/file/options/index.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/index'>;
+}
+declare module 'babel-core/lib/transformation/file/options/option-manager.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/option-manager'>;
+}
+declare module 'babel-core/lib/transformation/file/options/parsers.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/parsers'>;
+}
+declare module 'babel-core/lib/transformation/file/options/removed.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/file/options/removed'>;
+}
+declare module 'babel-core/lib/transformation/internal-plugins/block-hoist.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/internal-plugins/block-hoist'>;
+}
+declare module 'babel-core/lib/transformation/internal-plugins/shadow-functions.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/internal-plugins/shadow-functions'>;
+}
+declare module 'babel-core/lib/transformation/pipeline.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/pipeline'>;
+}
+declare module 'babel-core/lib/transformation/plugin-pass.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/plugin-pass'>;
+}
+declare module 'babel-core/lib/transformation/plugin.js' {
+ declare module.exports: $Exports<'babel-core/lib/transformation/plugin'>;
+}
+declare module 'babel-core/lib/util.js' {
+ declare module.exports: $Exports<'babel-core/lib/util'>;
+}
+declare module 'babel-core/register.js' {
+ declare module.exports: $Exports<'babel-core/register'>;
+}
diff --git a/flow-typed/npm/babel-eslint_vx.x.x.js b/flow-typed/npm/babel-eslint_vx.x.x.js
new file mode 100644
index 0000000..312e549
--- /dev/null
+++ b/flow-typed/npm/babel-eslint_vx.x.x.js
@@ -0,0 +1,123 @@
+// flow-typed signature: 7fd14ba9055586931d3b7ca312689a30
+// flow-typed version: <>/babel-eslint_v^8.1.2/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-eslint'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-eslint' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-eslint/lib/analyze-scope' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/attachComments' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/convertComments' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/toAST' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/toToken' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/babylon-to-espree/toTokens' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/parse-with-patch' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/parse-with-scope' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/parse' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/patch-eslint-scope' {
+ declare module.exports: any;
+}
+
+declare module 'babel-eslint/lib/visitor-keys' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-eslint/lib/analyze-scope.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/analyze-scope'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/attachComments.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/attachComments'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/convertComments.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertComments'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertTemplateType'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/index.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/index'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/toAST.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toAST'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/toToken.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toToken'>;
+}
+declare module 'babel-eslint/lib/babylon-to-espree/toTokens.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toTokens'>;
+}
+declare module 'babel-eslint/lib/index.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/index'>;
+}
+declare module 'babel-eslint/lib/parse-with-patch.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/parse-with-patch'>;
+}
+declare module 'babel-eslint/lib/parse-with-scope.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/parse-with-scope'>;
+}
+declare module 'babel-eslint/lib/parse.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/parse'>;
+}
+declare module 'babel-eslint/lib/patch-eslint-scope.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/patch-eslint-scope'>;
+}
+declare module 'babel-eslint/lib/visitor-keys.js' {
+ declare module.exports: $Exports<'babel-eslint/lib/visitor-keys'>;
+}
diff --git a/flow-typed/npm/babel-jest_vx.x.x.js b/flow-typed/npm/babel-jest_vx.x.x.js
new file mode 100644
index 0000000..5e9db13
--- /dev/null
+++ b/flow-typed/npm/babel-jest_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: 1035b2847d859d53ac911f736766073a
+// flow-typed version: <>/babel-jest_v^22.0.4/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-jest'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-jest' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-jest/build/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-jest/build/index.js' {
+ declare module.exports: $Exports<'babel-jest/build/index'>;
+}
diff --git a/flow-typed/npm/babel-preset-env_vx.x.x.js b/flow-typed/npm/babel-preset-env_vx.x.x.js
new file mode 100644
index 0000000..7dfa2f4
--- /dev/null
+++ b/flow-typed/npm/babel-preset-env_vx.x.x.js
@@ -0,0 +1,88 @@
+// flow-typed signature: bda3a77185ea3a353196e1409d969036
+// flow-typed version: <>/babel-preset-env_v^1.6.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-preset-env'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-preset-env' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-preset-env/data/built-in-features' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/data/plugin-features' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/default-includes' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/index' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/module-transformations' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/normalize-options' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/targets-parser' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/transform-polyfill-require-plugin' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-env/lib/utils' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-preset-env/data/built-in-features.js' {
+ declare module.exports: $Exports<'babel-preset-env/data/built-in-features'>;
+}
+declare module 'babel-preset-env/data/plugin-features.js' {
+ declare module.exports: $Exports<'babel-preset-env/data/plugin-features'>;
+}
+declare module 'babel-preset-env/lib/default-includes.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/default-includes'>;
+}
+declare module 'babel-preset-env/lib/index.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/index'>;
+}
+declare module 'babel-preset-env/lib/module-transformations.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/module-transformations'>;
+}
+declare module 'babel-preset-env/lib/normalize-options.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/normalize-options'>;
+}
+declare module 'babel-preset-env/lib/targets-parser.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/targets-parser'>;
+}
+declare module 'babel-preset-env/lib/transform-polyfill-require-plugin.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/transform-polyfill-require-plugin'>;
+}
+declare module 'babel-preset-env/lib/utils.js' {
+ declare module.exports: $Exports<'babel-preset-env/lib/utils'>;
+}
diff --git a/flow-typed/npm/babel-preset-react_vx.x.x.js b/flow-typed/npm/babel-preset-react_vx.x.x.js
new file mode 100644
index 0000000..e7e1e13
--- /dev/null
+++ b/flow-typed/npm/babel-preset-react_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: 46ec1259939954a65717a38374f317fb
+// flow-typed version: <>/babel-preset-react_v^6.24.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-preset-react'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-preset-react' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-preset-react/lib/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-preset-react/lib/index.js' {
+ declare module.exports: $Exports<'babel-preset-react/lib/index'>;
+}
diff --git a/flow-typed/npm/babel-preset-stage-1_vx.x.x.js b/flow-typed/npm/babel-preset-stage-1_vx.x.x.js
new file mode 100644
index 0000000..2ff7beb
--- /dev/null
+++ b/flow-typed/npm/babel-preset-stage-1_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: a2da766b57158436773f9706ccf707fb
+// flow-typed version: <>/babel-preset-stage-1_v^6.24.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-preset-stage-1'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-preset-stage-1' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-preset-stage-1/lib/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-preset-stage-1/lib/index.js' {
+ declare module.exports: $Exports<'babel-preset-stage-1/lib/index'>;
+}
diff --git a/flow-typed/npm/del-cli_vx.x.x.js b/flow-typed/npm/del-cli_vx.x.x.js
new file mode 100644
index 0000000..9e07cf0
--- /dev/null
+++ b/flow-typed/npm/del-cli_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: f2e682017e570a0f79acf7f42cab016a
+// flow-typed version: <>/del-cli_v^1.1.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'del-cli'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'del-cli' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'del-cli/cli' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'del-cli/cli.js' {
+ declare module.exports: $Exports<'del-cli/cli'>;
+}
diff --git a/flow-typed/npm/eslint-config-prettier_vx.x.x.js b/flow-typed/npm/eslint-config-prettier_vx.x.x.js
new file mode 100644
index 0000000..eab3d6f
--- /dev/null
+++ b/flow-typed/npm/eslint-config-prettier_vx.x.x.js
@@ -0,0 +1,66 @@
+// flow-typed signature: 3711665c8cab1c09358ae8b972d2e47d
+// flow-typed version: <>/eslint-config-prettier_v^2.9.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'eslint-config-prettier'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'eslint-config-prettier' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'eslint-config-prettier/bin/cli' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-config-prettier/bin/validators' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-config-prettier/flowtype' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-config-prettier/react' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-config-prettier/standard' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'eslint-config-prettier/bin/cli.js' {
+ declare module.exports: $Exports<'eslint-config-prettier/bin/cli'>;
+}
+declare module 'eslint-config-prettier/bin/validators.js' {
+ declare module.exports: $Exports<'eslint-config-prettier/bin/validators'>;
+}
+declare module 'eslint-config-prettier/flowtype.js' {
+ declare module.exports: $Exports<'eslint-config-prettier/flowtype'>;
+}
+declare module 'eslint-config-prettier/index' {
+ declare module.exports: $Exports<'eslint-config-prettier'>;
+}
+declare module 'eslint-config-prettier/index.js' {
+ declare module.exports: $Exports<'eslint-config-prettier'>;
+}
+declare module 'eslint-config-prettier/react.js' {
+ declare module.exports: $Exports<'eslint-config-prettier/react'>;
+}
+declare module 'eslint-config-prettier/standard.js' {
+ declare module.exports: $Exports<'eslint-config-prettier/standard'>;
+}
diff --git a/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js b/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js
new file mode 100644
index 0000000..770ba4f
--- /dev/null
+++ b/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js
@@ -0,0 +1,382 @@
+// flow-typed signature: 75c9ec84e53d06ab95b8942cbeb1bbb9
+// flow-typed version: <>/eslint-plugin-flowtype_v^2.40.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'eslint-plugin-flowtype'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'eslint-plugin-flowtype' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'eslint-plugin-flowtype/bin/readmeAssertions' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/index' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireExactType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/semi' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/sortKeys' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/useFlowType' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/rules/validSyntax' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/index' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/quoteName' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'eslint-plugin-flowtype/bin/readmeAssertions.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/bin/readmeAssertions'>;
+}
+declare module 'eslint-plugin-flowtype/dist/index.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/index'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/booleanStyle'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/defineFlowType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/delimiterDangle'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/genericSpacing'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noDupeKeys'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noExistentialType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noMutableArray'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noUnusedExpressions'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noWeakTypes'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireExactType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireExactType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireParameterType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireReturnType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireTypesAtTop'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireVariableType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/semi.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/semi'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/sortKeys.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/sortKeys'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeIdMatch'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeImportStyle'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/useFlowType.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/useFlowType'>;
+}
+declare module 'eslint-plugin-flowtype/dist/rules/validSyntax.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/validSyntax'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getParameterName'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/index.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/index'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isFlowFile'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/quoteName.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/quoteName'>;
+}
+declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers.js' {
+ declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/spacingFixers'>;
+}
diff --git a/flow-typed/npm/eslint-plugin-prettier_vx.x.x.js b/flow-typed/npm/eslint-plugin-prettier_vx.x.x.js
new file mode 100644
index 0000000..c9fe94f
--- /dev/null
+++ b/flow-typed/npm/eslint-plugin-prettier_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: 5a6701459abf77863acd13da4c5e27e2
+// flow-typed version: <>/eslint-plugin-prettier_v^2.4.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'eslint-plugin-prettier'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'eslint-plugin-prettier' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'eslint-plugin-prettier/eslint-plugin-prettier' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'eslint-plugin-prettier/eslint-plugin-prettier.js' {
+ declare module.exports: $Exports<'eslint-plugin-prettier/eslint-plugin-prettier'>;
+}
diff --git a/flow-typed/npm/eslint-plugin-react_vx.x.x.js b/flow-typed/npm/eslint-plugin-react_vx.x.x.js
new file mode 100644
index 0000000..6eff01d
--- /dev/null
+++ b/flow-typed/npm/eslint-plugin-react_vx.x.x.js
@@ -0,0 +1,626 @@
+// flow-typed signature: e3da0c740380f8862f478d2edab56840
+// flow-typed version: <>/eslint-plugin-react_v^7.5.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'eslint-plugin-react'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'eslint-plugin-react' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/button-has-type' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/destructuring-assignment' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/display-name' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/forbid-component-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/forbid-dom-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/forbid-elements' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/forbid-prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-child-element-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-handler-names' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-indent-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-indent' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-key' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-max-depth' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-bind' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-literals' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-no-undef' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-sort-default-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-sort-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-uses-react' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-array-index-key' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-children-prop' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-danger-with-children' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-danger' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-deprecated' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-find-dom-node' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-is-mounted' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-multi-comp' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-render-return-value' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-set-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-string-refs' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-this-in-sfc' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-typos' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-unknown-property' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-unused-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/prefer-es6-class' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/require-default-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/require-optimization' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/require-render-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/self-closing-comp' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/sort-comp' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/sort-prop-types' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/style-prop-object' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/annotations' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/ast' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/Components' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/docsUrl' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/pragma' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/variable' {
+ declare module.exports: any;
+}
+
+declare module 'eslint-plugin-react/lib/util/version' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'eslint-plugin-react/index' {
+ declare module.exports: $Exports<'eslint-plugin-react'>;
+}
+declare module 'eslint-plugin-react/index.js' {
+ declare module.exports: $Exports<'eslint-plugin-react'>;
+}
+declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/boolean-prop-naming'>;
+}
+declare module 'eslint-plugin-react/lib/rules/button-has-type.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/button-has-type'>;
+}
+declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/default-props-match-prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/destructuring-assignment.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/destructuring-assignment'>;
+}
+declare module 'eslint-plugin-react/lib/rules/display-name.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/display-name'>;
+}
+declare module 'eslint-plugin-react/lib/rules/forbid-component-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-component-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/forbid-dom-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-dom-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/forbid-elements.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-elements'>;
+}
+declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-foreign-prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/forbid-prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-boolean-value'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-child-element-spacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-child-element-spacing'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-bracket-location'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-tag-location'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-brace-presence'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-spacing'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-equals-spacing'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-filename-extension'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-first-prop-new-line'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-handler-names.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-handler-names'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-indent-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-indent.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-key.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-key'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-max-depth.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-depth'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-props-per-line'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-bind.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-bind'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-duplicate-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-literals.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-literals'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-target-blank'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-no-undef.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-undef'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-one-expression-per-line'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-pascal-case'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-sort-default-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-default-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-sort-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-space-before-closing'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-tag-spacing'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-uses-react.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-react'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-vars'>;
+}
+declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-wrap-multilines'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-access-state-in-setstate'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-array-index-key.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-array-index-key'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-children-prop.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-children-prop'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-danger-with-children.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger-with-children'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-danger.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-deprecated.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-deprecated'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-mount-set-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-update-set-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-direct-mutation-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-find-dom-node.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-find-dom-node'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-is-mounted.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-is-mounted'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-multi-comp.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-multi-comp'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-redundant-should-component-update'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-render-return-value.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-render-return-value'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-set-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-set-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-string-refs.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-string-refs'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-this-in-sfc.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-this-in-sfc'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-typos.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-typos'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unescaped-entities'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-unknown-property.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unknown-property'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-unused-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-will-update-set-state'>;
+}
+declare module 'eslint-plugin-react/lib/rules/prefer-es6-class.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-es6-class'>;
+}
+declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-stateless-function'>;
+}
+declare module 'eslint-plugin-react/lib/rules/prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/react-in-jsx-scope'>;
+}
+declare module 'eslint-plugin-react/lib/rules/require-default-props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-default-props'>;
+}
+declare module 'eslint-plugin-react/lib/rules/require-optimization.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-optimization'>;
+}
+declare module 'eslint-plugin-react/lib/rules/require-render-return.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-render-return'>;
+}
+declare module 'eslint-plugin-react/lib/rules/self-closing-comp.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/self-closing-comp'>;
+}
+declare module 'eslint-plugin-react/lib/rules/sort-comp.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-comp'>;
+}
+declare module 'eslint-plugin-react/lib/rules/sort-prop-types.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-prop-types'>;
+}
+declare module 'eslint-plugin-react/lib/rules/style-prop-object.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/style-prop-object'>;
+}
+declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/rules/void-dom-elements-no-children'>;
+}
+declare module 'eslint-plugin-react/lib/util/annotations.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/annotations'>;
+}
+declare module 'eslint-plugin-react/lib/util/ast.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/ast'>;
+}
+declare module 'eslint-plugin-react/lib/util/Components.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/Components'>;
+}
+declare module 'eslint-plugin-react/lib/util/docsUrl.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/docsUrl'>;
+}
+declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket'>;
+}
+declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/makeNoMethodSetStateRule'>;
+}
+declare module 'eslint-plugin-react/lib/util/pragma.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/pragma'>;
+}
+declare module 'eslint-plugin-react/lib/util/props.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/props'>;
+}
+declare module 'eslint-plugin-react/lib/util/variable.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/variable'>;
+}
+declare module 'eslint-plugin-react/lib/util/version.js' {
+ declare module.exports: $Exports<'eslint-plugin-react/lib/util/version'>;
+}
diff --git a/flow-typed/npm/eslint_vx.x.x.js b/flow-typed/npm/eslint_vx.x.x.js
new file mode 100644
index 0000000..6c9825f
--- /dev/null
+++ b/flow-typed/npm/eslint_vx.x.x.js
@@ -0,0 +1,2405 @@
+// flow-typed signature: 8c076d16fb8d563755c869740dbadb47
+// flow-typed version: <>/eslint_v^4.14.0/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'eslint'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'eslint' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'eslint/bin/eslint' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/conf/config-schema' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/conf/default-cli-options' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/conf/environments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/conf/eslint-all' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/conf/eslint-recommended' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/api' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/ast-utils' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/cli-engine' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/cli' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/code-path-analyzer' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/code-path-segment' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/code-path-state' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/code-path' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/debug-helpers' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/fork-context' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/code-path-analysis/id-generator' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/autoconfig' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-cache' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-file' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-initializer' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-ops' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-rule' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/config-validator' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/environments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/config/plugins' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/file-finder' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/checkstyle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/codeframe' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/compact' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/html' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/jslint-xml' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/json' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/junit' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/stylish' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/table' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/tap' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/unix' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/formatters/visualstudio' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/ignored-paths' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/linter' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/load-rules' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/logging' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/options' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/report-translator' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/accessor-pairs' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/array-bracket-newline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/array-bracket-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/array-callback-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/array-element-newline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/arrow-body-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/arrow-parens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/arrow-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/block-scoped-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/block-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/brace-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/callback-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/camelcase' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/capitalized-comments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/class-methods-use-this' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/comma-dangle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/comma-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/comma-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/complexity' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/computed-property-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/consistent-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/consistent-this' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/constructor-super' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/curly' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/default-case' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/dot-location' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/dot-notation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/eol-last' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/eqeqeq' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/for-direction' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/func-call-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/func-name-matching' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/func-names' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/func-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/function-paren-newline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/generator-star-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/getter-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/global-require' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/guard-for-in' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/handle-callback-err' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/id-blacklist' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/id-length' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/id-match' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/implicit-arrow-linebreak' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/indent-legacy' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/indent' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/init-declarations' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/jsx-quotes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/key-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/keyword-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/line-comment-position' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/linebreak-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/lines-around-comment' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/lines-around-directive' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/lines-between-class-members' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-depth' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-len' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-lines' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-nested-callbacks' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-params' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-statements-per-line' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/max-statements' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/multiline-comment-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/multiline-ternary' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/new-cap' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/new-parens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/newline-after-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/newline-before-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/newline-per-chained-call' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-alert' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-array-constructor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-await-in-loop' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-bitwise' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-buffer-constructor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-caller' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-case-declarations' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-catch-shadow' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-class-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-compare-neg-zero' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-cond-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-confusing-arrow' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-console' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-const-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-constant-condition' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-continue' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-control-regex' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-debugger' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-delete-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-div-regex' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-dupe-args' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-dupe-class-members' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-dupe-keys' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-duplicate-case' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-duplicate-imports' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-else-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-empty-character-class' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-empty-function' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-empty-pattern' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-empty' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-eq-null' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-eval' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-ex-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extend-native' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extra-bind' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extra-boolean-cast' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extra-label' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extra-parens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-extra-semi' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-fallthrough' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-floating-decimal' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-func-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-global-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-implicit-coercion' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-implicit-globals' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-implied-eval' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-inline-comments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-inner-declarations' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-invalid-regexp' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-invalid-this' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-irregular-whitespace' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-iterator' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-label-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-labels' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-lone-blocks' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-lonely-if' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-loop-func' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-magic-numbers' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-mixed-operators' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-mixed-requires' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-mixed-spaces-and-tabs' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-multi-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-multi-spaces' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-multi-str' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-multiple-empty-lines' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-native-reassign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-negated-condition' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-negated-in-lhs' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-nested-ternary' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new-func' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new-object' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new-require' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new-symbol' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new-wrappers' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-new' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-obj-calls' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-octal-escape' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-octal' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-param-reassign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-path-concat' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-plusplus' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-process-env' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-process-exit' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-proto' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-prototype-builtins' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-redeclare' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-regex-spaces' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-restricted-globals' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-restricted-imports' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-restricted-modules' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-restricted-properties' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-restricted-syntax' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-return-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-return-await' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-script-url' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-self-assign' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-self-compare' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-sequences' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-shadow-restricted-names' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-shadow' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-spaced-func' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-sparse-arrays' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-sync' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-tabs' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-template-curly-in-string' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-ternary' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-this-before-super' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-throw-literal' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-trailing-spaces' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-undef-init' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-undef' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-undefined' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-underscore-dangle' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unexpected-multiline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unmodified-loop-condition' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unneeded-ternary' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unreachable' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unsafe-finally' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unsafe-negation' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unused-expressions' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unused-labels' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-unused-vars' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-use-before-define' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-call' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-computed-key' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-concat' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-constructor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-escape' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-rename' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-useless-return' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-void' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-warning-comments' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-whitespace-before-property' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/no-with' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/nonblock-statement-body-position' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/object-curly-newline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/object-curly-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/object-property-newline' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/object-shorthand' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/one-var-declaration-per-line' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/one-var' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/operator-assignment' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/operator-linebreak' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/padded-blocks' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/padding-line-between-statements' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-arrow-callback' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-const' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-destructuring' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-numeric-literals' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-promise-reject-errors' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-reflect' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-rest-params' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-spread' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/prefer-template' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/quote-props' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/quotes' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/radix' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/require-await' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/require-jsdoc' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/require-yield' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/rest-spread-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/semi-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/semi-style' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/semi' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/sort-imports' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/sort-keys' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/sort-vars' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/space-before-blocks' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/space-before-function-paren' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/space-in-parens' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/space-infix-ops' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/space-unary-ops' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/spaced-comment' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/strict' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/switch-colon-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/symbol-description' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/template-curly-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/template-tag-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/unicode-bom' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/use-isnan' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/valid-jsdoc' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/valid-typeof' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/vars-on-top' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/wrap-iife' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/wrap-regex' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/yield-star-spacing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/rules/yoda' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/testers/rule-tester' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/timing' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/backward-token-comment-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/backward-token-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/cursors' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/decorative-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/filter-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/forward-token-comment-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/forward-token-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/index' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/limit-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/padded-token-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/skip-cursor' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/token-store/utils' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/ajv' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/apply-disable-directives' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/fix-tracker' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/glob-util' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/glob' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/hash' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/interpolate' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/keywords' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/module-resolver' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/naming' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/node-event-generator' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/npm-util' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/path-util' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/patterns/letters' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/rule-fixer' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/safe-emitter' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/source-code-fixer' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/source-code-util' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/source-code' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/traverser' {
+ declare module.exports: any;
+}
+
+declare module 'eslint/lib/util/xml-escape' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'eslint/bin/eslint.js' {
+ declare module.exports: $Exports<'eslint/bin/eslint'>;
+}
+declare module 'eslint/conf/config-schema.js' {
+ declare module.exports: $Exports<'eslint/conf/config-schema'>;
+}
+declare module 'eslint/conf/default-cli-options.js' {
+ declare module.exports: $Exports<'eslint/conf/default-cli-options'>;
+}
+declare module 'eslint/conf/environments.js' {
+ declare module.exports: $Exports<'eslint/conf/environments'>;
+}
+declare module 'eslint/conf/eslint-all.js' {
+ declare module.exports: $Exports<'eslint/conf/eslint-all'>;
+}
+declare module 'eslint/conf/eslint-recommended.js' {
+ declare module.exports: $Exports<'eslint/conf/eslint-recommended'>;
+}
+declare module 'eslint/lib/api.js' {
+ declare module.exports: $Exports<'eslint/lib/api'>;
+}
+declare module 'eslint/lib/ast-utils.js' {
+ declare module.exports: $Exports<'eslint/lib/ast-utils'>;
+}
+declare module 'eslint/lib/cli-engine.js' {
+ declare module.exports: $Exports<'eslint/lib/cli-engine'>;
+}
+declare module 'eslint/lib/cli.js' {
+ declare module.exports: $Exports<'eslint/lib/cli'>;
+}
+declare module 'eslint/lib/code-path-analysis/code-path-analyzer.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-analyzer'>;
+}
+declare module 'eslint/lib/code-path-analysis/code-path-segment.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-segment'>;
+}
+declare module 'eslint/lib/code-path-analysis/code-path-state.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-state'>;
+}
+declare module 'eslint/lib/code-path-analysis/code-path.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path'>;
+}
+declare module 'eslint/lib/code-path-analysis/debug-helpers.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/debug-helpers'>;
+}
+declare module 'eslint/lib/code-path-analysis/fork-context.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/fork-context'>;
+}
+declare module 'eslint/lib/code-path-analysis/id-generator.js' {
+ declare module.exports: $Exports<'eslint/lib/code-path-analysis/id-generator'>;
+}
+declare module 'eslint/lib/config.js' {
+ declare module.exports: $Exports<'eslint/lib/config'>;
+}
+declare module 'eslint/lib/config/autoconfig.js' {
+ declare module.exports: $Exports<'eslint/lib/config/autoconfig'>;
+}
+declare module 'eslint/lib/config/config-cache.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-cache'>;
+}
+declare module 'eslint/lib/config/config-file.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-file'>;
+}
+declare module 'eslint/lib/config/config-initializer.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-initializer'>;
+}
+declare module 'eslint/lib/config/config-ops.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-ops'>;
+}
+declare module 'eslint/lib/config/config-rule.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-rule'>;
+}
+declare module 'eslint/lib/config/config-validator.js' {
+ declare module.exports: $Exports<'eslint/lib/config/config-validator'>;
+}
+declare module 'eslint/lib/config/environments.js' {
+ declare module.exports: $Exports<'eslint/lib/config/environments'>;
+}
+declare module 'eslint/lib/config/plugins.js' {
+ declare module.exports: $Exports<'eslint/lib/config/plugins'>;
+}
+declare module 'eslint/lib/file-finder.js' {
+ declare module.exports: $Exports<'eslint/lib/file-finder'>;
+}
+declare module 'eslint/lib/formatters/checkstyle.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/checkstyle'>;
+}
+declare module 'eslint/lib/formatters/codeframe.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/codeframe'>;
+}
+declare module 'eslint/lib/formatters/compact.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/compact'>;
+}
+declare module 'eslint/lib/formatters/html.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/html'>;
+}
+declare module 'eslint/lib/formatters/jslint-xml.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/jslint-xml'>;
+}
+declare module 'eslint/lib/formatters/json.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/json'>;
+}
+declare module 'eslint/lib/formatters/junit.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/junit'>;
+}
+declare module 'eslint/lib/formatters/stylish.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/stylish'>;
+}
+declare module 'eslint/lib/formatters/table.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/table'>;
+}
+declare module 'eslint/lib/formatters/tap.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/tap'>;
+}
+declare module 'eslint/lib/formatters/unix.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/unix'>;
+}
+declare module 'eslint/lib/formatters/visualstudio.js' {
+ declare module.exports: $Exports<'eslint/lib/formatters/visualstudio'>;
+}
+declare module 'eslint/lib/ignored-paths.js' {
+ declare module.exports: $Exports<'eslint/lib/ignored-paths'>;
+}
+declare module 'eslint/lib/linter.js' {
+ declare module.exports: $Exports<'eslint/lib/linter'>;
+}
+declare module 'eslint/lib/load-rules.js' {
+ declare module.exports: $Exports<'eslint/lib/load-rules'>;
+}
+declare module 'eslint/lib/logging.js' {
+ declare module.exports: $Exports<'eslint/lib/logging'>;
+}
+declare module 'eslint/lib/options.js' {
+ declare module.exports: $Exports<'eslint/lib/options'>;
+}
+declare module 'eslint/lib/report-translator.js' {
+ declare module.exports: $Exports<'eslint/lib/report-translator'>;
+}
+declare module 'eslint/lib/rules.js' {
+ declare module.exports: $Exports<'eslint/lib/rules'>;
+}
+declare module 'eslint/lib/rules/accessor-pairs.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/accessor-pairs'>;
+}
+declare module 'eslint/lib/rules/array-bracket-newline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/array-bracket-newline'>;
+}
+declare module 'eslint/lib/rules/array-bracket-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/array-bracket-spacing'>;
+}
+declare module 'eslint/lib/rules/array-callback-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/array-callback-return'>;
+}
+declare module 'eslint/lib/rules/array-element-newline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/array-element-newline'>;
+}
+declare module 'eslint/lib/rules/arrow-body-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/arrow-body-style'>;
+}
+declare module 'eslint/lib/rules/arrow-parens.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/arrow-parens'>;
+}
+declare module 'eslint/lib/rules/arrow-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/arrow-spacing'>;
+}
+declare module 'eslint/lib/rules/block-scoped-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/block-scoped-var'>;
+}
+declare module 'eslint/lib/rules/block-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/block-spacing'>;
+}
+declare module 'eslint/lib/rules/brace-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/brace-style'>;
+}
+declare module 'eslint/lib/rules/callback-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/callback-return'>;
+}
+declare module 'eslint/lib/rules/camelcase.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/camelcase'>;
+}
+declare module 'eslint/lib/rules/capitalized-comments.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/capitalized-comments'>;
+}
+declare module 'eslint/lib/rules/class-methods-use-this.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/class-methods-use-this'>;
+}
+declare module 'eslint/lib/rules/comma-dangle.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/comma-dangle'>;
+}
+declare module 'eslint/lib/rules/comma-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/comma-spacing'>;
+}
+declare module 'eslint/lib/rules/comma-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/comma-style'>;
+}
+declare module 'eslint/lib/rules/complexity.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/complexity'>;
+}
+declare module 'eslint/lib/rules/computed-property-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/computed-property-spacing'>;
+}
+declare module 'eslint/lib/rules/consistent-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/consistent-return'>;
+}
+declare module 'eslint/lib/rules/consistent-this.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/consistent-this'>;
+}
+declare module 'eslint/lib/rules/constructor-super.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/constructor-super'>;
+}
+declare module 'eslint/lib/rules/curly.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/curly'>;
+}
+declare module 'eslint/lib/rules/default-case.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/default-case'>;
+}
+declare module 'eslint/lib/rules/dot-location.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/dot-location'>;
+}
+declare module 'eslint/lib/rules/dot-notation.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/dot-notation'>;
+}
+declare module 'eslint/lib/rules/eol-last.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/eol-last'>;
+}
+declare module 'eslint/lib/rules/eqeqeq.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/eqeqeq'>;
+}
+declare module 'eslint/lib/rules/for-direction.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/for-direction'>;
+}
+declare module 'eslint/lib/rules/func-call-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/func-call-spacing'>;
+}
+declare module 'eslint/lib/rules/func-name-matching.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/func-name-matching'>;
+}
+declare module 'eslint/lib/rules/func-names.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/func-names'>;
+}
+declare module 'eslint/lib/rules/func-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/func-style'>;
+}
+declare module 'eslint/lib/rules/function-paren-newline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/function-paren-newline'>;
+}
+declare module 'eslint/lib/rules/generator-star-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/generator-star-spacing'>;
+}
+declare module 'eslint/lib/rules/getter-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/getter-return'>;
+}
+declare module 'eslint/lib/rules/global-require.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/global-require'>;
+}
+declare module 'eslint/lib/rules/guard-for-in.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/guard-for-in'>;
+}
+declare module 'eslint/lib/rules/handle-callback-err.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/handle-callback-err'>;
+}
+declare module 'eslint/lib/rules/id-blacklist.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/id-blacklist'>;
+}
+declare module 'eslint/lib/rules/id-length.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/id-length'>;
+}
+declare module 'eslint/lib/rules/id-match.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/id-match'>;
+}
+declare module 'eslint/lib/rules/implicit-arrow-linebreak.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/implicit-arrow-linebreak'>;
+}
+declare module 'eslint/lib/rules/indent-legacy.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/indent-legacy'>;
+}
+declare module 'eslint/lib/rules/indent.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/indent'>;
+}
+declare module 'eslint/lib/rules/init-declarations.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/init-declarations'>;
+}
+declare module 'eslint/lib/rules/jsx-quotes.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/jsx-quotes'>;
+}
+declare module 'eslint/lib/rules/key-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/key-spacing'>;
+}
+declare module 'eslint/lib/rules/keyword-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/keyword-spacing'>;
+}
+declare module 'eslint/lib/rules/line-comment-position.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/line-comment-position'>;
+}
+declare module 'eslint/lib/rules/linebreak-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/linebreak-style'>;
+}
+declare module 'eslint/lib/rules/lines-around-comment.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/lines-around-comment'>;
+}
+declare module 'eslint/lib/rules/lines-around-directive.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/lines-around-directive'>;
+}
+declare module 'eslint/lib/rules/lines-between-class-members.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/lines-between-class-members'>;
+}
+declare module 'eslint/lib/rules/max-depth.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-depth'>;
+}
+declare module 'eslint/lib/rules/max-len.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-len'>;
+}
+declare module 'eslint/lib/rules/max-lines.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-lines'>;
+}
+declare module 'eslint/lib/rules/max-nested-callbacks.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-nested-callbacks'>;
+}
+declare module 'eslint/lib/rules/max-params.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-params'>;
+}
+declare module 'eslint/lib/rules/max-statements-per-line.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-statements-per-line'>;
+}
+declare module 'eslint/lib/rules/max-statements.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/max-statements'>;
+}
+declare module 'eslint/lib/rules/multiline-comment-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/multiline-comment-style'>;
+}
+declare module 'eslint/lib/rules/multiline-ternary.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/multiline-ternary'>;
+}
+declare module 'eslint/lib/rules/new-cap.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/new-cap'>;
+}
+declare module 'eslint/lib/rules/new-parens.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/new-parens'>;
+}
+declare module 'eslint/lib/rules/newline-after-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/newline-after-var'>;
+}
+declare module 'eslint/lib/rules/newline-before-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/newline-before-return'>;
+}
+declare module 'eslint/lib/rules/newline-per-chained-call.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/newline-per-chained-call'>;
+}
+declare module 'eslint/lib/rules/no-alert.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-alert'>;
+}
+declare module 'eslint/lib/rules/no-array-constructor.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-array-constructor'>;
+}
+declare module 'eslint/lib/rules/no-await-in-loop.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-await-in-loop'>;
+}
+declare module 'eslint/lib/rules/no-bitwise.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-bitwise'>;
+}
+declare module 'eslint/lib/rules/no-buffer-constructor.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-buffer-constructor'>;
+}
+declare module 'eslint/lib/rules/no-caller.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-caller'>;
+}
+declare module 'eslint/lib/rules/no-case-declarations.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-case-declarations'>;
+}
+declare module 'eslint/lib/rules/no-catch-shadow.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-catch-shadow'>;
+}
+declare module 'eslint/lib/rules/no-class-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-class-assign'>;
+}
+declare module 'eslint/lib/rules/no-compare-neg-zero.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-compare-neg-zero'>;
+}
+declare module 'eslint/lib/rules/no-cond-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-cond-assign'>;
+}
+declare module 'eslint/lib/rules/no-confusing-arrow.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-confusing-arrow'>;
+}
+declare module 'eslint/lib/rules/no-console.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-console'>;
+}
+declare module 'eslint/lib/rules/no-const-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-const-assign'>;
+}
+declare module 'eslint/lib/rules/no-constant-condition.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-constant-condition'>;
+}
+declare module 'eslint/lib/rules/no-continue.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-continue'>;
+}
+declare module 'eslint/lib/rules/no-control-regex.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-control-regex'>;
+}
+declare module 'eslint/lib/rules/no-debugger.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-debugger'>;
+}
+declare module 'eslint/lib/rules/no-delete-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-delete-var'>;
+}
+declare module 'eslint/lib/rules/no-div-regex.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-div-regex'>;
+}
+declare module 'eslint/lib/rules/no-dupe-args.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-dupe-args'>;
+}
+declare module 'eslint/lib/rules/no-dupe-class-members.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-dupe-class-members'>;
+}
+declare module 'eslint/lib/rules/no-dupe-keys.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-dupe-keys'>;
+}
+declare module 'eslint/lib/rules/no-duplicate-case.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-duplicate-case'>;
+}
+declare module 'eslint/lib/rules/no-duplicate-imports.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-duplicate-imports'>;
+}
+declare module 'eslint/lib/rules/no-else-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-else-return'>;
+}
+declare module 'eslint/lib/rules/no-empty-character-class.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-empty-character-class'>;
+}
+declare module 'eslint/lib/rules/no-empty-function.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-empty-function'>;
+}
+declare module 'eslint/lib/rules/no-empty-pattern.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-empty-pattern'>;
+}
+declare module 'eslint/lib/rules/no-empty.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-empty'>;
+}
+declare module 'eslint/lib/rules/no-eq-null.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-eq-null'>;
+}
+declare module 'eslint/lib/rules/no-eval.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-eval'>;
+}
+declare module 'eslint/lib/rules/no-ex-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-ex-assign'>;
+}
+declare module 'eslint/lib/rules/no-extend-native.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extend-native'>;
+}
+declare module 'eslint/lib/rules/no-extra-bind.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extra-bind'>;
+}
+declare module 'eslint/lib/rules/no-extra-boolean-cast.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extra-boolean-cast'>;
+}
+declare module 'eslint/lib/rules/no-extra-label.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extra-label'>;
+}
+declare module 'eslint/lib/rules/no-extra-parens.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extra-parens'>;
+}
+declare module 'eslint/lib/rules/no-extra-semi.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-extra-semi'>;
+}
+declare module 'eslint/lib/rules/no-fallthrough.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-fallthrough'>;
+}
+declare module 'eslint/lib/rules/no-floating-decimal.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-floating-decimal'>;
+}
+declare module 'eslint/lib/rules/no-func-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-func-assign'>;
+}
+declare module 'eslint/lib/rules/no-global-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-global-assign'>;
+}
+declare module 'eslint/lib/rules/no-implicit-coercion.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-implicit-coercion'>;
+}
+declare module 'eslint/lib/rules/no-implicit-globals.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-implicit-globals'>;
+}
+declare module 'eslint/lib/rules/no-implied-eval.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-implied-eval'>;
+}
+declare module 'eslint/lib/rules/no-inline-comments.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-inline-comments'>;
+}
+declare module 'eslint/lib/rules/no-inner-declarations.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-inner-declarations'>;
+}
+declare module 'eslint/lib/rules/no-invalid-regexp.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-invalid-regexp'>;
+}
+declare module 'eslint/lib/rules/no-invalid-this.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-invalid-this'>;
+}
+declare module 'eslint/lib/rules/no-irregular-whitespace.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-irregular-whitespace'>;
+}
+declare module 'eslint/lib/rules/no-iterator.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-iterator'>;
+}
+declare module 'eslint/lib/rules/no-label-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-label-var'>;
+}
+declare module 'eslint/lib/rules/no-labels.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-labels'>;
+}
+declare module 'eslint/lib/rules/no-lone-blocks.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-lone-blocks'>;
+}
+declare module 'eslint/lib/rules/no-lonely-if.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-lonely-if'>;
+}
+declare module 'eslint/lib/rules/no-loop-func.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-loop-func'>;
+}
+declare module 'eslint/lib/rules/no-magic-numbers.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-magic-numbers'>;
+}
+declare module 'eslint/lib/rules/no-mixed-operators.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-mixed-operators'>;
+}
+declare module 'eslint/lib/rules/no-mixed-requires.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-mixed-requires'>;
+}
+declare module 'eslint/lib/rules/no-mixed-spaces-and-tabs.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-mixed-spaces-and-tabs'>;
+}
+declare module 'eslint/lib/rules/no-multi-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-multi-assign'>;
+}
+declare module 'eslint/lib/rules/no-multi-spaces.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-multi-spaces'>;
+}
+declare module 'eslint/lib/rules/no-multi-str.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-multi-str'>;
+}
+declare module 'eslint/lib/rules/no-multiple-empty-lines.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-multiple-empty-lines'>;
+}
+declare module 'eslint/lib/rules/no-native-reassign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-native-reassign'>;
+}
+declare module 'eslint/lib/rules/no-negated-condition.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-negated-condition'>;
+}
+declare module 'eslint/lib/rules/no-negated-in-lhs.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-negated-in-lhs'>;
+}
+declare module 'eslint/lib/rules/no-nested-ternary.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-nested-ternary'>;
+}
+declare module 'eslint/lib/rules/no-new-func.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new-func'>;
+}
+declare module 'eslint/lib/rules/no-new-object.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new-object'>;
+}
+declare module 'eslint/lib/rules/no-new-require.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new-require'>;
+}
+declare module 'eslint/lib/rules/no-new-symbol.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new-symbol'>;
+}
+declare module 'eslint/lib/rules/no-new-wrappers.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new-wrappers'>;
+}
+declare module 'eslint/lib/rules/no-new.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-new'>;
+}
+declare module 'eslint/lib/rules/no-obj-calls.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-obj-calls'>;
+}
+declare module 'eslint/lib/rules/no-octal-escape.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-octal-escape'>;
+}
+declare module 'eslint/lib/rules/no-octal.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-octal'>;
+}
+declare module 'eslint/lib/rules/no-param-reassign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-param-reassign'>;
+}
+declare module 'eslint/lib/rules/no-path-concat.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-path-concat'>;
+}
+declare module 'eslint/lib/rules/no-plusplus.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-plusplus'>;
+}
+declare module 'eslint/lib/rules/no-process-env.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-process-env'>;
+}
+declare module 'eslint/lib/rules/no-process-exit.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-process-exit'>;
+}
+declare module 'eslint/lib/rules/no-proto.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-proto'>;
+}
+declare module 'eslint/lib/rules/no-prototype-builtins.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-prototype-builtins'>;
+}
+declare module 'eslint/lib/rules/no-redeclare.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-redeclare'>;
+}
+declare module 'eslint/lib/rules/no-regex-spaces.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-regex-spaces'>;
+}
+declare module 'eslint/lib/rules/no-restricted-globals.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-restricted-globals'>;
+}
+declare module 'eslint/lib/rules/no-restricted-imports.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-restricted-imports'>;
+}
+declare module 'eslint/lib/rules/no-restricted-modules.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-restricted-modules'>;
+}
+declare module 'eslint/lib/rules/no-restricted-properties.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-restricted-properties'>;
+}
+declare module 'eslint/lib/rules/no-restricted-syntax.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-restricted-syntax'>;
+}
+declare module 'eslint/lib/rules/no-return-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-return-assign'>;
+}
+declare module 'eslint/lib/rules/no-return-await.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-return-await'>;
+}
+declare module 'eslint/lib/rules/no-script-url.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-script-url'>;
+}
+declare module 'eslint/lib/rules/no-self-assign.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-self-assign'>;
+}
+declare module 'eslint/lib/rules/no-self-compare.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-self-compare'>;
+}
+declare module 'eslint/lib/rules/no-sequences.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-sequences'>;
+}
+declare module 'eslint/lib/rules/no-shadow-restricted-names.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-shadow-restricted-names'>;
+}
+declare module 'eslint/lib/rules/no-shadow.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-shadow'>;
+}
+declare module 'eslint/lib/rules/no-spaced-func.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-spaced-func'>;
+}
+declare module 'eslint/lib/rules/no-sparse-arrays.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-sparse-arrays'>;
+}
+declare module 'eslint/lib/rules/no-sync.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-sync'>;
+}
+declare module 'eslint/lib/rules/no-tabs.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-tabs'>;
+}
+declare module 'eslint/lib/rules/no-template-curly-in-string.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-template-curly-in-string'>;
+}
+declare module 'eslint/lib/rules/no-ternary.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-ternary'>;
+}
+declare module 'eslint/lib/rules/no-this-before-super.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-this-before-super'>;
+}
+declare module 'eslint/lib/rules/no-throw-literal.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-throw-literal'>;
+}
+declare module 'eslint/lib/rules/no-trailing-spaces.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-trailing-spaces'>;
+}
+declare module 'eslint/lib/rules/no-undef-init.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-undef-init'>;
+}
+declare module 'eslint/lib/rules/no-undef.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-undef'>;
+}
+declare module 'eslint/lib/rules/no-undefined.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-undefined'>;
+}
+declare module 'eslint/lib/rules/no-underscore-dangle.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-underscore-dangle'>;
+}
+declare module 'eslint/lib/rules/no-unexpected-multiline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unexpected-multiline'>;
+}
+declare module 'eslint/lib/rules/no-unmodified-loop-condition.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unmodified-loop-condition'>;
+}
+declare module 'eslint/lib/rules/no-unneeded-ternary.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unneeded-ternary'>;
+}
+declare module 'eslint/lib/rules/no-unreachable.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unreachable'>;
+}
+declare module 'eslint/lib/rules/no-unsafe-finally.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unsafe-finally'>;
+}
+declare module 'eslint/lib/rules/no-unsafe-negation.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unsafe-negation'>;
+}
+declare module 'eslint/lib/rules/no-unused-expressions.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unused-expressions'>;
+}
+declare module 'eslint/lib/rules/no-unused-labels.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unused-labels'>;
+}
+declare module 'eslint/lib/rules/no-unused-vars.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-unused-vars'>;
+}
+declare module 'eslint/lib/rules/no-use-before-define.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-use-before-define'>;
+}
+declare module 'eslint/lib/rules/no-useless-call.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-call'>;
+}
+declare module 'eslint/lib/rules/no-useless-computed-key.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-computed-key'>;
+}
+declare module 'eslint/lib/rules/no-useless-concat.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-concat'>;
+}
+declare module 'eslint/lib/rules/no-useless-constructor.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-constructor'>;
+}
+declare module 'eslint/lib/rules/no-useless-escape.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-escape'>;
+}
+declare module 'eslint/lib/rules/no-useless-rename.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-rename'>;
+}
+declare module 'eslint/lib/rules/no-useless-return.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-useless-return'>;
+}
+declare module 'eslint/lib/rules/no-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-var'>;
+}
+declare module 'eslint/lib/rules/no-void.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-void'>;
+}
+declare module 'eslint/lib/rules/no-warning-comments.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-warning-comments'>;
+}
+declare module 'eslint/lib/rules/no-whitespace-before-property.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-whitespace-before-property'>;
+}
+declare module 'eslint/lib/rules/no-with.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/no-with'>;
+}
+declare module 'eslint/lib/rules/nonblock-statement-body-position.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/nonblock-statement-body-position'>;
+}
+declare module 'eslint/lib/rules/object-curly-newline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/object-curly-newline'>;
+}
+declare module 'eslint/lib/rules/object-curly-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/object-curly-spacing'>;
+}
+declare module 'eslint/lib/rules/object-property-newline.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/object-property-newline'>;
+}
+declare module 'eslint/lib/rules/object-shorthand.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/object-shorthand'>;
+}
+declare module 'eslint/lib/rules/one-var-declaration-per-line.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/one-var-declaration-per-line'>;
+}
+declare module 'eslint/lib/rules/one-var.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/one-var'>;
+}
+declare module 'eslint/lib/rules/operator-assignment.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/operator-assignment'>;
+}
+declare module 'eslint/lib/rules/operator-linebreak.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/operator-linebreak'>;
+}
+declare module 'eslint/lib/rules/padded-blocks.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/padded-blocks'>;
+}
+declare module 'eslint/lib/rules/padding-line-between-statements.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/padding-line-between-statements'>;
+}
+declare module 'eslint/lib/rules/prefer-arrow-callback.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-arrow-callback'>;
+}
+declare module 'eslint/lib/rules/prefer-const.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-const'>;
+}
+declare module 'eslint/lib/rules/prefer-destructuring.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-destructuring'>;
+}
+declare module 'eslint/lib/rules/prefer-numeric-literals.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-numeric-literals'>;
+}
+declare module 'eslint/lib/rules/prefer-promise-reject-errors.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-promise-reject-errors'>;
+}
+declare module 'eslint/lib/rules/prefer-reflect.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-reflect'>;
+}
+declare module 'eslint/lib/rules/prefer-rest-params.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-rest-params'>;
+}
+declare module 'eslint/lib/rules/prefer-spread.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-spread'>;
+}
+declare module 'eslint/lib/rules/prefer-template.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/prefer-template'>;
+}
+declare module 'eslint/lib/rules/quote-props.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/quote-props'>;
+}
+declare module 'eslint/lib/rules/quotes.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/quotes'>;
+}
+declare module 'eslint/lib/rules/radix.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/radix'>;
+}
+declare module 'eslint/lib/rules/require-await.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/require-await'>;
+}
+declare module 'eslint/lib/rules/require-jsdoc.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/require-jsdoc'>;
+}
+declare module 'eslint/lib/rules/require-yield.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/require-yield'>;
+}
+declare module 'eslint/lib/rules/rest-spread-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/rest-spread-spacing'>;
+}
+declare module 'eslint/lib/rules/semi-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/semi-spacing'>;
+}
+declare module 'eslint/lib/rules/semi-style.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/semi-style'>;
+}
+declare module 'eslint/lib/rules/semi.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/semi'>;
+}
+declare module 'eslint/lib/rules/sort-imports.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/sort-imports'>;
+}
+declare module 'eslint/lib/rules/sort-keys.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/sort-keys'>;
+}
+declare module 'eslint/lib/rules/sort-vars.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/sort-vars'>;
+}
+declare module 'eslint/lib/rules/space-before-blocks.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/space-before-blocks'>;
+}
+declare module 'eslint/lib/rules/space-before-function-paren.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/space-before-function-paren'>;
+}
+declare module 'eslint/lib/rules/space-in-parens.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/space-in-parens'>;
+}
+declare module 'eslint/lib/rules/space-infix-ops.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/space-infix-ops'>;
+}
+declare module 'eslint/lib/rules/space-unary-ops.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/space-unary-ops'>;
+}
+declare module 'eslint/lib/rules/spaced-comment.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/spaced-comment'>;
+}
+declare module 'eslint/lib/rules/strict.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/strict'>;
+}
+declare module 'eslint/lib/rules/switch-colon-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/switch-colon-spacing'>;
+}
+declare module 'eslint/lib/rules/symbol-description.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/symbol-description'>;
+}
+declare module 'eslint/lib/rules/template-curly-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/template-curly-spacing'>;
+}
+declare module 'eslint/lib/rules/template-tag-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/template-tag-spacing'>;
+}
+declare module 'eslint/lib/rules/unicode-bom.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/unicode-bom'>;
+}
+declare module 'eslint/lib/rules/use-isnan.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/use-isnan'>;
+}
+declare module 'eslint/lib/rules/valid-jsdoc.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/valid-jsdoc'>;
+}
+declare module 'eslint/lib/rules/valid-typeof.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/valid-typeof'>;
+}
+declare module 'eslint/lib/rules/vars-on-top.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/vars-on-top'>;
+}
+declare module 'eslint/lib/rules/wrap-iife.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/wrap-iife'>;
+}
+declare module 'eslint/lib/rules/wrap-regex.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/wrap-regex'>;
+}
+declare module 'eslint/lib/rules/yield-star-spacing.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/yield-star-spacing'>;
+}
+declare module 'eslint/lib/rules/yoda.js' {
+ declare module.exports: $Exports<'eslint/lib/rules/yoda'>;
+}
+declare module 'eslint/lib/testers/rule-tester.js' {
+ declare module.exports: $Exports<'eslint/lib/testers/rule-tester'>;
+}
+declare module 'eslint/lib/timing.js' {
+ declare module.exports: $Exports<'eslint/lib/timing'>;
+}
+declare module 'eslint/lib/token-store/backward-token-comment-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/backward-token-comment-cursor'>;
+}
+declare module 'eslint/lib/token-store/backward-token-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/backward-token-cursor'>;
+}
+declare module 'eslint/lib/token-store/cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/cursor'>;
+}
+declare module 'eslint/lib/token-store/cursors.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/cursors'>;
+}
+declare module 'eslint/lib/token-store/decorative-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/decorative-cursor'>;
+}
+declare module 'eslint/lib/token-store/filter-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/filter-cursor'>;
+}
+declare module 'eslint/lib/token-store/forward-token-comment-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/forward-token-comment-cursor'>;
+}
+declare module 'eslint/lib/token-store/forward-token-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/forward-token-cursor'>;
+}
+declare module 'eslint/lib/token-store/index.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/index'>;
+}
+declare module 'eslint/lib/token-store/limit-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/limit-cursor'>;
+}
+declare module 'eslint/lib/token-store/padded-token-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/padded-token-cursor'>;
+}
+declare module 'eslint/lib/token-store/skip-cursor.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/skip-cursor'>;
+}
+declare module 'eslint/lib/token-store/utils.js' {
+ declare module.exports: $Exports<'eslint/lib/token-store/utils'>;
+}
+declare module 'eslint/lib/util/ajv.js' {
+ declare module.exports: $Exports<'eslint/lib/util/ajv'>;
+}
+declare module 'eslint/lib/util/apply-disable-directives.js' {
+ declare module.exports: $Exports<'eslint/lib/util/apply-disable-directives'>;
+}
+declare module 'eslint/lib/util/fix-tracker.js' {
+ declare module.exports: $Exports<'eslint/lib/util/fix-tracker'>;
+}
+declare module 'eslint/lib/util/glob-util.js' {
+ declare module.exports: $Exports<'eslint/lib/util/glob-util'>;
+}
+declare module 'eslint/lib/util/glob.js' {
+ declare module.exports: $Exports<'eslint/lib/util/glob'>;
+}
+declare module 'eslint/lib/util/hash.js' {
+ declare module.exports: $Exports<'eslint/lib/util/hash'>;
+}
+declare module 'eslint/lib/util/interpolate.js' {
+ declare module.exports: $Exports<'eslint/lib/util/interpolate'>;
+}
+declare module 'eslint/lib/util/keywords.js' {
+ declare module.exports: $Exports<'eslint/lib/util/keywords'>;
+}
+declare module 'eslint/lib/util/module-resolver.js' {
+ declare module.exports: $Exports<'eslint/lib/util/module-resolver'>;
+}
+declare module 'eslint/lib/util/naming.js' {
+ declare module.exports: $Exports<'eslint/lib/util/naming'>;
+}
+declare module 'eslint/lib/util/node-event-generator.js' {
+ declare module.exports: $Exports<'eslint/lib/util/node-event-generator'>;
+}
+declare module 'eslint/lib/util/npm-util.js' {
+ declare module.exports: $Exports<'eslint/lib/util/npm-util'>;
+}
+declare module 'eslint/lib/util/path-util.js' {
+ declare module.exports: $Exports<'eslint/lib/util/path-util'>;
+}
+declare module 'eslint/lib/util/patterns/letters.js' {
+ declare module.exports: $Exports<'eslint/lib/util/patterns/letters'>;
+}
+declare module 'eslint/lib/util/rule-fixer.js' {
+ declare module.exports: $Exports<'eslint/lib/util/rule-fixer'>;
+}
+declare module 'eslint/lib/util/safe-emitter.js' {
+ declare module.exports: $Exports<'eslint/lib/util/safe-emitter'>;
+}
+declare module 'eslint/lib/util/source-code-fixer.js' {
+ declare module.exports: $Exports<'eslint/lib/util/source-code-fixer'>;
+}
+declare module 'eslint/lib/util/source-code-util.js' {
+ declare module.exports: $Exports<'eslint/lib/util/source-code-util'>;
+}
+declare module 'eslint/lib/util/source-code.js' {
+ declare module.exports: $Exports<'eslint/lib/util/source-code'>;
+}
+declare module 'eslint/lib/util/traverser.js' {
+ declare module.exports: $Exports<'eslint/lib/util/traverser'>;
+}
+declare module 'eslint/lib/util/xml-escape.js' {
+ declare module.exports: $Exports<'eslint/lib/util/xml-escape'>;
+}
diff --git a/flow-typed/npm/flow-bin_v0.x.x.js b/flow-typed/npm/flow-bin_v0.x.x.js
new file mode 100644
index 0000000..c538e20
--- /dev/null
+++ b/flow-typed/npm/flow-bin_v0.x.x.js
@@ -0,0 +1,6 @@
+// flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583
+// flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x
+
+declare module "flow-bin" {
+ declare module.exports: string;
+}
diff --git a/flow-typed/npm/flow-copy-source_vx.x.x.js b/flow-typed/npm/flow-copy-source_vx.x.x.js
new file mode 100644
index 0000000..96a4fbf
--- /dev/null
+++ b/flow-typed/npm/flow-copy-source_vx.x.x.js
@@ -0,0 +1,53 @@
+// flow-typed signature: 875f78f80eaeb03a1295f460eb7d93e3
+// flow-typed version: <>/flow-copy-source_v^1.2.1/flow_v0.69.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'flow-copy-source'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'flow-copy-source' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'flow-copy-source/bin/flow-copy-source' {
+ declare module.exports: any;
+}
+
+declare module 'flow-copy-source/src/index' {
+ declare module.exports: any;
+}
+
+declare module 'flow-copy-source/src/kefir-copy-file' {
+ declare module.exports: any;
+}
+
+declare module 'flow-copy-source/src/kefir-glob' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'flow-copy-source/bin/flow-copy-source.js' {
+ declare module.exports: $Exports<'flow-copy-source/bin/flow-copy-source'>;
+}
+declare module 'flow-copy-source/src/index.js' {
+ declare module.exports: $Exports<'flow-copy-source/src/index'>;
+}
+declare module 'flow-copy-source/src/kefir-copy-file.js' {
+ declare module.exports: $Exports<'flow-copy-source/src/kefir-copy-file'>;
+}
+declare module 'flow-copy-source/src/kefir-glob.js' {
+ declare module.exports: $Exports<'flow-copy-source/src/kefir-glob'>;
+}
diff --git a/flow-typed/npm/jest_v22.x.x.js b/flow-typed/npm/jest_v22.x.x.js
new file mode 100644
index 0000000..c064a22
--- /dev/null
+++ b/flow-typed/npm/jest_v22.x.x.js
@@ -0,0 +1,603 @@
+// flow-typed signature: 159e15f694a5e3ba2a989dea756a6e22
+// flow-typed version: 0215e23590/jest_v22.x.x/flow_>=v0.39.x
+
+type JestMockFn, TReturn> = {
+ (...args: TArguments): TReturn,
+ /**
+ * An object for introspecting mock calls
+ */
+ mock: {
+ /**
+ * An array that represents all calls that have been made into this mock
+ * function. Each call is represented by an array of arguments that were
+ * passed during the call.
+ */
+ calls: Array,
+ /**
+ * An array that contains all the object instances that have been
+ * instantiated from this mock function.
+ */
+ instances: Array
+ },
+ /**
+ * Resets all information stored in the mockFn.mock.calls and
+ * mockFn.mock.instances arrays. Often this is useful when you want to clean
+ * up a mock's usage data between two assertions.
+ */
+ mockClear(): void,
+ /**
+ * Resets all information stored in the mock. This is useful when you want to
+ * completely restore a mock back to its initial state.
+ */
+ mockReset(): void,
+ /**
+ * Removes the mock and restores the initial implementation. This is useful
+ * when you want to mock functions in certain test cases and restore the
+ * original implementation in others. Beware that mockFn.mockRestore only
+ * works when mock was created with jest.spyOn. Thus you have to take care of
+ * restoration yourself when manually assigning jest.fn().
+ */
+ mockRestore(): void,
+ /**
+ * Accepts a function that should be used as the implementation of the mock.
+ * The mock itself will still record all calls that go into and instances
+ * that come from itself -- the only difference is that the implementation
+ * will also be executed when the mock is called.
+ */
+ mockImplementation(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn,
+ /**
+ * Accepts a function that will be used as an implementation of the mock for
+ * one call to the mocked function. Can be chained so that multiple function
+ * calls produce different results.
+ */
+ mockImplementationOnce(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn,
+ /**
+ * Just a simple sugar function for returning `this`
+ */
+ mockReturnThis(): void,
+ /**
+ * Deprecated: use jest.fn(() => value) instead
+ */
+ mockReturnValue(value: TReturn): JestMockFn,
+ /**
+ * Sugar for only returning a value once inside your mock
+ */
+ mockReturnValueOnce(value: TReturn): JestMockFn
+};
+
+type JestAsymmetricEqualityType = {
+ /**
+ * A custom Jasmine equality tester
+ */
+ asymmetricMatch(value: mixed): boolean
+};
+
+type JestCallsType = {
+ allArgs(): mixed,
+ all(): mixed,
+ any(): boolean,
+ count(): number,
+ first(): mixed,
+ mostRecent(): mixed,
+ reset(): void
+};
+
+type JestClockType = {
+ install(): void,
+ mockDate(date: Date): void,
+ tick(milliseconds?: number): void,
+ uninstall(): void
+};
+
+type JestMatcherResult = {
+ message?: string | (() => string),
+ pass: boolean
+};
+
+type JestMatcher = (actual: any, expected: any) => JestMatcherResult;
+
+type JestPromiseType = {
+ /**
+ * Use rejects to unwrap the reason of a rejected promise so any other
+ * matcher can be chained. If the promise is fulfilled the assertion fails.
+ */
+ rejects: JestExpectType,
+ /**
+ * Use resolves to unwrap the value of a fulfilled promise so any other
+ * matcher can be chained. If the promise is rejected the assertion fails.
+ */
+ resolves: JestExpectType
+};
+
+/**
+ * Jest allows functions and classes to be used as test names in test() and
+ * describe()
+ */
+type JestTestName = string | Function;
+
+/**
+ * Plugin: jest-enzyme
+ */
+type EnzymeMatchersType = {
+ toBeChecked(): void,
+ toBeDisabled(): void,
+ toBeEmpty(): void,
+ toBeEmptyRender(): void,
+ toBePresent(): void,
+ toContainReact(element: React$Element): void,
+ toExist(): void,
+ toHaveClassName(className: string): void,
+ toHaveHTML(html: string): void,
+ toHaveProp: ((propKey: string, propValue?: any) => void) & ((props: Object) => void),
+ toHaveRef(refName: string): void,
+ toHaveState: ((stateKey: string, stateValue?: any) => void) & ((state: Object) => void),
+ toHaveStyle: ((styleKey: string, styleValue?: any) => void) & ((style: Object) => void),
+ toHaveTagName(tagName: string): void,
+ toHaveText(text: string): void,
+ toIncludeText(text: string): void,
+ toHaveValue(value: any): void,
+ toMatchElement(element: React$Element): void,
+ toMatchSelector(selector: string): void
+};
+
+type JestExpectType = {
+ not: JestExpectType & EnzymeMatchersType,
+ /**
+ * If you have a mock function, you can use .lastCalledWith to test what
+ * arguments it was last called with.
+ */
+ lastCalledWith(...args: Array): void,
+ /**
+ * toBe just checks that a value is what you expect. It uses === to check
+ * strict equality.
+ */
+ toBe(value: any): void,
+ /**
+ * Use .toHaveBeenCalled to ensure that a mock function got called.
+ */
+ toBeCalled(): void,
+ /**
+ * Use .toBeCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toBeCalledWith(...args: Array): void,
+ /**
+ * Using exact equality with floating point numbers is a bad idea. Rounding
+ * means that intuitive things fail.
+ */
+ toBeCloseTo(num: number, delta: any): void,
+ /**
+ * Use .toBeDefined to check that a variable is not undefined.
+ */
+ toBeDefined(): void,
+ /**
+ * Use .toBeFalsy when you don't care what a value is, you just want to
+ * ensure a value is false in a boolean context.
+ */
+ toBeFalsy(): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThan.
+ */
+ toBeGreaterThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThanOrEqual.
+ */
+ toBeGreaterThanOrEqual(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThan.
+ */
+ toBeLessThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThanOrEqual.
+ */
+ toBeLessThanOrEqual(number: number): void,
+ /**
+ * Use .toBeInstanceOf(Class) to check that an object is an instance of a
+ * class.
+ */
+ toBeInstanceOf(cls: Class<*>): void,
+ /**
+ * .toBeNull() is the same as .toBe(null) but the error messages are a bit
+ * nicer.
+ */
+ toBeNull(): void,
+ /**
+ * Use .toBeTruthy when you don't care what a value is, you just want to
+ * ensure a value is true in a boolean context.
+ */
+ toBeTruthy(): void,
+ /**
+ * Use .toBeUndefined to check that a variable is undefined.
+ */
+ toBeUndefined(): void,
+ /**
+ * Use .toContain when you want to check that an item is in a list. For
+ * testing the items in the list, this uses ===, a strict equality check.
+ */
+ toContain(item: any): void,
+ /**
+ * Use .toContainEqual when you want to check that an item is in a list. For
+ * testing the items in the list, this matcher recursively checks the
+ * equality of all fields, rather than checking for object identity.
+ */
+ toContainEqual(item: any): void,
+ /**
+ * Use .toEqual when you want to check that two objects have the same value.
+ * This matcher recursively checks the equality of all fields, rather than
+ * checking for object identity.
+ */
+ toEqual(value: any): void,
+ /**
+ * Use .toHaveBeenCalled to ensure that a mock function got called.
+ */
+ toHaveBeenCalled(): void,
+ /**
+ * Use .toHaveBeenCalledTimes to ensure that a mock function got called exact
+ * number of times.
+ */
+ toHaveBeenCalledTimes(number: number): void,
+ /**
+ * Use .toHaveBeenCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toHaveBeenCalledWith(...args: Array): void,
+ /**
+ * Use .toHaveBeenLastCalledWith to ensure that a mock function was last called
+ * with specific arguments.
+ */
+ toHaveBeenLastCalledWith(...args: Array): void,
+ /**
+ * Check that an object has a .length property and it is set to a certain
+ * numeric value.
+ */
+ toHaveLength(number: number): void,
+ /**
+ *
+ */
+ toHaveProperty(propPath: string, value?: any): void,
+ /**
+ * Use .toMatch to check that a string matches a regular expression or string.
+ */
+ toMatch(regexpOrString: RegExp | string): void,
+ /**
+ * Use .toMatchObject to check that a javascript object matches a subset of the properties of an object.
+ */
+ toMatchObject(object: Object | Array