{
- "parser": "babel-eslint",
+ "root": true,
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "project": "./tsconfig.json"
+ },
"extends": [
"eslint:recommended",
- "plugin:flowtype/recommended",
- "node",
- "google"
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"plugins": [
- "flowtype"
+ "@typescript-eslint"
],
"rules": {
- "require-jsdoc": 0,
- "import/no-commonjs": [
+ "indent": "off",
+ "@typescript-eslint/indent": [
+ "error",
2,
{
- "allowRequire": true,
- "allowPrimitiveModules": true
+ "SwitchCase": 1
}
],
- "import/no-nodejs-modules": 0,
- "flowtype/no-types-missing-file-annotation": 0,
+ "@typescript-eslint/array-type": "off",
+ "semi": "off",
+ "@typescript-eslint/semi": [
+ "error",
+ "always"
+ ],
+ "space-before-blocks": [
+ "error",
+ "always"
+ ],
+ "@typescript-eslint/no-empty-function": [
+ "warn",
+ {
+ "allow": [
+ "arrowFunctions",
+ "methods"
+ ]
+ }
+ ],
+ "@typescript-eslint/member-ordering": "error",
+ "@typescript-eslint/await-thenable": "error",
+ "@typescript-eslint/no-floating-promises": "error",
+ "@typescript-eslint/promise-function-async": "error",
+ "@typescript-eslint/no-misused-promises": "error",
+ "curly": "error",
+ "brace-style": "error",
+ "eqeqeq": [
+ "error",
+ "always"
+ ],
+ "no-else-return": "error",
+ "no-eq-null": "error",
+ "no-undefined": "error",
+ "no-extra-bind": "error",
+ "no-lone-blocks": "error",
+ "no-multi-spaces": "error",
+ "no-empty": "error",
+ "no-return-assign": [
+ "error",
+ "always"
+ ],
+ "no-useless-catch": "error",
+ "no-useless-return": "error",
+ "no-shadow": "error",
+ "no-multiple-empty-lines": [
+ "error",
+ {
+ "max": 2,
+ "maxEOF": 1
+ }
+ ],
+ "block-spacing": "error",
+ "capitalized-comments": [
+ "error",
+ "always",
+ {
+ "ignoreConsecutiveComments": true,
+ "ignorePattern": "pragma|ignored"
+ }
+ ],
+ "eol-last": [
+ "error",
+ "always"
+ ],
+ "consistent-this": [
+ "error",
+ "self"
+ ],
+ "func-call-spacing": [
+ "error",
+ "never"
+ ],
+ "keyword-spacing": [
+ "error"
+ ],
+ "linebreak-style": [
+ "error",
+ "unix"
+ ],
"max-len": [
"warn",
{
"ignoreRegExpLiterals": true,
"ignorePattern": "(^(import|export)|(public|private))\\s.+;"
}
+ ],
+ "no-lonely-if": "error",
+ "no-trailing-spaces": "error",
+ "no-whitespace-before-property": "error",
+ "space-before-function-paren": [
+ "error",
+ {
+ "anonymous": "never",
+ "named": "never",
+ "asyncArrow": "always"
+ }
+ ],
+ "space-in-parens": [
+ "error",
+ "never"
+ ],
+ "space-infix-ops": "error",
+ "space-unary-ops": "error",
+ "spaced-comment": [
+ "error",
+ "always"
+ ],
+ "switch-colon-spacing": "error",
+ "arrow-body-style": [
+ "error",
+ "as-needed"
+ ],
+ "arrow-parens": [
+ "error",
+ "always"
+ ],
+ "arrow-spacing": "error",
+ "no-duplicate-imports": "error",
+ "no-var": "error",
+ "prefer-const": "error",
+ "sort-imports": [
+ "warn",
+ {
+ "ignoreCase": false,
+ "ignoreDeclarationSort": false,
+ "ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single"
+ ]
+ }
+ ],
+ "object-curly-spacing": [
+ "error",
+ "always"
+ ],
+ "lines-between-class-members": [
+ "error",
+ "always",
+ {
+ "exceptAfterSingleLine": true
+ }
+ ],
+ "quotes": [
+ "error",
+ "single"
]
}
}
+++ /dev/null
-// flow-typed signature: 6334367253781eafb63df8d92be47d8d
-// flow-typed version: <<STUB>>/babel-eslint_v^10.1.0/flow_v0.136.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' {
- 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' {
- 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/require-from-eslint' {
- 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' {
- declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree'>;
-}
-declare module 'babel-eslint/lib/babylon-to-espree/index.js' {
- declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree'>;
-}
-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' {
- declare module.exports: $Exports<'babel-eslint/lib'>;
-}
-declare module 'babel-eslint/lib/index.js' {
- declare module.exports: $Exports<'babel-eslint/lib'>;
-}
-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/require-from-eslint.js' {
- declare module.exports: $Exports<'babel-eslint/lib/require-from-eslint'>;
-}
-declare module 'babel-eslint/lib/visitor-keys.js' {
- declare module.exports: $Exports<'babel-eslint/lib/visitor-keys'>;
-}
+++ /dev/null
-// flow-typed signature: 7ce143f62e46f69c1f0d226420c51772
-// flow-typed version: <<STUB>>/clinic_v^7.0.0/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'clinic'
- *
- * 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 'clinic' {
- 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 'clinic/bin' {
- declare module.exports: any;
-}
-
-declare module 'clinic/lib/authenticate' {
- declare module.exports: any;
-}
-
-declare module 'clinic/lib/clean' {
- declare module.exports: any;
-}
-
-declare module 'clinic/lib/get-ask-message' {
- declare module.exports: any;
-}
-
-declare module 'clinic/lib/help-formatter' {
- declare module.exports: any;
-}
-
-declare module 'clinic/lib/tar-and-upload' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test-local/cli-doctor-collect-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test-local/cli-flame-collect-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test-local/cli-flame-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test-local/cli-flame-passthrough-flags' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test-local/cli-flame-visualize-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/authenticate.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-ask-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-ask-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-ask-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-autocannon.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-collect-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-non-node.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-version.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-bubbleprof-visualize-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-clean-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-clean-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-clinic-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-clinic-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-clinic-version.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-collect-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-non-node.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-version.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-doctor-visualize-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-full.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-non-node.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-upload.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-version.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-flame-visualize-only.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-login-logout.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-upload-files.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-upload-help.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli-upload-no-args.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/cli' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/fake-upload-server' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/help-formatter.test' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/server' {
- declare module.exports: any;
-}
-
-declare module 'clinic/test/tar-and-upload.test' {
- declare module.exports: any;
-}
-
-// Filename aliases
-declare module 'clinic/bin.js' {
- declare module.exports: $Exports<'clinic/bin'>;
-}
-declare module 'clinic/lib/authenticate.js' {
- declare module.exports: $Exports<'clinic/lib/authenticate'>;
-}
-declare module 'clinic/lib/clean.js' {
- declare module.exports: $Exports<'clinic/lib/clean'>;
-}
-declare module 'clinic/lib/get-ask-message.js' {
- declare module.exports: $Exports<'clinic/lib/get-ask-message'>;
-}
-declare module 'clinic/lib/help-formatter.js' {
- declare module.exports: $Exports<'clinic/lib/help-formatter'>;
-}
-declare module 'clinic/lib/tar-and-upload.js' {
- declare module.exports: $Exports<'clinic/lib/tar-and-upload'>;
-}
-declare module 'clinic/test-local/cli-doctor-collect-only.test.js' {
- declare module.exports: $Exports<'clinic/test-local/cli-doctor-collect-only.test'>;
-}
-declare module 'clinic/test-local/cli-flame-collect-only.test.js' {
- declare module.exports: $Exports<'clinic/test-local/cli-flame-collect-only.test'>;
-}
-declare module 'clinic/test-local/cli-flame-full.test.js' {
- declare module.exports: $Exports<'clinic/test-local/cli-flame-full.test'>;
-}
-declare module 'clinic/test-local/cli-flame-passthrough-flags.js' {
- declare module.exports: $Exports<'clinic/test-local/cli-flame-passthrough-flags'>;
-}
-declare module 'clinic/test-local/cli-flame-visualize-only.test.js' {
- declare module.exports: $Exports<'clinic/test-local/cli-flame-visualize-only.test'>;
-}
-declare module 'clinic/test/authenticate.test.js' {
- declare module.exports: $Exports<'clinic/test/authenticate.test'>;
-}
-declare module 'clinic/test/cli-ask-full.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-ask-full.test'>;
-}
-declare module 'clinic/test/cli-ask-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-ask-help.test'>;
-}
-declare module 'clinic/test/cli-ask-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-ask-no-args.test'>;
-}
-declare module 'clinic/test/cli-autocannon.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-autocannon.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-collect-only.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-collect-only.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-full.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-full.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-help.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-no-args.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-non-node.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-non-node.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-version.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-version.test'>;
-}
-declare module 'clinic/test/cli-bubbleprof-visualize-only.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-bubbleprof-visualize-only.test'>;
-}
-declare module 'clinic/test/cli-clean-full.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-clean-full.test'>;
-}
-declare module 'clinic/test/cli-clean-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-clean-help.test'>;
-}
-declare module 'clinic/test/cli-clinic-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-clinic-help.test'>;
-}
-declare module 'clinic/test/cli-clinic-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-clinic-no-args.test'>;
-}
-declare module 'clinic/test/cli-clinic-version.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-clinic-version.test'>;
-}
-declare module 'clinic/test/cli-doctor-collect-only.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-collect-only.test'>;
-}
-declare module 'clinic/test/cli-doctor-full.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-full.test'>;
-}
-declare module 'clinic/test/cli-doctor-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-help.test'>;
-}
-declare module 'clinic/test/cli-doctor-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-no-args.test'>;
-}
-declare module 'clinic/test/cli-doctor-non-node.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-non-node.test'>;
-}
-declare module 'clinic/test/cli-doctor-version.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-version.test'>;
-}
-declare module 'clinic/test/cli-doctor-visualize-only.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-doctor-visualize-only.test'>;
-}
-declare module 'clinic/test/cli-flame-full.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-full.test'>;
-}
-declare module 'clinic/test/cli-flame-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-help.test'>;
-}
-declare module 'clinic/test/cli-flame-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-no-args.test'>;
-}
-declare module 'clinic/test/cli-flame-non-node.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-non-node.test'>;
-}
-declare module 'clinic/test/cli-flame-upload.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-upload.test'>;
-}
-declare module 'clinic/test/cli-flame-version.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-version.test'>;
-}
-declare module 'clinic/test/cli-flame-visualize-only.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-flame-visualize-only.test'>;
-}
-declare module 'clinic/test/cli-login-logout.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-login-logout.test'>;
-}
-declare module 'clinic/test/cli-upload-files.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-upload-files.test'>;
-}
-declare module 'clinic/test/cli-upload-help.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-upload-help.test'>;
-}
-declare module 'clinic/test/cli-upload-no-args.test.js' {
- declare module.exports: $Exports<'clinic/test/cli-upload-no-args.test'>;
-}
-declare module 'clinic/test/cli.js' {
- declare module.exports: $Exports<'clinic/test/cli'>;
-}
-declare module 'clinic/test/fake-upload-server.js' {
- declare module.exports: $Exports<'clinic/test/fake-upload-server'>;
-}
-declare module 'clinic/test/help-formatter.test.js' {
- declare module.exports: $Exports<'clinic/test/help-formatter.test'>;
-}
-declare module 'clinic/test/server.js' {
- declare module.exports: $Exports<'clinic/test/server'>;
-}
-declare module 'clinic/test/tar-and-upload.test.js' {
- declare module.exports: $Exports<'clinic/test/tar-and-upload.test'>;
-}
+++ /dev/null
-// flow-typed signature: 6d53b8beb7564f054aa77b01a0bdc854
-// flow-typed version: <<STUB>>/eslint-config-google_v^0.14.0/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'eslint-config-google'
- *
- * 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-google' {
- 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.
- */
-
-
-// Filename aliases
-declare module 'eslint-config-google/index' {
- declare module.exports: $Exports<'eslint-config-google'>;
-}
-declare module 'eslint-config-google/index.js' {
- declare module.exports: $Exports<'eslint-config-google'>;
-}
+++ /dev/null
-// flow-typed signature: 266abab1324d9dc432f9945dfa50e622
-// flow-typed version: <<STUB>>/eslint-config-node_v^4.1.0/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'eslint-config-node'
- *
- * 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-node' {
- declare module.exports: any;
-}
+++ /dev/null
-// flow-typed signature: 8758aa073e18e09c34d2f362252e3a67
-// flow-typed version: <<STUB>>/eslint-plugin-flowtype_v^5.2.0/flow_v0.136.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/dist/bin/addAssertions' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/bin/checkDocs' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/bin/checkTests' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/bin/utilities' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/arrowParens' {
- 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/noMixed' {
- 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/requireCompoundTypeAlias' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/requireExactType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/requireIndexerName' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/requireInexactType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/requireReadonlyReactProps' {
- 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/spreadExactType' {
- 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/evaluateVariables' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing' {
- 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' {
- 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/isNoFlowFile' {
- declare module.exports: any;
-}
-
-declare module 'eslint-plugin-flowtype/dist/utilities/isNoFlowFileAnnotation' {
- 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/dist/bin/addAssertions.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/addAssertions'>;
-}
-declare module 'eslint-plugin-flowtype/dist/bin/checkDocs.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/checkDocs'>;
-}
-declare module 'eslint-plugin-flowtype/dist/bin/checkTests.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/checkTests'>;
-}
-declare module 'eslint-plugin-flowtype/dist/bin/utilities.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/utilities'>;
-}
-declare module 'eslint-plugin-flowtype/dist/index' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist'>;
-}
-declare module 'eslint-plugin-flowtype/dist/index.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/arrowParens.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/arrowParens'>;
-}
-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/noMixed.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noMixed'>;
-}
-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/requireCompoundTypeAlias.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireCompoundTypeAlias'>;
-}
-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/requireIndexerName.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireIndexerName'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/requireInexactType.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireInexactType'>;
-}
-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/requireReadonlyReactProps.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireReadonlyReactProps'>;
-}
-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/spreadExactType.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spreadExactType'>;
-}
-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/evaluateVariables.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateVariables'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing'>;
-}
-declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing'>;
-}
-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' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities'>;
-}
-declare module 'eslint-plugin-flowtype/dist/utilities/index.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities'>;
-}
-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/isNoFlowFile.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isNoFlowFile'>;
-}
-declare module 'eslint-plugin-flowtype/dist/utilities/isNoFlowFileAnnotation.js' {
- declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isNoFlowFileAnnotation'>;
-}
-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'>;
-}
+++ /dev/null
-// flow-typed signature: 87284ccc293a1202f0475fb0dde28ec3
-// flow-typed version: <<STUB>>/eslint_v^7.11.0/flow_v0.136.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/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/cli-engine/cascading-config-array-factory' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/cli-engine' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array-factory' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array/config-array' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array/config-dependency' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array/extracted-config' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array/ignore-pattern' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/config-array/override-tester' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/file-enumerator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/checkstyle' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/codeframe' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/compact' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/html' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/jslint-xml' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/json-with-metadata' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/json' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/junit' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/stylish' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/table' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/tap' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/unix' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/formatters/visualstudio' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/hash' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/lint-result-cache' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/load-rules' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli-engine/xml-escape' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/cli' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/eslint/eslint' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/eslint' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/autoconfig' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/config-file' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/config-initializer' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/config-rule' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/npm-utils' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/init/source-code-utils' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/apply-disable-directives' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/code-path-analyzer' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/code-path-segment' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/code-path-state' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/code-path' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/debug-helpers' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/fork-context' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/code-path-analysis/id-generator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/config-comment-parser' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/interpolate' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/linter' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/node-event-generator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/report-translator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/rule-fixer' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/rules' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/safe-emitter' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/source-code-fixer' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/linter/timing' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/options' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rule-tester' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rule-tester/rule-tester' {
- 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-last' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/default-case' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/default-param-last' {
- 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-call-argument-newline' {
- 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/grouped-accessor-pairs' {
- 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-denylist' {
- 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' {
- 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-classes-per-file' {
- 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-per-function' {
- 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-async-promise-executor' {
- 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-constructor-return' {
- 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-else-if' {
- 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-import-assign' {
- 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-loss-of-precision' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/no-magic-numbers' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/no-misleading-character-class' {
- 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-promise-executor-return' {
- 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-exports' {
- 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-setter-return' {
- 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-loop' {
- 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-backreference' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/no-useless-call' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/no-useless-catch' {
- 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-exponentiation-operator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/prefer-named-capture-group' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/prefer-numeric-literals' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/prefer-object-spread' {
- 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-regex-literals' {
- 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-atomic-updates' {
- 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-unicode-regexp' {
- 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/utils/ast-utils' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/fix-tracker' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/keywords' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/lazy-loading-rule-map' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/patterns/letters' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/unicode' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/unicode/is-combining-character' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/unicode/is-emoji-modifier' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/unicode/is-regional-indicator-symbol' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/rules/utils/unicode/is-surrogate-pair' {
- 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/shared/ajv' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/ast-utils' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/config-validator' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/deprecation-warnings' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/logging' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/relative-module-resolver' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/runtime-info' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/traverser' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/shared/types' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/source-code' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/backward-token-comment-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/backward-token-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/cursors' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/decorative-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/filter-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/forward-token-comment-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/forward-token-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/limit-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/padded-token-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/skip-cursor' {
- declare module.exports: any;
-}
-
-declare module 'eslint/lib/source-code/token-store/utils' {
- 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/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/cli-engine/cascading-config-array-factory.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/cascading-config-array-factory'>;
-}
-declare module 'eslint/lib/cli-engine/cli-engine.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/cli-engine'>;
-}
-declare module 'eslint/lib/cli-engine/config-array-factory.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array-factory'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/config-array.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array/config-array'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/config-dependency.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array/config-dependency'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/extracted-config.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array/extracted-config'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/ignore-pattern.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array/ignore-pattern'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/index' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/index.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array'>;
-}
-declare module 'eslint/lib/cli-engine/config-array/override-tester.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/config-array/override-tester'>;
-}
-declare module 'eslint/lib/cli-engine/file-enumerator.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/file-enumerator'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/checkstyle.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/checkstyle'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/codeframe.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/codeframe'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/compact.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/compact'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/html.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/html'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/jslint-xml.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/jslint-xml'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/json-with-metadata.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/json-with-metadata'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/json.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/json'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/junit.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/junit'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/stylish.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/stylish'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/table.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/table'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/tap.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/tap'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/unix.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/unix'>;
-}
-declare module 'eslint/lib/cli-engine/formatters/visualstudio.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/formatters/visualstudio'>;
-}
-declare module 'eslint/lib/cli-engine/hash.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/hash'>;
-}
-declare module 'eslint/lib/cli-engine/index' {
- declare module.exports: $Exports<'eslint/lib/cli-engine'>;
-}
-declare module 'eslint/lib/cli-engine/index.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine'>;
-}
-declare module 'eslint/lib/cli-engine/lint-result-cache.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/lint-result-cache'>;
-}
-declare module 'eslint/lib/cli-engine/load-rules.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/load-rules'>;
-}
-declare module 'eslint/lib/cli-engine/xml-escape.js' {
- declare module.exports: $Exports<'eslint/lib/cli-engine/xml-escape'>;
-}
-declare module 'eslint/lib/cli.js' {
- declare module.exports: $Exports<'eslint/lib/cli'>;
-}
-declare module 'eslint/lib/eslint/eslint.js' {
- declare module.exports: $Exports<'eslint/lib/eslint/eslint'>;
-}
-declare module 'eslint/lib/eslint/index' {
- declare module.exports: $Exports<'eslint/lib/eslint'>;
-}
-declare module 'eslint/lib/eslint/index.js' {
- declare module.exports: $Exports<'eslint/lib/eslint'>;
-}
-declare module 'eslint/lib/init/autoconfig.js' {
- declare module.exports: $Exports<'eslint/lib/init/autoconfig'>;
-}
-declare module 'eslint/lib/init/config-file.js' {
- declare module.exports: $Exports<'eslint/lib/init/config-file'>;
-}
-declare module 'eslint/lib/init/config-initializer.js' {
- declare module.exports: $Exports<'eslint/lib/init/config-initializer'>;
-}
-declare module 'eslint/lib/init/config-rule.js' {
- declare module.exports: $Exports<'eslint/lib/init/config-rule'>;
-}
-declare module 'eslint/lib/init/npm-utils.js' {
- declare module.exports: $Exports<'eslint/lib/init/npm-utils'>;
-}
-declare module 'eslint/lib/init/source-code-utils.js' {
- declare module.exports: $Exports<'eslint/lib/init/source-code-utils'>;
-}
-declare module 'eslint/lib/linter/apply-disable-directives.js' {
- declare module.exports: $Exports<'eslint/lib/linter/apply-disable-directives'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/code-path-analyzer.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/code-path-analyzer'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/code-path-segment.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/code-path-segment'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/code-path-state.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/code-path-state'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/code-path.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/code-path'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/debug-helpers.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/debug-helpers'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/fork-context.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/fork-context'>;
-}
-declare module 'eslint/lib/linter/code-path-analysis/id-generator.js' {
- declare module.exports: $Exports<'eslint/lib/linter/code-path-analysis/id-generator'>;
-}
-declare module 'eslint/lib/linter/config-comment-parser.js' {
- declare module.exports: $Exports<'eslint/lib/linter/config-comment-parser'>;
-}
-declare module 'eslint/lib/linter/index' {
- declare module.exports: $Exports<'eslint/lib/linter'>;
-}
-declare module 'eslint/lib/linter/index.js' {
- declare module.exports: $Exports<'eslint/lib/linter'>;
-}
-declare module 'eslint/lib/linter/interpolate.js' {
- declare module.exports: $Exports<'eslint/lib/linter/interpolate'>;
-}
-declare module 'eslint/lib/linter/linter.js' {
- declare module.exports: $Exports<'eslint/lib/linter/linter'>;
-}
-declare module 'eslint/lib/linter/node-event-generator.js' {
- declare module.exports: $Exports<'eslint/lib/linter/node-event-generator'>;
-}
-declare module 'eslint/lib/linter/report-translator.js' {
- declare module.exports: $Exports<'eslint/lib/linter/report-translator'>;
-}
-declare module 'eslint/lib/linter/rule-fixer.js' {
- declare module.exports: $Exports<'eslint/lib/linter/rule-fixer'>;
-}
-declare module 'eslint/lib/linter/rules.js' {
- declare module.exports: $Exports<'eslint/lib/linter/rules'>;
-}
-declare module 'eslint/lib/linter/safe-emitter.js' {
- declare module.exports: $Exports<'eslint/lib/linter/safe-emitter'>;
-}
-declare module 'eslint/lib/linter/source-code-fixer.js' {
- declare module.exports: $Exports<'eslint/lib/linter/source-code-fixer'>;
-}
-declare module 'eslint/lib/linter/timing.js' {
- declare module.exports: $Exports<'eslint/lib/linter/timing'>;
-}
-declare module 'eslint/lib/options.js' {
- declare module.exports: $Exports<'eslint/lib/options'>;
-}
-declare module 'eslint/lib/rule-tester/index' {
- declare module.exports: $Exports<'eslint/lib/rule-tester'>;
-}
-declare module 'eslint/lib/rule-tester/index.js' {
- declare module.exports: $Exports<'eslint/lib/rule-tester'>;
-}
-declare module 'eslint/lib/rule-tester/rule-tester.js' {
- declare module.exports: $Exports<'eslint/lib/rule-tester/rule-tester'>;
-}
-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-last.js' {
- declare module.exports: $Exports<'eslint/lib/rules/default-case-last'>;
-}
-declare module 'eslint/lib/rules/default-case.js' {
- declare module.exports: $Exports<'eslint/lib/rules/default-case'>;
-}
-declare module 'eslint/lib/rules/default-param-last.js' {
- declare module.exports: $Exports<'eslint/lib/rules/default-param-last'>;
-}
-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-call-argument-newline.js' {
- declare module.exports: $Exports<'eslint/lib/rules/function-call-argument-newline'>;
-}
-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/grouped-accessor-pairs.js' {
- declare module.exports: $Exports<'eslint/lib/rules/grouped-accessor-pairs'>;
-}
-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-denylist.js' {
- declare module.exports: $Exports<'eslint/lib/rules/id-denylist'>;
-}
-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/index' {
- declare module.exports: $Exports<'eslint/lib/rules'>;
-}
-declare module 'eslint/lib/rules/index.js' {
- declare module.exports: $Exports<'eslint/lib/rules'>;
-}
-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-classes-per-file.js' {
- declare module.exports: $Exports<'eslint/lib/rules/max-classes-per-file'>;
-}
-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-per-function.js' {
- declare module.exports: $Exports<'eslint/lib/rules/max-lines-per-function'>;
-}
-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-async-promise-executor.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-async-promise-executor'>;
-}
-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-constructor-return.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-constructor-return'>;
-}
-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-else-if.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-dupe-else-if'>;
-}
-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-import-assign.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-import-assign'>;
-}
-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-loss-of-precision.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-loss-of-precision'>;
-}
-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-misleading-character-class.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-misleading-character-class'>;
-}
-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-promise-executor-return.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-promise-executor-return'>;
-}
-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-exports.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-restricted-exports'>;
-}
-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-setter-return.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-setter-return'>;
-}
-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-loop.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-unreachable-loop'>;
-}
-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-backreference.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-useless-backreference'>;
-}
-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-catch.js' {
- declare module.exports: $Exports<'eslint/lib/rules/no-useless-catch'>;
-}
-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-exponentiation-operator.js' {
- declare module.exports: $Exports<'eslint/lib/rules/prefer-exponentiation-operator'>;
-}
-declare module 'eslint/lib/rules/prefer-named-capture-group.js' {
- declare module.exports: $Exports<'eslint/lib/rules/prefer-named-capture-group'>;
-}
-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-object-spread.js' {
- declare module.exports: $Exports<'eslint/lib/rules/prefer-object-spread'>;
-}
-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-regex-literals.js' {
- declare module.exports: $Exports<'eslint/lib/rules/prefer-regex-literals'>;
-}
-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-atomic-updates.js' {
- declare module.exports: $Exports<'eslint/lib/rules/require-atomic-updates'>;
-}
-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-unicode-regexp.js' {
- declare module.exports: $Exports<'eslint/lib/rules/require-unicode-regexp'>;
-}
-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/utils/ast-utils.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/ast-utils'>;
-}
-declare module 'eslint/lib/rules/utils/fix-tracker.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/fix-tracker'>;
-}
-declare module 'eslint/lib/rules/utils/keywords.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/keywords'>;
-}
-declare module 'eslint/lib/rules/utils/lazy-loading-rule-map.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/lazy-loading-rule-map'>;
-}
-declare module 'eslint/lib/rules/utils/patterns/letters.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/patterns/letters'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/index' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/index.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/is-combining-character.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode/is-combining-character'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/is-emoji-modifier.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode/is-emoji-modifier'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode/is-regional-indicator-symbol'>;
-}
-declare module 'eslint/lib/rules/utils/unicode/is-surrogate-pair.js' {
- declare module.exports: $Exports<'eslint/lib/rules/utils/unicode/is-surrogate-pair'>;
-}
-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/shared/ajv.js' {
- declare module.exports: $Exports<'eslint/lib/shared/ajv'>;
-}
-declare module 'eslint/lib/shared/ast-utils.js' {
- declare module.exports: $Exports<'eslint/lib/shared/ast-utils'>;
-}
-declare module 'eslint/lib/shared/config-validator.js' {
- declare module.exports: $Exports<'eslint/lib/shared/config-validator'>;
-}
-declare module 'eslint/lib/shared/deprecation-warnings.js' {
- declare module.exports: $Exports<'eslint/lib/shared/deprecation-warnings'>;
-}
-declare module 'eslint/lib/shared/logging.js' {
- declare module.exports: $Exports<'eslint/lib/shared/logging'>;
-}
-declare module 'eslint/lib/shared/relative-module-resolver.js' {
- declare module.exports: $Exports<'eslint/lib/shared/relative-module-resolver'>;
-}
-declare module 'eslint/lib/shared/runtime-info.js' {
- declare module.exports: $Exports<'eslint/lib/shared/runtime-info'>;
-}
-declare module 'eslint/lib/shared/traverser.js' {
- declare module.exports: $Exports<'eslint/lib/shared/traverser'>;
-}
-declare module 'eslint/lib/shared/types.js' {
- declare module.exports: $Exports<'eslint/lib/shared/types'>;
-}
-declare module 'eslint/lib/source-code/index' {
- declare module.exports: $Exports<'eslint/lib/source-code'>;
-}
-declare module 'eslint/lib/source-code/index.js' {
- declare module.exports: $Exports<'eslint/lib/source-code'>;
-}
-declare module 'eslint/lib/source-code/source-code.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/source-code'>;
-}
-declare module 'eslint/lib/source-code/token-store/backward-token-comment-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/backward-token-comment-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/backward-token-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/backward-token-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/cursors.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/cursors'>;
-}
-declare module 'eslint/lib/source-code/token-store/decorative-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/decorative-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/filter-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/filter-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/forward-token-comment-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/forward-token-comment-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/forward-token-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/forward-token-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/index' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store'>;
-}
-declare module 'eslint/lib/source-code/token-store/index.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store'>;
-}
-declare module 'eslint/lib/source-code/token-store/limit-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/limit-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/padded-token-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/padded-token-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/skip-cursor.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/skip-cursor'>;
-}
-declare module 'eslint/lib/source-code/token-store/utils.js' {
- declare module.exports: $Exports<'eslint/lib/source-code/token-store/utils'>;
-}
+++ /dev/null
-// flow-typed signature: 28fdff7f110e1c75efab63ff205dda30
-// flow-typed version: c6154227d1/flow-bin_v0.x.x/flow_>=v0.104.x
-
-declare module "flow-bin" {
- declare module.exports: string;
-}
+++ /dev/null
-// flow-typed signature: 5e180472a76cccade6d1e63228aa20a7
-// flow-typed version: <<STUB>>/flow-typed_v^3.2.1/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'flow-typed'
- *
- * 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-typed' {
- 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-typed/dist/cli' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/create-stub' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/install' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/runTests' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/search' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/update-cache' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/update' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/commands/validateDefs' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/cacheRepoUtils' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/codeSign' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/fileUtils' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/flowProjectUtils' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/flowVersion' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/git' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/github' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/isInFlowTypedRepo' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/libDefs' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/node' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/npm/npmLibDefs' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/npm/npmProjectUtils' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/semver' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/stubUtils' {
- declare module.exports: any;
-}
-
-declare module 'flow-typed/dist/lib/ValidationError' {
- declare module.exports: any;
-}
-
-// Filename aliases
-declare module 'flow-typed/dist/cli.js' {
- declare module.exports: $Exports<'flow-typed/dist/cli'>;
-}
-declare module 'flow-typed/dist/commands/create-stub.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/create-stub'>;
-}
-declare module 'flow-typed/dist/commands/install.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/install'>;
-}
-declare module 'flow-typed/dist/commands/runTests.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/runTests'>;
-}
-declare module 'flow-typed/dist/commands/search.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/search'>;
-}
-declare module 'flow-typed/dist/commands/update-cache.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/update-cache'>;
-}
-declare module 'flow-typed/dist/commands/update.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/update'>;
-}
-declare module 'flow-typed/dist/commands/validateDefs.js' {
- declare module.exports: $Exports<'flow-typed/dist/commands/validateDefs'>;
-}
-declare module 'flow-typed/dist/lib/cacheRepoUtils.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/cacheRepoUtils'>;
-}
-declare module 'flow-typed/dist/lib/codeSign.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/codeSign'>;
-}
-declare module 'flow-typed/dist/lib/fileUtils.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/fileUtils'>;
-}
-declare module 'flow-typed/dist/lib/flowProjectUtils.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/flowProjectUtils'>;
-}
-declare module 'flow-typed/dist/lib/flowVersion.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/flowVersion'>;
-}
-declare module 'flow-typed/dist/lib/git.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/git'>;
-}
-declare module 'flow-typed/dist/lib/github.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/github'>;
-}
-declare module 'flow-typed/dist/lib/isInFlowTypedRepo.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/isInFlowTypedRepo'>;
-}
-declare module 'flow-typed/dist/lib/libDefs.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/libDefs'>;
-}
-declare module 'flow-typed/dist/lib/node.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/node'>;
-}
-declare module 'flow-typed/dist/lib/npm/npmLibDefs.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmLibDefs'>;
-}
-declare module 'flow-typed/dist/lib/npm/npmProjectUtils.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmProjectUtils'>;
-}
-declare module 'flow-typed/dist/lib/semver.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/semver'>;
-}
-declare module 'flow-typed/dist/lib/stubUtils.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/stubUtils'>;
-}
-declare module 'flow-typed/dist/lib/ValidationError.js' {
- declare module.exports: $Exports<'flow-typed/dist/lib/ValidationError'>;
-}
+++ /dev/null
-// flow-typed signature: 4d3109b77e0817da465392a8572a5b10
-// flow-typed version: <<STUB>>/npm-check_v^5.9.2/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'npm-check'
- *
- * 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 'npm-check' {
- 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 'npm-check/bin/cli' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/cli' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/best-guess-homepage' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/create-package-summary' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/find-module-path' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/get-installed-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/get-latest-from-registry' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/get-unused-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/in/read-package-json' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/out/emoji' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/out/install-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/out/interactive-update' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/out/static-output' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/out/update-all' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/state/debug' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/state/init' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib-es5/state/state' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/cli' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/best-guess-homepage' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/create-package-summary' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/find-module-path' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/get-installed-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/get-latest-from-registry' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/get-unused-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/in/read-package-json' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/out/emoji' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/out/install-packages' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/out/interactive-update' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/out/static-output' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/out/update-all' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/state/debug' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/state/init' {
- declare module.exports: any;
-}
-
-declare module 'npm-check/lib/state/state' {
- declare module.exports: any;
-}
-
-// Filename aliases
-declare module 'npm-check/bin/cli.js' {
- declare module.exports: $Exports<'npm-check/bin/cli'>;
-}
-declare module 'npm-check/lib-es5/cli.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/cli'>;
-}
-declare module 'npm-check/lib-es5/in/best-guess-homepage.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/best-guess-homepage'>;
-}
-declare module 'npm-check/lib-es5/in/create-package-summary.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/create-package-summary'>;
-}
-declare module 'npm-check/lib-es5/in/find-module-path.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/find-module-path'>;
-}
-declare module 'npm-check/lib-es5/in/get-installed-packages.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/get-installed-packages'>;
-}
-declare module 'npm-check/lib-es5/in/get-latest-from-registry.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/get-latest-from-registry'>;
-}
-declare module 'npm-check/lib-es5/in/get-unused-packages.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/get-unused-packages'>;
-}
-declare module 'npm-check/lib-es5/in/index' {
- declare module.exports: $Exports<'npm-check/lib-es5/in'>;
-}
-declare module 'npm-check/lib-es5/in/index.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in'>;
-}
-declare module 'npm-check/lib-es5/in/read-package-json.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/in/read-package-json'>;
-}
-declare module 'npm-check/lib-es5/index' {
- declare module.exports: $Exports<'npm-check/lib-es5'>;
-}
-declare module 'npm-check/lib-es5/index.js' {
- declare module.exports: $Exports<'npm-check/lib-es5'>;
-}
-declare module 'npm-check/lib-es5/out/emoji.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/out/emoji'>;
-}
-declare module 'npm-check/lib-es5/out/install-packages.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/out/install-packages'>;
-}
-declare module 'npm-check/lib-es5/out/interactive-update.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/out/interactive-update'>;
-}
-declare module 'npm-check/lib-es5/out/static-output.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/out/static-output'>;
-}
-declare module 'npm-check/lib-es5/out/update-all.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/out/update-all'>;
-}
-declare module 'npm-check/lib-es5/state/debug.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/state/debug'>;
-}
-declare module 'npm-check/lib-es5/state/init.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/state/init'>;
-}
-declare module 'npm-check/lib-es5/state/state.js' {
- declare module.exports: $Exports<'npm-check/lib-es5/state/state'>;
-}
-declare module 'npm-check/lib/cli.js' {
- declare module.exports: $Exports<'npm-check/lib/cli'>;
-}
-declare module 'npm-check/lib/in/best-guess-homepage.js' {
- declare module.exports: $Exports<'npm-check/lib/in/best-guess-homepage'>;
-}
-declare module 'npm-check/lib/in/create-package-summary.js' {
- declare module.exports: $Exports<'npm-check/lib/in/create-package-summary'>;
-}
-declare module 'npm-check/lib/in/find-module-path.js' {
- declare module.exports: $Exports<'npm-check/lib/in/find-module-path'>;
-}
-declare module 'npm-check/lib/in/get-installed-packages.js' {
- declare module.exports: $Exports<'npm-check/lib/in/get-installed-packages'>;
-}
-declare module 'npm-check/lib/in/get-latest-from-registry.js' {
- declare module.exports: $Exports<'npm-check/lib/in/get-latest-from-registry'>;
-}
-declare module 'npm-check/lib/in/get-unused-packages.js' {
- declare module.exports: $Exports<'npm-check/lib/in/get-unused-packages'>;
-}
-declare module 'npm-check/lib/in/index' {
- declare module.exports: $Exports<'npm-check/lib/in'>;
-}
-declare module 'npm-check/lib/in/index.js' {
- declare module.exports: $Exports<'npm-check/lib/in'>;
-}
-declare module 'npm-check/lib/in/read-package-json.js' {
- declare module.exports: $Exports<'npm-check/lib/in/read-package-json'>;
-}
-declare module 'npm-check/lib/index' {
- declare module.exports: $Exports<'npm-check/lib'>;
-}
-declare module 'npm-check/lib/index.js' {
- declare module.exports: $Exports<'npm-check/lib'>;
-}
-declare module 'npm-check/lib/out/emoji.js' {
- declare module.exports: $Exports<'npm-check/lib/out/emoji'>;
-}
-declare module 'npm-check/lib/out/install-packages.js' {
- declare module.exports: $Exports<'npm-check/lib/out/install-packages'>;
-}
-declare module 'npm-check/lib/out/interactive-update.js' {
- declare module.exports: $Exports<'npm-check/lib/out/interactive-update'>;
-}
-declare module 'npm-check/lib/out/static-output.js' {
- declare module.exports: $Exports<'npm-check/lib/out/static-output'>;
-}
-declare module 'npm-check/lib/out/update-all.js' {
- declare module.exports: $Exports<'npm-check/lib/out/update-all'>;
-}
-declare module 'npm-check/lib/state/debug.js' {
- declare module.exports: $Exports<'npm-check/lib/state/debug'>;
-}
-declare module 'npm-check/lib/state/init.js' {
- declare module.exports: $Exports<'npm-check/lib/state/init'>;
-}
-declare module 'npm-check/lib/state/state.js' {
- declare module.exports: $Exports<'npm-check/lib/state/state'>;
-}
+++ /dev/null
-// flow-typed signature: 1b555a8f791762f2a4ee29e1335a175a
-// flow-typed version: a40f6e5201/uuid_v8.x.x/flow_>=v0.104.x
-
-declare module 'uuid' {
- // v1 (Timestamp)
- declare type V1Options = {|
- node?: $ReadOnlyArray<number>,
- clockseq?: number,
- msecs?: number,
- nsecs?: number,
- random?: $ReadOnlyArray<number>,
- rng?: () => $ReadOnlyArray<number>,
- |};
-
- declare export function v1(options?: V1Options): string;
-
- declare export function v1(
- options: V1Options | null,
- buffer: Array<number>,
- offset?: number
- ): Array<number>;
-
- // v3 (Namespace)
- declare function v3Impl(
- name: string | $ReadOnlyArray<number>,
- namespace: string | $ReadOnlyArray<number>
- ): string;
-
- declare function v3Impl(
- name: string | $ReadOnlyArray<number>,
- namespace: string | $ReadOnlyArray<number>,
- buffer: Array<number>,
- offset?: number
- ): Array<number>;
-
- declare export var v3: {|
- [[call]]: typeof v3Impl,
- DNS: string,
- URL: string,
- |};
-
- // v4 (Random)
- declare type V4Options = {|
- random?: $ReadOnlyArray<number>,
- rng?: () => $ReadOnlyArray<number>,
- |};
-
- declare export function v4(options?: V4Options): string;
-
- declare export function v4(
- options: V4Options | null,
- buffer: Array<number>,
- offset?: number
- ): Array<number>;
-
- // v5 (Namespace)
- declare function v5Impl(
- name: string | $ReadOnlyArray<number>,
- namespace: string | $ReadOnlyArray<number>
- ): string;
-
- declare function v5Impl(
- name: string | $ReadOnlyArray<number>,
- namespace: string | $ReadOnlyArray<number>,
- buffer: Array<number>,
- offset?: number
- ): Array<number>;
-
- declare export var v5: {|
- [[call]]: typeof v5Impl,
- DNS: string,
- URL: string,
- |};
-}
+++ /dev/null
-// flow-typed signature: 71d87edbd93b4e1027b7e590a8e97a21
-// flow-typed version: 097f6f2b81/winston_v3.x.x/flow_>=v0.104.x
-
-declare type $winstonLevels = { [string]: number, ... };
-
-declare type $winstonNpmLogLevels = {
- error: number,
- warn: number,
- info: number,
- verbose: number,
- debug: number,
- silly: number,
- ...
-};
-
-declare type $winstonInfo<T: $winstonLevels> = {
- [optionName: string]: mixed,
- level: $Keys<T>,
- message: string,
- ...
-};
-
-declare type $winstonFormat = Object;
-
-declare type $winstonFileTransportConfig<T: $winstonLevels> = {
- filename: string,
- level?: $Keys<T>,
- ...
-};
-
-declare class $winstonTransport {
- level?: string;
- silent?: boolean;
-}
-
-declare class $winstonFileTransport<T> extends $winstonTransport {
- constructor($winstonFileTransportConfig<T>): $winstonFileTransport<T>;
-}
-
-declare type $winstonConsoleTransportConfig<T: $winstonLevels> = { level?: $Keys<T>, ... };
-
-declare class $winstonConsoleTransport<T> extends $winstonTransport {
- constructor(
- config?: $winstonConsoleTransportConfig<T>
- ): $winstonConsoleTransport<T>;
-}
-
-declare type $winstonLoggerConfig<T: $winstonLevels> = {
- exitOnError?: boolean,
- format?: $winstonFormat,
- level?: $Keys<T>,
- levels?: T,
- transports?: Array<$winstonTransport>,
- ...
-};
-
-declare type $winstonLogger<T: $winstonLevels> = {
- [$Keys<T>]: (message: string, meta?: Object) => $winstonLogger<T>,
- add: $winstonTransport => $winstonLogger<T>,
- remove: $winstonTransport => $winstonLogger<T>,
- clear: () => $winstonLogger<T>,
- close: () => $winstonLogger<T>,
- configure: ($winstonLoggerConfig<T>) => void,
- log: (message: $winstonInfo<T>) => $winstonLogger<T>,
- startTimer: () => $winstonProfiler<T>,
- profile: (name: string, info?: $Shape<$winstonInfo<T>>) => void,
- ...
-};
-
-declare type $winstonConfigSubModule = { npm: () => $winstonNpmLogLevels, ... };
-
-declare type $winstonFormatJsonOptions = {
- replacer?: (key: string, value: mixed) => mixed,
- space?: number,
- stable?: boolean,
- ...
-};
-
-declare type $winstonFormatPrettyPrintOptions = {|
- depth?: number,
- colorize?: boolean,
-|};
-
-declare type $winstonFormatErrorsOptions = {|
- stack?: boolean,
-|};
-
-declare type $winstonFormatSubModule = {
- <T: $winstonLevels>((info: $winstonInfo<T>) => $winstonInfo<T>): () => $winstonFormat,
- combine: (...args: Array<$winstonFormat>) => $winstonFormat,
- json: (options?: $winstonFormatJsonOptions) => $winstonFormat,
- label: (config?: Object) => $winstonFormat,
- metadata: () => $winstonFormat,
- prettyPrint: (options?: $winstonFormatPrettyPrintOptions) => $winstonFormat,
- simple: () => $winstonFormat,
- splat: () => $winstonFormat,
- timestamp: (?{
- alias?: string,
- format?: string | () => string,
- ...
- }) => $winstonFormat,
- colorize: () => $winstonFormat,
- logstash: () => $winstonFormat,
- printf: ((args: $winstonInfo<Object>) => string) => $winstonFormat,
- errors: (options?: $winstonFormatErrorsOptions) => $winstonFormat,
- ...
-};
-
-declare type $winstonDefaultLogger = $winstonLogger<$winstonNpmLogLevels>;
-
-declare class $winstonContainer<T> {
- constructor(config?: $winstonLoggerConfig<T>): $winstonContainer<T>;
- add(loggerId: string, config?: $winstonLoggerConfig<T>): $winstonLogger<T>;
- get(loggerId: string): $winstonLogger<T>;
- has(loggerId: string): boolean;
- close(loggerId?: string): void;
-}
-
-declare interface $winstonProfiler<T: $winstonNpmLogLevels> {
- logger: $winstonLogger<T>;
- start: Date;
- done(info?: $Shape<$winstonInfo<T>>): void;
-};
-
-declare module "winston" {
- declare export type Levels = $winstonLevels;
- declare export type NpmLogLevels = $winstonNpmLogLevels;
- declare export type Info<T: Levels > = $winstonInfo<T>;
- declare export type Format = $winstonFormat;
- declare export type FileTransportConfig<T: Levels> = $winstonFileTransportConfig<T>;
- declare export type Transport = $winstonTransport;
- declare export type FileTransport<T: Levels> = $winstonFileTransport<T>;
- declare export type ConsoleTransportConfig<T: Levels> = $winstonConsoleTransportConfig<T>;
- declare export type ConsoleTransport<T: Levels> = $winstonConsoleTransport<T>;
- declare export type LoggerConfig<T: Levels> = $winstonLoggerConfig<T>;
- declare export type Logger<T: Levels> = $winstonLogger<T>;
- declare export type ConfigSubModule = $winstonConfigSubModule;
- declare export type FormatSubModule = $winstonFormatSubModule;
- declare export type DefaultLogger = $winstonDefaultLogger;
- declare export type Container<T: Levels> = $winstonContainer<T>;
- declare export type Profiler<T: Levels> = $winstonProfiler<T>;
-
- declare module.exports: {
- ...$Exact<$winstonDefaultLogger>,
- format: $winstonFormatSubModule,
- transports: {
- Console: typeof $winstonConsoleTransport,
- File: typeof $winstonFileTransport,
- ...
- },
- createLogger: <T>($winstonLoggerConfig<T>) => $winstonLogger<T>,
- Container: typeof $winstonContainer,
- loggers: $winstonContainer<*>,
- ...
- };
-}
+++ /dev/null
-// flow-typed signature: 6adddf428f4e46e1e3029b27fac03a36
-// flow-typed version: <<STUB>>/worker-threads-pool_v^2.0.0/flow_v0.136.0
-
-/**
- * This is an autogenerated libdef stub for:
- *
- * 'worker-threads-pool'
- *
- * 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 'worker-threads-pool' {
- 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.
- */
-
-
-// Filename aliases
-declare module 'worker-threads-pool/index' {
- declare module.exports: $Exports<'worker-threads-pool'>;
-}
-declare module 'worker-threads-pool/index.js' {
- declare module.exports: $Exports<'worker-threads-pool'>;
-}
+++ /dev/null
-// flow-typed signature: cf710812f8fe053ca189786d3fa45067
-// flow-typed version: be32675b14/ws_v7.x.x/flow_>=v0.104.x
-
-declare type ws$PerMessageDeflateOptions = {|
- serverNoContextTakeover?: boolean,
- clientNoContextTakeover?: boolean,
- serverMaxWindowBits?: boolean | number,
- clientMaxWindowBits?: boolean | number,
- zlibDeflateOptions?: zlib$options,
- zlibInflateOptions?: zlib$options,
- threshold?: number,
- concurrencyLimit?: number,
- isServer?: boolean,
- maxPayload?: number,
-|};
-
-declare class ws$WebSocketServer extends events$EventEmitter {
- /**
- * Create a `WebSocketServer` instance.
- */
- constructor(
- options: {|
- backlog?: number,
- clientTracking?: boolean,
- handleProtocols?: () => mixed,
- host?: string,
- maxPayload?: number,
- noServer?: boolean,
- path?: string,
- perMessageDeflate?: boolean | ws$PerMessageDeflateOptions,
- port: number,
- server?: http$Server | https$Server,
- verifyClient?: () => mixed,
- |},
- callback?: () => mixed
- ): this;
- constructor(
- options: {|
- backlog?: number,
- clientTracking?: boolean,
- handleProtocols?: () => mixed,
- host?: string,
- maxPayload?: number,
- noServer?: boolean,
- path?: string,
- perMessageDeflate?: boolean | ws$PerMessageDeflateOptions,
- port?: number,
- server: http$Server | https$Server,
- verifyClient?: () => mixed,
- |},
- callback?: () => mixed
- ): this;
- constructor(
- options: {|
- backlog?: number,
- clientTracking?: boolean,
- handleProtocols?: () => mixed,
- host?: string,
- maxPayload?: number,
- noServer: boolean,
- path?: string,
- perMessageDeflate?: boolean | ws$PerMessageDeflateOptions,
- port?: number,
- server?: http$Server | https$Server,
- verifyClient?: () => mixed,
- |},
- callback?: () => mixed
- ): this;
-
- /**
- * Emitted when the server closes.
- */
- on(event: 'close', () => mixed): this;
-
- /**
- * Emitted when the handshake is complete.
- */
- on(
- event: 'connection',
- (socket: ws$WebSocket, request: http$IncomingMessage<>) => mixed
- ): this;
-
- /**
- * Emitted when an error occurs on the underlying server.
- */
- on(event: 'error', (error: Error) => mixed): this;
-
- /**
- * Emitted before the response headers are written to the socket as part of
- * the handshake.
- */
- on(
- event: 'headers',
- (headers: Array<string>, request: http$IncomingMessage<>) => mixed
- ): this;
-
- /**
- * Emitted when the underlying server has been bound.
- */
- on(event: 'listening', () => mixed): this;
-
- /**
- * Returns the bound address, the address family name, and port of the server
- * as reported by the operating system if listening on an IP socket.
- * If the server is listening on a pipe or UNIX domain socket, the name is
- * returned as a string.
- */
- address():
- | null
- | string
- | {| port?: number, family?: string, address?: string |};
-
- /**
- * A set that stores all connected clients. Please note that this property is
- * only added when the `clientTracking` is truthy.
- */
- clients: Set<ws$WebSocket>;
-
- /**
- * Close the server.
- */
- close(callback?: () => mixed): void;
-
- /**
- * Handle a HTTP Upgrade request.
- */
- handleUpgrade(
- request: http$IncomingMessage<>,
- socket: net$Socket,
- head: Buffer,
- callback: (?ws$WebSocket) => mixed
- ): void;
-
- /**
- * See if a given request should be handled by this server instance.
- */
- shouldHandle(request: http$IncomingMessage<>): boolean;
-}
-
-declare type ws$WebSocketOptions = {
- followRedirects?: boolean,
- handshakeTimeout?: number,
- maxRedirects?: number,
- perMessageDeflate?: boolean | ws$PerMessageDeflateOptions,
- protocolVersion?: number,
- origin?: string,
- maxPayload?: number,
- ...requestOptions,
- agent?: boolean | http$Agent<> | http$Agent<tls$TLSSocket>,
- createConnection?:
- | ((options: net$connectOptions, callback?: () => mixed) => net$Socket)
- | ((options: tls$connectOptions, callback?: () => mixed) => tls$TLSSocket),
- ...
-};
-
-declare type ws$CloseListener = (code: number, reason: string) => mixed;
-declare type ws$ErrorListener = (error: Error) => mixed;
-declare type ws$MessageListener = (
- data: string | Buffer | ArrayBuffer | Array<Buffer>
-) => mixed;
-declare type ws$OpenListener = () => mixed;
-declare type ws$PingListener = (Buffer) => mixed;
-declare type ws$PongListener = (Buffer) => mixed;
-declare type ws$UnexpectedResponseListener = (
- request: http$ClientRequest<>,
- response: http$IncomingMessage<>
-) => mixed;
-declare type ws$UpgradeListener = (response: http$IncomingMessage<>) => mixed;
-
-declare class ws$WebSocket extends events$EventEmitter {
- static Server: typeof ws$WebSocketServer;
-
- static createWebSocketStream: (
- WebSocket: ws$WebSocket,
- options?: duplexStreamOptions
- ) => stream$Duplex;
-
- static CONNECTING: number;
- static OPEN: number;
- static CLOSING: number;
- static CLOSED: number;
-
- /**
- * Create a `WebSocket` instance.
- */
- constructor(
- address: string | URL,
- protocols?: string | Array<string>,
- options?: ws$WebSocketOptions
- ): this;
- constructor(address: string | URL, options: ws$WebSocketOptions): this;
-
- /*
- * Emitted when the connection is closed.
- */
- on('close', ws$CloseListener): this;
-
- /*
- * Emitted when an error occurs.
- */
- on('error', ws$ErrorListener): this;
-
- /*
- * Emitted when a message is received from the server.
- */
- on('message', ws$MessageListener): this;
-
- /*
- * Emitted when the connection is established.
- */
- on('open', ws$OpenListener): this;
-
- /*
- * Emitted when a ping is received from the server.
- */
- on('ping', ws$PingListener): this;
-
- /*
- * Emitted when a pong is received from the server.
- */
- on('pong', ws$PongListener): this;
-
- /*
- * Emitted when the server response is not the expected one,
- * for example a 401 response.
- */
- on('unexpected-response', ws$UnexpectedResponseListener): this;
-
- /*
- * Emitted when response headers are received from the server as part of the
- * handshake.
- */
- on('upgrade', ws$UpgradeListener): this;
-
- /**
- * Register an event listener emulating the `EventTarget` interface.
- */
- addEventListener(
- type: 'close',
- listener: ws$CloseListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'error',
- listener: ws$ErrorListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'message',
- listener: ws$MessageListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'open',
- listener: ws$OpenListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'ping',
- listener: ws$PingListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'pong',
- listener: ws$PongListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'unexpected-response',
- ws$UnexpectedResponseListener,
- options?: {| once?: boolean |}
- ): this;
- addEventListener(
- type: 'upgrade',
- listener: ws$UpgradeListener,
- options?: {| once?: boolean |}
- ): this;
-
- /**
- * A string indicating the type of binary data being transmitted by the
- * connection.
- */
- binaryType: string;
-
- /**
- * The number of bytes of data that have been queued using calls to send()
- * but not yet transmitted to the network.
- */
- bufferedAmount: number;
-
- /**
- * Initiate a closing handshake.
- */
- close(code?: number, reason?: string): void;
-
- /**
- * The negotiated extensions.
- */
- extensions: string;
-
- /**
- * Send a ping.
- */
- ping(data?: any, mask?: boolean, callback?: () => mixed): void;
- ping(data: any, callback: () => mixed): void;
- ping(callback: () => mixed): void;
-
- /**
- * Send a pong.
- */
- pong(data?: any, mask?: boolean, callback?: () => mixed): void;
- pong(data: any, callback: () => mixed): void;
- pong(callback: () => mixed): void;
-
- /**
- * The subprotocol selected by the server.
- */
- protocol: string;
-
- /**
- * The current state of the connection.
- */
- readyState: number;
-
- /**
- * Removes an event listener emulating the `EventTarget` interface.
- */
- removeEventListener(type: 'close', listener: ws$CloseListener): this;
- removeEventListener(type: 'error', listener: ws$ErrorListener): this;
- removeEventListener(type: 'message', listener: ws$MessageListener): this;
- removeEventListener(type: 'open', listener: ws$OpenListener): this;
- removeEventListener(type: 'ping', listener: ws$PingListener): this;
- removeEventListener(type: 'pong', listener: ws$PongListener): this;
- removeEventListener(
- type: 'unexpected-response',
- ws$UnexpectedResponseListener
- ): this;
- removeEventListener(type: 'upgrade', listener: ws$UpgradeListener): this;
-
- /**
- * Send a data message.
- */
- send(
- data?: any,
- options?: {|
- compress?: boolean,
- binary?: boolean,
- mask?: boolean,
- fin?: boolean,
- |},
- callback?: () => mixed
- ): void;
- send(data: any, callback: () => mixed): void;
-
- /**
- * Forcibly close the connection.
- */
- terminate(): void;
-}
-
-declare module 'ws' {
- declare module.exports: typeof ws$WebSocket;
-}
"@babel/types": "^7.8.3"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
"@babel/highlight": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
"turbo-json-parse": "^2.2.0"
}
},
- "@octokit/auth-token": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz",
- "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==",
- "dev": true,
- "requires": {
- "@octokit/types": "^5.0.0"
- }
- },
- "@octokit/endpoint": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.5.tgz",
- "integrity": "sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ==",
- "dev": true,
- "requires": {
- "@octokit/types": "^5.0.0",
- "is-plain-object": "^4.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "dependencies": {
- "universal-user-agent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- }
- }
- },
- "@octokit/plugin-paginate-rest": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
- "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"dev": true,
"requires": {
- "@octokit/types": "^2.0.1"
- },
- "dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "requires": {
- "@types/node": ">= 8"
- }
- }
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
}
},
- "@octokit/plugin-request-log": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
- "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==",
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
"dev": true
},
- "@octokit/plugin-rest-endpoint-methods": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
- "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
- "dev": true,
- "requires": {
- "@octokit/types": "^2.0.1",
- "deprecation": "^2.3.1"
- },
- "dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "requires": {
- "@types/node": ">= 8"
- }
- }
- }
- },
- "@octokit/request": {
- "version": "5.4.7",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.7.tgz",
- "integrity": "sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A==",
- "dev": true,
- "requires": {
- "@octokit/endpoint": "^6.0.1",
- "@octokit/request-error": "^2.0.0",
- "@octokit/types": "^5.0.0",
- "deprecation": "^2.0.0",
- "is-plain-object": "^4.0.0",
- "node-fetch": "^2.3.0",
- "once": "^1.4.0",
- "universal-user-agent": "^6.0.0"
- },
- "dependencies": {
- "@octokit/request-error": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz",
- "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==",
- "dev": true,
- "requires": {
- "@octokit/types": "^5.0.1",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- }
- },
- "universal-user-agent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- }
- }
- },
- "@octokit/request-error": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
- "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
- "dev": true,
- "requires": {
- "@octokit/types": "^2.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- },
- "dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "requires": {
- "@types/node": ">= 8"
- }
- }
- }
- },
- "@octokit/rest": {
- "version": "16.43.2",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
- "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
- "dev": true,
- "requires": {
- "@octokit/auth-token": "^2.4.0",
- "@octokit/plugin-paginate-rest": "^1.1.1",
- "@octokit/plugin-request-log": "^1.0.0",
- "@octokit/plugin-rest-endpoint-methods": "2.4.0",
- "@octokit/request": "^5.2.0",
- "@octokit/request-error": "^1.0.2",
- "atob-lite": "^2.0.0",
- "before-after-hook": "^2.0.0",
- "btoa-lite": "^1.0.0",
- "deprecation": "^2.0.0",
- "lodash.get": "^4.4.2",
- "lodash.set": "^4.3.2",
- "lodash.uniq": "^4.5.0",
- "octokit-pagination-methods": "^1.1.0",
- "once": "^1.4.0",
- "universal-user-agent": "^4.0.0"
- }
- },
- "@octokit/types": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.1.1.tgz",
- "integrity": "sha512-8LDEbrxJrYiwzBrfZhoMFEq9+1o7Kg4ydiNgZt2DBU6n34iEd37qNqOkawrjJZZ6iUS5IXYf6EmGONn34YLgzw==",
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
"dev": true,
"requires": {
- "@types/node": ">= 8"
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
}
},
"@sindresorhus/is": {
"@types/webgl2": "0.0.4",
"node-fetch": "~2.1.2",
"seedrandom": "2.4.3"
- },
- "dependencies": {
- "node-fetch": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz",
- "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=",
- "dev": true
- }
- }
- },
- "@types/cacheable-request": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
- "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==",
- "dev": true,
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
}
},
"@types/color-name": {
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
- "@types/http-cache-semantics": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz",
- "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==",
+ "@types/json-schema": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
"dev": true
},
- "@types/keyv": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz",
- "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/node": {
- "version": "14.0.24",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.24.tgz",
- "integrity": "sha512-btt/oNOiDWcSuI721MdL8VQGnjsKjlTMdrKyTcLCKeQp/n4AAMFJ961wMbp+09y8WuGPClDEv07RIItdXKIXAA==",
+ "version": "14.14.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz",
+ "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==",
"dev": true
},
"@types/offscreencanvas": {
"integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==",
"dev": true
},
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/seedrandom": {
"version": "2.4.27",
"resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.27.tgz",
"integrity": "sha1-nbVjk33YaRX2kJK8QyWdL0hXjkE=",
"dev": true
},
+ "@types/uuid": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz",
+ "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==",
+ "dev": true
+ },
"@types/webgl-ext": {
"version": "0.0.30",
"resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz",
"integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw==",
"dev": true
},
+ "@types/worker-threads-pool": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/worker-threads-pool/-/worker-threads-pool-2.0.0.tgz",
+ "integrity": "sha512-VnFtC73JBhQRtamCR4edJWxyZrwvwz6y/Ov4VNQLiirpRUkND7xo0iUNXEZP2mvZuNbvFeXGglTAFZwCDdWMTg==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/ws": {
+ "version": "7.2.9",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.2.9.tgz",
+ "integrity": "sha512-gmXYAXr7G4BrRMnkGQGkGonc3ArVro9VZd//C1uns/qqsJyl2dxaJdlPMhZbcq5MTxFFC+ttFWtHSfVW5+hlRA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.0.tgz",
+ "integrity": "sha512-1+419X+Ynijytr1iWI+/IcX/kJryc78YNpdaXR1aRO1sU3bC0vZrIAF1tIX7rudVI84W7o7M4zo5p1aVt70fAg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "4.6.0",
+ "@typescript-eslint/scope-manager": "4.6.0",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.0.tgz",
+ "integrity": "sha512-pnh6Beh2/4xjJVNL+keP49DFHk3orDHHFylSp3WEjtgW3y1U+6l+jNnJrGlbs6qhAz5z96aFmmbUyKhunXKvKw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.6.0",
+ "@typescript-eslint/types": "4.6.0",
+ "@typescript-eslint/typescript-estree": "4.6.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.6.0.tgz",
+ "integrity": "sha512-Dj6NJxBhbdbPSZ5DYsQqpR32MwujF772F2H3VojWU6iT4AqL4BKuoNWOPFCoSZvCcADDvQjDpa6OLDAaiZPz2Q==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "4.6.0",
+ "@typescript-eslint/types": "4.6.0",
+ "@typescript-eslint/typescript-estree": "4.6.0",
+ "debug": "^4.1.1"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.6.0.tgz",
+ "integrity": "sha512-uZx5KvStXP/lwrMrfQQwDNvh2ppiXzz5TmyTVHb+5TfZ3sUP7U1onlz3pjoWrK9konRyFe1czyxObWTly27Ang==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.6.0",
+ "@typescript-eslint/visitor-keys": "4.6.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.6.0.tgz",
+ "integrity": "sha512-5FAgjqH68SfFG4UTtIFv+rqYJg0nLjfkjD0iv+5O27a0xEeNZ5rZNDvFGZDizlCD1Ifj7MAbSW2DPMrf0E9zjA==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.0.tgz",
+ "integrity": "sha512-s4Z9qubMrAo/tw0CbN0IN4AtfwuehGXVZM0CHNMdfYMGBDhPdwTEpBrecwhP7dRJu6d9tT9ECYNaWDHvlFSngA==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.6.0",
+ "@typescript-eslint/visitor-keys": "4.6.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "globby": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
+ "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.0.tgz",
+ "integrity": "sha512-38Aa9Ztl0XyFPVzmutHXqDMCu15Xx8yKvUo38Gu3GhsuckCh3StPI5t2WIO9LHEsOH7MLmlGfKUisU8eW1Sjhg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.6.0",
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
+ "dev": true
+ }
+ }
+ },
"JSONStream": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
"integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
"dev": true
},
- "array-includes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
- "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0",
- "is-string": "^1.0.5"
- }
- },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
- "array.prototype.flat": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
- "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
- }
- },
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
- "atob-lite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
- "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
- "dev": true
- },
"autocannon": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/autocannon/-/autocannon-4.6.0.tgz",
"integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
"dev": true
},
- "babel-eslint": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
- "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.0",
- "@babel/traverse": "^7.7.0",
- "@babel/types": "^7.7.0",
- "eslint-visitor-keys": "^1.0.0",
- "resolve": "^1.12.0"
- },
- "dependencies": {
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- }
- }
- },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"tweetnacl": "^0.14.3"
}
},
- "before-after-hook": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
- "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
- "dev": true
- },
- "big-integer": {
- "version": "1.6.48",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
- "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==",
- "dev": true
- },
- "binary": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
- "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
- "dev": true,
- "requires": {
- "buffers": "~0.1.1",
- "chainsaw": "~0.1.0"
- }
- },
"bit-twiddle": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
}
}
},
- "bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
- "dev": true
- },
"bn.js": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
"concat-map": "0.0.1"
}
},
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
"brfs": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brfs/-/brfs-2.0.2.tgz",
"pako": "~1.0.5"
}
},
- "btoa-lite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
- "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
- "dev": true
- },
"buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "buffer-indexof-polyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz",
- "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=",
- "dev": true
- },
"buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
- "buffers": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
- "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
- "dev": true
- },
"builtin-modules": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
- "cacheable-lookup": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz",
- "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==",
- "dev": true,
- "requires": {
- "@types/keyv": "^3.1.1",
- "keyv": "^4.0.0"
- },
- "dependencies": {
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "keyv": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.1.tgz",
- "integrity": "sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- }
- }
- },
"cacheable-request": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
"integrity": "sha512-twuUuJRrIrsELHz6foJtZlqrz6FC36zoHZJvvThsrM1UWPKxyoilw1Rka6Hk0AmPFKHKUoGwGfAtvNZNtNZu0g==",
"dev": true
},
- "chainsaw": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
- "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
- "dev": true,
- "requires": {
- "traverse": ">=0.3.0 <0.4"
- }
- },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
- "dev": true
- },
"chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"dev": true
},
"cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true,
"requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
},
"dependencies": {
"ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
"string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-regex": "^4.1.0"
}
}
}
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
"convert-source-map": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
"integrity": "sha512-uAVe/bgNHlPdP1VE4Sk08u9pAJ7o1x/tVQtX77T5zlhYhuwOWtVkPBEtHdvF5cq48VzeCG5i1zN4dQc8pwLYrw==",
"dev": true
},
+ "cross-env": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz",
+ "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.1"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"which": "^1.2.8"
}
},
- "crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=",
- "dev": true
- },
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
"dev": true
},
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-ZGDXefq1xknT292LnorMY5s8UVU08/WKdzDZCUT6t9JzsiMSP4uzUhgpqugffNVcT5WC6wMBiSQ+LFjlv3v7iQ==",
"dev": true
},
- "deprecation": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
- "dev": true
- },
"deps-regex": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz",
}
}
},
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
"distributions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/distributions/-/distributions-2.1.0.tgz",
"stackframe": "^0.3.1"
}
},
- "es-abstract": {
- "version": "1.17.5",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
- "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-regex": "^1.0.5",
- "object-inspect": "^1.7.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
- "string.prototype.trimleft": "^2.1.1",
- "string.prototype.trimright": "^2.1.1"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
"es5-ext": {
"version": "0.10.53",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
}
}
},
- "eslint-config-esnext": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-esnext/-/eslint-config-esnext-4.1.0.tgz",
- "integrity": "sha512-GhfVEXdqYKEIIj7j+Fw2SQdL9qyZMekgXfq6PyXM66cQw0B435ddjz3P3kxOBVihMRJ0xGYjosaveQz5Y6z0uA==",
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
+ "dev": true
+ },
+ "espree": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
+ "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
"dev": true,
"requires": {
- "babel-eslint": "^10.0.1",
- "eslint": "^6.8.0",
- "eslint-plugin-babel": "^5.2.1",
- "eslint-plugin-import": "^2.14.0"
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.3.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "eslint": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
- "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.3",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.2",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^7.0.0",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.3",
- "progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
- "table": "^5.2.3",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- }
- },
- "eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.8.1"
- }
- },
- "regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "strip-json-comments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
- "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
"dev": true
}
}
},
- "eslint-config-google": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz",
- "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==",
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
- "eslint-config-node": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-node/-/eslint-config-node-4.1.0.tgz",
- "integrity": "sha512-Wz17xV5O2WFG8fGdMYEBdbiL6TL7YNJSJvSX9V4sXQownewfYmoqlly7wxqLkOUv/57pq6LnnotMiQQrrPjCqQ==",
+ "esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "eslint": "^6.8.0",
- "eslint-config-esnext": "^4.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "eslint": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
- "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.3",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.2",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^7.0.0",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.3",
- "progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
- "table": "^5.2.3",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- }
- },
- "eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.8.1"
- }
- },
- "regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "strip-json-comments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
- "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
- "dev": true
- },
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
- "dev": true
- }
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
- "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "resolve": "^1.13.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
- "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "pkg-dir": "^2.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "eslint-plugin-babel": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.3.0.tgz",
- "integrity": "sha512-HPuNzSPE75O+SnxHIafbW5QB45r2w78fxqwK3HmjqIUoPfPzVrq6rD+CINU3yzoDSzEhUkX07VUphbF73Lth/w==",
- "dev": true,
- "requires": {
- "eslint-rule-composer": "^0.3.0"
- }
- },
- "eslint-plugin-flowtype": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz",
- "integrity": "sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15",
- "string-natural-compare": "^3.0.1"
- }
- },
- "eslint-plugin-import": {
- "version": "2.20.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz",
- "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3",
- "array.prototype.flat": "^1.2.1",
- "contains-path": "^0.1.0",
- "debug": "^2.6.9",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.2",
- "eslint-module-utils": "^2.4.1",
- "has": "^1.0.3",
- "minimatch": "^3.0.4",
- "object.values": "^1.1.0",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.12.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- }
- }
- },
- "eslint-rule-composer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
- "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==",
- "dev": true
- },
- "eslint-scope": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
- "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
- "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
- "dev": true
- },
- "espree": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
- "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
- "dev": true,
- "requires": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.3.0"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- },
- "eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true
- }
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esquery": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
+ "estraverse": "^5.1.0"
},
"dependencies": {
"estraverse": {
"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
+ "fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ }
+ },
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
},
+ "fastq": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz",
+ "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
"fecha": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
"flat-cache": "^2.0.1"
}
},
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
"find-parent-dir": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
- "flow-bin": {
- "version": "0.137.0",
- "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.137.0.tgz",
- "integrity": "sha512-ytwUn68fPKK/VWVpCxJ4KNeNIjCC/uX0Ll6Z1E98sOXfMknB000WtgQjKYDdO6tOR8mvXBE0adzjgCrChVympw==",
- "dev": true
- },
- "flow-typed": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/flow-typed/-/flow-typed-3.2.1.tgz",
- "integrity": "sha512-vWQLZmndgdEHdy1TKTeI1DkLLa4078p6vhcKz/IZ6fcpaWLElTSG7rZi3BxlcSWfEQPxsymuSBNwAT7dCpXm6g==",
- "dev": true,
- "requires": {
- "@octokit/rest": "^16.43.1",
- "colors": "^1.4.0",
- "flowgen": "^1.10.0",
- "fs-extra": "^8.1.0",
- "glob": "^7.1.6",
- "got": "^10.5.7",
- "md5": "^2.2.1",
- "mkdirp": "^1.0.3",
- "prettier": "^1.19.1",
- "rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "table": "^5.4.6",
- "through": "^2.3.8",
- "unzipper": "^0.10.8",
- "which": "^2.0.2",
- "yargs": "^15.1.0"
- },
- "dependencies": {
- "@sindresorhus/is": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
- "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==",
- "dev": true
- },
- "@szmarczak/http-timer": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz",
- "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "cacheable-request": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz",
- "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^2.0.0"
- }
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- },
- "decompress-response": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz",
- "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==",
- "dev": true,
- "requires": {
- "mimic-response": "^2.0.0"
- }
- },
- "defer-to-connect": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz",
- "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "got": {
- "version": "10.7.0",
- "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz",
- "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^2.0.0",
- "@szmarczak/http-timer": "^4.0.0",
- "@types/cacheable-request": "^6.0.1",
- "cacheable-lookup": "^2.0.0",
- "cacheable-request": "^7.0.1",
- "decompress-response": "^5.0.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^5.0.0",
- "lowercase-keys": "^2.0.0",
- "mimic-response": "^2.1.0",
- "p-cancelable": "^2.0.0",
- "p-event": "^4.0.0",
- "responselike": "^2.0.0",
- "to-readable-stream": "^2.0.0",
- "type-fest": "^0.10.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
- },
- "keyv": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.1.tgz",
- "integrity": "sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- },
- "mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
- "dev": true
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "p-cancelable": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz",
- "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==",
- "dev": true
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "responselike": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
- "dev": true,
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "to-readable-stream": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz",
- "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==",
- "dev": true
- },
- "type-fest": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz",
- "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
- "dev": true,
- "requires": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
- }
- },
- "yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "flowgen": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.11.0.tgz",
- "integrity": "sha512-WpoBjzcZadnAw5FatlUbvFWUWXkI2/LjrwTl5fl3MVDh+KdvYgFzgRXDDKH/O2uUlwjfpveiJJJx8TwL7Se84A==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.8.3",
- "@babel/highlight": "^7.9.0",
- "commander": "^5.1.0",
- "lodash": "^4.17.15",
- "prettier": "^2.0.5",
- "shelljs": "^0.8.4",
- "typescript": "^3.4",
- "typescript-compiler": "^1.4.1-2"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
- "commander": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
- "dev": true
- },
- "prettier": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
- "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
- "dev": true
- }
- }
- },
"fn.name": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- }
- }
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- }
- },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
},
"har-schema": {
"version": "2.0.0",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
- "dev": true
- },
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
}
}
},
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true
- },
"iota-array": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
- "is-callable": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
- "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
- "dev": true
- },
"is-ci": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
"ci-info": "^1.5.0"
}
},
- "is-date-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
- "dev": true
- },
"is-docker": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
"integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
"dev": true
},
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"path-is-inside": "^1.0.1"
}
},
- "is-plain-object": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-4.1.0.tgz",
- "integrity": "sha512-1N1OpoS8S4Ua+FsH6Mhvgaj0di3uRXgulcv2dnFu2J/WcEsDNbBoiUX6mYmhQ2cAzZ+B/lTJtX1qUSL5RwsGug==",
- "dev": true
- },
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
"dev": true
},
- "is-regex": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
- "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
"is-retry-allowed": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
- "is-string": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
- "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
- "dev": true
- },
- "is-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.1"
- }
- },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
},
"is-windows": {
"version": "1.0.2",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"type-check": "~0.3.2"
}
},
- "listenercount": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
- "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=",
- "dev": true
- },
"load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
- "strip-bom": "^3.0.0"
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ }
}
},
"load-yaml-file": {
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
"lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=",
"dev": true
},
- "lodash.set": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
- "dev": true
- },
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
"dev": true
},
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
"log-symbols": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
- "md5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
- "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
- "dev": true,
- "requires": {
- "charenc": "~0.0.1",
- "crypt": "~0.0.1",
- "is-buffer": "~1.1.1"
- }
- },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
"requires": {
"path-exists": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
"requires": {
"pinkie-promise": "^2.0.0"
}
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- }
- },
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
"requires": {
"is-utf8": "^0.2.0"
}
"source-map": "^0.5.6"
}
},
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
}
},
"node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz",
+ "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=",
"dev": true
},
"node-sass-tilde-importer": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
"requires": {
"path-exists": "^2.0.0",
"pinkie-promise": "^2.0.0"
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
"requires": {
"pinkie-promise": "^2.0.0"
}
"integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=",
"dev": true
},
- "pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- },
"restore-cursor": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
"integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
"dev": true
},
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.values": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
- },
- "octokit-pagination-methods": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
- "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
- "dev": true
- },
"on-net-listen": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/on-net-listen/-/on-net-listen-1.1.2.tgz",
"integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
"dev": true
},
- "p-event": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
- "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==",
- "dev": true,
- "requires": {
- "p-timeout": "^3.1.0"
- }
- },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"p-limit": "^1.1.0"
}
},
- "p-timeout": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
- "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
- "dev": true,
- "requires": {
- "p-finally": "^1.0.0"
- }
- },
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"dev": true
},
"path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
},
"pbkdf2": {
"version": "3.1.1",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
"requires": {
"pinkie": "^2.0.0"
}
},
"pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
"dev": true,
"requires": {
- "find-up": "^2.1.0"
+ "find-up": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ }
}
},
"pkg-up": {
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
"dev": true
},
- "prettier": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
- "dev": true
- },
"pretty-bytes": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz",
}
},
"read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "load-json-file": "^2.0.0",
+ "load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
+ "path-type": "^1.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ }
}
},
"read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ }
}
},
"readable-stream": {
}
}
},
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==",
"dev": true
},
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
"rimraf": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
"dev": true
},
+ "run-parallel": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
+ "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
+ "dev": true
+ },
"rx-lite": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
"dev": true,
"requires": {
"tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
"safe-buffer": {
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
- },
"sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
"dev": true
},
- "shelljs": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
- "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
"showdown": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz",
"integrity": "sha512-KPUi1ZqLocV64n0AuV+g4VDjAM+tEEY66nUd+rYaVBHIfeheGGUvIxe9bf7Mpc1PonDTVW2uRr9nigQa9odvuA==",
"dev": true
},
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
"slice-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
"readable-stream": "2"
}
},
- "string-natural-compare": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
- "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==",
- "dev": true
- },
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"strip-ansi": "^4.0.0"
}
},
- "string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
- "string.prototype.trimleft": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
- "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimstart": "^1.0.0"
- }
- },
- "string.prototype.trimright": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
- "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "string.prototype.trimend": "^1.0.0"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
"dev": true
},
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
}
}
},
- "traverse": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
- "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
- "dev": true
- },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
},
"tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
+ "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
+ },
+ "tsutils": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
+ "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
+ }
},
"ttest": {
"version": "2.1.1",
}
},
"typescript": {
- "version": "3.9.7",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
- "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
- "dev": true
- },
- "typescript-compiler": {
- "version": "1.4.1-2",
- "resolved": "https://registry.npmjs.org/typescript-compiler/-/typescript-compiler-1.4.1-2.tgz",
- "integrity": "sha1-uk99si2RU0oZKdkACdzhYety/T8=",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz",
+ "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==",
"dev": true
},
"ultron": {
"crypto-random-string": "^1.0.0"
}
},
- "universal-user-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
- "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
- "dev": true,
- "requires": {
- "os-name": "^3.1.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
"unzip-response": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
"integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
"dev": true
},
- "unzipper": {
- "version": "0.10.11",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz",
- "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==",
- "dev": true,
- "requires": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- }
- }
- },
"update-notifier": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"engines": {
"node": "14.x.x"
},
- "type": "module",
"repository": {
"type": "git",
"url": "https://github.com/LucasBrazi06/ev-simulator.git"
"url": "http://www.apache.org/licenses/LICENSE-2.0"
}
],
- "main": "src/start.js",
+ "main": "dist/start.js",
"scripts": {
- "start": "node src/start.js",
- "start:debug": "node --inspect src/start.js",
- "start:prof": "node --prof src/start.js",
- "start:doctorprof": "clinic doctor -- node src/start.js",
- "start:flameprof": "clinic flame -- node src/start.js",
- "start:bubbleprof": "clinic bubbleprof -- node src/start.js",
- "lint": "eslint src",
- "lint:fix": "eslint --fix src",
- "flow": "flow",
- "flow:check": "flow check src",
- "flow:deps": "flow-typed install",
- "test": "echo \"Error: no test specified\" && exit 1",
+ "start": "node dist/start.js",
+ "prestart": "npm run build",
+ "start:debug": "node --inspect dist/start.js",
+ "start:prof": "node --prof dist/start.js",
+ "start:doctorprof": "clinic doctor -- node dist/start.js",
+ "start:flameprof": "clinic flame -- node dist/start.js",
+ "start:bubbleprof": "clinic bubbleprof -- node dist/start.js",
+ "build": "npm run tsc",
+ "lint": "cross-env TIMING=1 eslint --ext .js,.ts src",
+ "lint:fix": "cross-env TIMING=1 eslint --fix --ext .js,.ts src",
+ "tsc": "tsc",
+ "test": "echo \"Error: no tests implemented\" && exit 1",
"clinic:clean": "clinic clean",
"npm-check": "npm-check",
"git:sdiff": "git diff && git submodule foreach 'git diff'",
"git:spush": "git push --recurse-submodules=on-demand"
},
"dependencies": {
+ "tslib": "^2.0.3",
"uuid": "^8.3.1",
"winston": "^3.3.3",
"worker-threads-pool": "^2.0.0",
"ws": "^7.3.1"
},
"devDependencies": {
- "babel-eslint": "^10.1.0",
+ "@types/node": "^14.14.6",
+ "@types/uuid": "^8.3.0",
+ "@types/worker-threads-pool": "^2.0.0",
+ "@types/ws": "^7.2.9",
+ "@typescript-eslint/eslint-plugin": "^4.6.0",
+ "@typescript-eslint/parser": "^4.6.0",
"clinic": "^7.0.0",
+ "cross-env": "^7.0.2",
"eslint": "^7.12.1",
- "eslint-config-google": "^0.14.0",
- "eslint-config-node": "^4.1.0",
- "eslint-plugin-flowtype": "^5.2.0",
- "flow-bin": "^0.137.0",
- "flow-typed": "^3.2.1",
- "npm-check": "^5.9.2"
+ "npm-check": "^5.9.2",
+ "typescript": "^4.0.5"
}
}
--- /dev/null
+{
+ "authorizationFile": "./src/assets/authorization-tags.json",
+ "baseName": "CS-ABB",
+ "chargePointModel": "MD_TERRA_53",
+ "chargePointVendor": "ABB",
+ "firmwareVersion": "4.0.4.22",
+ "power": 50000,
+ "powerSharedByConnectors": true,
+ "powerUnit": "W",
+ "powerOutType": "DC",
+ "useConnectorId0": true,
+ "randomConnectors": false,
+ "resetTime": "60",
+ "enableStatistics": false,
+ "voltageOut": 400,
+ "Configuration": {
+ "configurationKey": [
+ {
+ "key": "MeterValuesSampledData",
+ "readonly": false,
+ "value": "SoC,Energy.Active.Import.Register,Power.Active.Import,Current.Import,Voltage"
+ },
+ {
+ "key": "MeterValueSampleInterval",
+ "readonly": false,
+ "value": 30
+ },
+ {
+ "key": "SupportedFeatureProfiles",
+ "readonly": true,
+ "value": "Core,LocalAuthListManagement"
+ },
+ {
+ "key": "LocalAuthListEnabled",
+ "readonly": false,
+ "value": "false"
+ },
+ {
+ "key": "AuthorizeRemoteTxRequests",
+ "readonly": false,
+ "value": "false"
+ },
+ {
+ "key": "VendorKey",
+ "readonly": false,
+ "value": "VendorValue",
+ "visible": false,
+ "reboot": true
+ }
+ ]
+ },
+ "AutomaticTransactionGenerator": {
+ "enable": true,
+ "minDuration": 120,
+ "maxDuration": 360,
+ "minDelayBetweenTwoTransactions": 15,
+ "maxDelayBetweenTwoTransactions": 30,
+ "probabilityOfStart": 1,
+ "stopAfterHours": 0.3,
+ "stopOnConnectionFailure": false
+ },
+ "Connectors": {
+ "0": {},
+ "1": {
+ "MeterValues": [
+ {
+ "unit": "Percent",
+ "context": "Sample.Periodic",
+ "measurand": "SoC",
+ "location": "EV"
+ },
+ {
+ "unit": "V",
+ "context": "Sample.Periodic",
+ "measurand": "Voltage"
+ },
+ {
+ "unit": "W",
+ "measurand": "Power.Active.Import"
+ },
+ {
+ "unit": "A",
+ "context": "Sample.Periodic",
+ "measurand": "Current.Import"
+ },
+ {
+ "unit": "Wh"
+ }
+ ]
+ },
+ "2": {
+ "MeterValues": [
+ {
+ "unit": "Percent",
+ "context": "Sample.Periodic",
+ "measurand": "SoC",
+ "location": "EV"
+ },
+ {
+ "unit": "V",
+ "context": "Sample.Periodic",
+ "measurand": "Voltage"
+ },
+ {
+ "unit": "W",
+ "measurand": "Power.Active.Import"
+ },
+ {
+ "unit": "A",
+ "context": "Sample.Periodic",
+ "measurand": "Current.Import"
+ },
+ {
+ "unit": "Wh"
+ }
+ ]
+ }
+ }
+}
+++ /dev/null
-import {PerformanceObserver, performance} from 'perf_hooks';
-
-import Constants from '../utils/Constants.js';
-import Utils from '../utils/Utils.js';
-import logger from '../utils/Logger.js';
-
-export default class AutomaticTransactionGenerator {
- constructor(chargingStation) {
- this._chargingStation = chargingStation;
- this._timeToStop = true;
- if (this._chargingStation.getEnableStatistics()) {
- this._performanceObserver = new PerformanceObserver((list) => {
- const entry = list.getEntries()[0];
- this._chargingStation._statistics.logPerformance(entry, 'AutomaticTransactionGenerator');
- this._performanceObserver.disconnect();
- });
- }
- }
-
- get timeToStop() {
- return this._timeToStop;
- }
-
- _logPrefix(connectorId = null) {
- if (connectorId) {
- return Utils.logPrefix(' ' + this._chargingStation._stationInfo.name + ' ATG on connector #' + connectorId + ':');
- }
- return Utils.logPrefix(' ' + this._chargingStation._stationInfo.name + ' ATG:');
- }
-
- async start() {
- this._timeToStop = false;
- if (this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours &&
- this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours > 0) {
- setTimeout(() => {
- this.stop();
- }, this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600 * 1000);
- }
- for (const connector in this._chargingStation._connectors) {
- if (connector > 0) {
- this.startConnector(connector);
- }
- }
- logger.info(this._logPrefix() + ' ATG started and will stop in ' + Utils.secondstoHHMMSS(this._chargingStation._stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600));
- }
-
- async stop(reason = '') {
- logger.info(this._logPrefix() + ' ATG OVER => STOPPING ALL TRANSACTIONS');
- for (const connector in this._chargingStation._connectors) {
- if (this._chargingStation.getConnector(connector).transactionStarted) {
- logger.info(this._logPrefix(connector) + ' ATG OVER. Stop transaction ' + this._chargingStation.getConnector(connector).transactionId);
- await this._chargingStation.sendStopTransaction(this._chargingStation.getConnector(connector).transactionId, reason);
- }
- }
- this._timeToStop = true;
- }
-
- async startConnector(connectorId) {
- do {
- const wait = Utils.getRandomInt(this._chargingStation._stationInfo.AutomaticTransactionGenerator.maxDelayBetweenTwoTransactions,
- this._chargingStation._stationInfo.AutomaticTransactionGenerator.minDelayBetweenTwoTransactions) * 1000;
- logger.info(this._logPrefix(connectorId) + ' wait for ' + Utils.secondstoHHMMSS(wait / 1000));
- await Utils.sleep(wait);
- if (this._timeToStop) {
- logger.debug(this._logPrefix(connectorId) + ' Entered in transaction loop while a request to stop it was made');
- break;
- }
- const start = Math.random();
- let skip = 0;
- if (start < this._chargingStation._stationInfo.AutomaticTransactionGenerator.probabilityOfStart) {
- skip = 0;
- // Start transaction
- let startResponse;
- if (this._chargingStation.getEnableStatistics()) {
- const startTransaction = performance.timerify(this.startTransaction);
- this._performanceObserver.observe({entryTypes: ['function']});
- startResponse = await startTransaction(connectorId, this);
- } else {
- startResponse = await this.startTransaction(connectorId, this);
- }
- if (startResponse.idTagInfo.status !== 'Accepted') {
- logger.info(this._logPrefix(connectorId) + ' transaction rejected');
- await Utils.sleep(Constants.CHARGING_STATION_ATG_WAIT_TIME);
- } else {
- // Wait until end of transaction
- const wait = Utils.getRandomInt(this._chargingStation._stationInfo.AutomaticTransactionGenerator.maxDuration,
- this._chargingStation._stationInfo.AutomaticTransactionGenerator.minDuration) * 1000;
- logger.info(this._logPrefix(connectorId) + ' transaction ' + this._chargingStation.getConnector(connectorId).transactionId + ' will stop in ' + Utils.secondstoHHMMSS(wait / 1000));
- await Utils.sleep(wait);
- // Stop transaction
- if (this._chargingStation.getConnector(connectorId).transactionStarted) {
- logger.info(this._logPrefix(connectorId) + ' stop transaction ' + this._chargingStation.getConnector(connectorId).transactionId);
- if (this._chargingStation.getEnableStatistics()) {
- const stopTransaction = performance.timerify(this.stopTransaction);
- this._performanceObserver.observe({entryTypes: ['function']});
- await stopTransaction(connectorId, this);
- } else {
- await this.stopTransaction(connectorId, this);
- }
- }
- }
- } else {
- skip++;
- logger.info(this._logPrefix(connectorId) + ' transaction skipped ' + skip);
- }
- } while (!this._timeToStop);
- logger.info(this._logPrefix(connectorId) + ' ATG STOPPED on the connector');
- }
-
- // eslint-disable-next-line class-methods-use-this
- async startTransaction(connectorId, self) {
- if (self._chargingStation.hasAuthorizedTags()) {
- const tagId = self._chargingStation.getRandomTagId();
- logger.info(self._logPrefix(connectorId) + ' start transaction for tagID ' + tagId);
- return self._chargingStation.sendStartTransaction(connectorId, tagId);
- }
- return self._chargingStation.sendStartTransaction(connectorId);
- }
-
- // eslint-disable-next-line class-methods-use-this
- async stopTransaction(connectorId, self) {
- await self._chargingStation.sendStopTransaction(self._chargingStation.getConnector(connectorId).transactionId);
- }
-}
--- /dev/null
+import { PerformanceObserver, performance } from 'perf_hooks';
+
+import ChargingStation from './ChargingStation';
+import Constants from '../utils/Constants';
+import Utils from '../utils/Utils';
+import logger from '../utils/Logger';
+
+export default class AutomaticTransactionGenerator {
+ private _chargingStation: ChargingStation;
+ private _timeToStop: boolean;
+ private _performanceObserver: PerformanceObserver;
+
+ constructor(chargingStation: ChargingStation) {
+ this._chargingStation = chargingStation;
+ this._timeToStop = true;
+ if (this._chargingStation.getEnableStatistics()) {
+ this._performanceObserver = new PerformanceObserver((list) => {
+ const entry = list.getEntries()[0];
+ this._chargingStation.statistics.logPerformance(entry, 'AutomaticTransactionGenerator');
+ this._performanceObserver.disconnect();
+ });
+ }
+ }
+
+ get timeToStop(): boolean {
+ return this._timeToStop;
+ }
+
+ _logPrefix(connectorId: number = null): string {
+ if (connectorId) {
+ return Utils.logPrefix(' ' + this._chargingStation.stationInfo.name + ' ATG on connector #' + connectorId + ':');
+ }
+ return Utils.logPrefix(' ' + this._chargingStation.stationInfo.name + ' ATG:');
+ }
+
+ start(): void {
+ this._timeToStop = false;
+ if (this._chargingStation.stationInfo.AutomaticTransactionGenerator.stopAfterHours &&
+ this._chargingStation.stationInfo.AutomaticTransactionGenerator.stopAfterHours > 0) {
+ setTimeout(() => {
+ this.stop();
+ }, this._chargingStation.stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600 * 1000);
+ }
+ for (const connector in this._chargingStation.connectors) {
+ if (Utils.convertToInt(connector) > 0) {
+ this.startConnector(Utils.convertToInt(connector));
+ }
+ }
+ logger.info(this._logPrefix() + ' ATG started and will stop in ' + Utils.secondstoHHMMSS(this._chargingStation.stationInfo.AutomaticTransactionGenerator.stopAfterHours * 3600));
+ }
+
+ async stop(reason = ''): Promise<void> {
+ logger.info(this._logPrefix() + ' ATG OVER => STOPPING ALL TRANSACTIONS');
+ for (const connector in this._chargingStation.connectors) {
+ if (this._chargingStation.getConnector(Utils.convertToInt(connector)).transactionStarted) {
+ logger.info(this._logPrefix(Utils.convertToInt(connector)) + ' ATG OVER. Stop transaction ' + this._chargingStation.getConnector(Utils.convertToInt(connector)).transactionId);
+ await this._chargingStation.sendStopTransaction(this._chargingStation.getConnector(Utils.convertToInt(connector)).transactionId, reason);
+ }
+ }
+ this._timeToStop = true;
+ }
+
+ async startConnector(connectorId: number): Promise<void> {
+ do {
+ const wait = Utils.getRandomInt(this._chargingStation.stationInfo.AutomaticTransactionGenerator.maxDelayBetweenTwoTransactions,
+ this._chargingStation.stationInfo.AutomaticTransactionGenerator.minDelayBetweenTwoTransactions) * 1000;
+ logger.info(this._logPrefix(connectorId) + ' wait for ' + Utils.secondstoHHMMSS(wait / 1000));
+ await Utils.sleep(wait);
+ if (this._timeToStop) {
+ logger.debug(this._logPrefix(connectorId) + ' Entered in transaction loop while a request to stop it was made');
+ break;
+ }
+ const start = Math.random();
+ let skip = 0;
+ if (start < this._chargingStation.stationInfo.AutomaticTransactionGenerator.probabilityOfStart) {
+ skip = 0;
+ // Start transaction
+ let startResponse;
+ if (this._chargingStation.getEnableStatistics()) {
+ const startTransaction = performance.timerify(this.startTransaction);
+ this._performanceObserver.observe({ entryTypes: ['function'] });
+ startResponse = await startTransaction(connectorId);
+ } else {
+ startResponse = await this.startTransaction(connectorId);
+ }
+ if (startResponse.idTagInfo.status !== 'Accepted') {
+ logger.info(this._logPrefix(connectorId) + ' transaction rejected');
+ await Utils.sleep(Constants.CHARGING_STATION_ATG_WAIT_TIME);
+ } else {
+ // Wait until end of transaction
+ const waitTrxEnd = Utils.getRandomInt(this._chargingStation.stationInfo.AutomaticTransactionGenerator.maxDuration,
+ this._chargingStation.stationInfo.AutomaticTransactionGenerator.minDuration) * 1000;
+ logger.info(this._logPrefix(connectorId) + ' transaction ' + this._chargingStation.getConnector(connectorId).transactionId + ' will stop in ' + Utils.secondstoHHMMSS(waitTrxEnd / 1000));
+ await Utils.sleep(waitTrxEnd);
+ // Stop transaction
+ if (this._chargingStation.getConnector(connectorId).transactionStarted) {
+ logger.info(this._logPrefix(connectorId) + ' stop transaction ' + this._chargingStation.getConnector(connectorId).transactionId);
+ if (this._chargingStation.getEnableStatistics()) {
+ const stopTransaction = performance.timerify(this.stopTransaction);
+ this._performanceObserver.observe({ entryTypes: ['function'] });
+ await stopTransaction(connectorId);
+ } else {
+ await this.stopTransaction(connectorId);
+ }
+ }
+ }
+ } else {
+ skip++;
+ logger.info(this._logPrefix(connectorId) + ' transaction skipped ' + skip);
+ }
+ } while (!this._timeToStop);
+ logger.info(this._logPrefix(connectorId) + ' ATG STOPPED on the connector');
+ }
+
+ async startTransaction(connectorId: number): Promise<unknown> {
+ if (this._chargingStation.hasAuthorizedTags()) {
+ const tagId = this._chargingStation.getRandomTagId();
+ logger.info(this._logPrefix(connectorId) + ' start transaction for tagID ' + tagId);
+ return this._chargingStation.sendStartTransaction(connectorId, tagId);
+ }
+ logger.info(this._logPrefix(connectorId) + ' start transaction without a tagID');
+ return this._chargingStation.sendStartTransaction(connectorId);
+ }
+
+ async stopTransaction(connectorId: number): Promise<void> {
+ await this._chargingStation.sendStopTransaction(this._chargingStation.getConnector(connectorId).transactionId);
+ }
+}
-import {PerformanceObserver, performance} from 'perf_hooks';
+import { PerformanceObserver, performance } from 'perf_hooks';
-import AutomaticTransactionGenerator from './AutomaticTransactionGenerator.js';
-import Configuration from '../utils/Configuration.js';
+import AutomaticTransactionGenerator from './AutomaticTransactionGenerator';
+import Configuration from '../utils/Configuration';
import Constants from '../utils/Constants.js';
-import ElectricUtils from '../utils/ElectricUtils.js';
+import ElectricUtils from '../utils/ElectricUtils';
+import { MeasurandValues } from '../types/MeasurandValues';
import OCPPError from './OcppError.js';
-import Statistics from '../utils/Statistics.js';
-import Utils from '../utils/Utils.js';
+import Statistics from '../utils/Statistics';
+import Utils from '../utils/Utils';
import WebSocket from 'ws';
import crypto from 'crypto';
import fs from 'fs';
-import logger from '../utils/Logger.js';
+import logger from '../utils/Logger';
export default class ChargingStation {
- constructor(index, stationTemplateFile) {
+ private _index: number;
+ private _stationTemplateFile;
+ private _stationInfo;
+ private _bootNotificationMessage;
+ private _connectors;
+ private _configuration;
+ private _connectorsConfigurationHash;
+ private _supervisionUrl;
+ private _wsConnectionUrl;
+ private _wsConnection;
+ private _isSocketRestart;
+ private _autoReconnectRetryCount;
+ private _autoReconnectMaxRetries;
+ private _autoReconnectTimeout;
+ private _requests;
+ private _messageQueue;
+ private _automaticTransactionGeneration: AutomaticTransactionGenerator;
+ private _authorizedTags: string[];
+ private _heartbeatInterval;
+ private _heartbeatSetInterval;
+ private _statistics: Statistics;
+ private _performanceObserver: PerformanceObserver;
+
+ constructor(index: number, stationTemplateFile: string) {
this._index = index;
this._stationTemplateFile = stationTemplateFile;
this._connectors = {};
this._isSocketRestart = false;
this._autoReconnectRetryCount = 0;
this._autoReconnectMaxRetries = Configuration.getAutoReconnectMaxRetries(); // -1 for unlimited
- this._autoReconnectTimeout = Configuration.getAutoReconnectTimeout() * 1000; // ms, zero for disabling
+ this._autoReconnectTimeout = Configuration.getAutoReconnectTimeout() * 1000; // Ms, zero for disabling
this._requests = {};
this._messageQueue = [];
this._authorizedTags = this._loadAndGetAuthorizedTags();
}
- _getStationName(stationTemplate) {
+ _getStationName(stationTemplate): string {
return stationTemplate.fixedName ? stationTemplate.baseName : stationTemplate.baseName + '-' + ('000000000' + this._index).substr(('000000000' + this._index).length - 4);
}
return stationTemplate;
}
- _initialize() {
+ get stationInfo() {
+ return this._stationInfo;
+ }
+
+ _initialize(): void {
this._stationInfo = this._buildStationInfo();
this._bootNotificationMessage = {
chargePointModel: this._stationInfo.chargePointModel,
chargePointVendor: this._stationInfo.chargePointVendor,
- ...!Utils.isUndefined(this._stationInfo.chargeBoxSerialNumberPrefix) && {chargeBoxSerialNumber: this._stationInfo.chargeBoxSerialNumberPrefix},
- ...!Utils.isUndefined(this._stationInfo.firmwareVersion) && {firmwareVersion: this._stationInfo.firmwareVersion},
+ ...!Utils.isUndefined(this._stationInfo.chargeBoxSerialNumberPrefix) && { chargeBoxSerialNumber: this._stationInfo.chargeBoxSerialNumberPrefix },
+ ...!Utils.isUndefined(this._stationInfo.firmwareVersion) && { firmwareVersion: this._stationInfo.firmwareVersion },
};
this._configuration = this._getConfiguration();
this._supervisionUrl = this._getSupervisionURL();
if (!this._connectors || (this._connectors && this._connectorsConfigurationHash !== connectorsConfigHash)) {
this._connectorsConfigurationHash = connectorsConfigHash;
// Add connector Id 0
- let lastConnector = 0;
+ let lastConnector = '0';
for (lastConnector in this._stationInfo.Connectors) {
if (Utils.convertToInt(lastConnector) === 0 && Utils.convertToBoolean(this._stationInfo.useConnectorId0) && this._stationInfo.Connectors[lastConnector]) {
this._connectors[lastConnector] = Utils.cloneObject(this._stationInfo.Connectors[lastConnector]);
// Generate all connectors
if ((this._stationInfo.Connectors[0] ? templateMaxConnectors - 1 : templateMaxConnectors) > 0) {
for (let index = 1; index <= maxConnectors; index++) {
- const randConnectorID = Utils.convertToBoolean(this._stationInfo.randomConnectors) ? Utils.getRandomInt(lastConnector, 1) : index;
+ const randConnectorID = Utils.convertToBoolean(this._stationInfo.randomConnectors) ? Utils.getRandomInt(Utils.convertToInt(lastConnector), 1) : index;
this._connectors[index] = Utils.cloneObject(this._stationInfo.Connectors[randConnectorID]);
}
}
delete this._stationInfo.Connectors;
// Initialize transaction attributes on connectors
for (const connector in this._connectors) {
- if (!this.getConnector(connector).transactionStarted) {
+ if (!this.getConnector(Utils.convertToInt(connector)).transactionStarted) {
this._initTransactionOnConnector(connector);
}
}
}
}
- _logPrefix() {
+ get connectors() {
+ return this._connectors;
+ }
+
+ get statistics(): Statistics {
+ return this._statistics;
+ }
+
+ _logPrefix(): string {
return Utils.logPrefix(` ${this._stationInfo.name}:`);
}
}
_getAuthorizationFile() {
- return this._stationInfo.authorizationFile ? this._stationInfo.authorizationFile : '';
+ return this._stationInfo.authorizationFile && this._stationInfo.authorizationFile;
}
- _loadAndGetAuthorizedTags() {
+ _loadAndGetAuthorizedTags(): string[] {
let authorizedTags = [];
const authorizationFile = this._getAuthorizationFile();
if (authorizationFile) {
return !Utils.isUndefined(this._stationInfo.enableStatistics) ? Utils.convertToBoolean(this._stationInfo.enableStatistics) : true;
}
- _getNumberOfPhases() {
+ _getNumberOfPhases(): number {
switch (this._getPowerOutType()) {
case 'AC':
return !Utils.isUndefined(this._stationInfo.numberOfPhases) ? Utils.convertToInt(this._stationInfo.numberOfPhases) : 3;
_getNumberOfRunningTransactions() {
let trxCount = 0;
for (const connector in this._connectors) {
- if (this.getConnector(connector).transactionStarted) {
+ if (this.getConnector(Utils.convertToInt(connector)).transactionStarted) {
trxCount++;
}
}
return powerDivider;
}
- getConnector(id) {
- return this._connectors[Utils.convertToInt(id)];
+ getConnector(id: number) {
+ return this._connectors[id];
}
_getTemplateMaxNumberOfConnectors() {
return maxConnectors;
}
- _getNumberOfConnectors() {
+ _getNumberOfConnectors(): number {
return this._connectors[0] ? Object.keys(this._connectors).length - 1 : Object.keys(this._connectors).length;
}
return localAuthListEnabled ? Utils.convertToBoolean(localAuthListEnabled.value) : false;
}
- async _basicStartMessageSequence() {
+ _basicStartMessageSequence(): void {
// Start heartbeat
- this._startHeartbeat(this);
+ this._startHeartbeat();
// Initialize connectors status
for (const connector in this._connectors) {
- if (!this.getConnector(connector).transactionStarted) {
- if (this.getConnector(connector).bootStatus) {
- this.sendStatusNotificationWithTimeout(connector, this.getConnector(connector).bootStatus);
+ if (!this.getConnector(Utils.convertToInt(connector)).transactionStarted) {
+ if (this.getConnector(Utils.convertToInt(connector)).bootStatus) {
+ this.sendStatusNotificationWithTimeout(connector, this.getConnector(Utils.convertToInt(connector)).bootStatus);
} else {
this.sendStatusNotificationWithTimeout(connector, 'Available');
}
}
}
- // eslint-disable-next-line class-methods-use-this
- async _startHeartbeat(self) {
- if (self._heartbeatInterval && self._heartbeatInterval > 0 && !self._heartbeatSetInterval) {
- self._heartbeatSetInterval = setInterval(() => {
+ _startHeartbeat(): void {
+ if (this._heartbeatInterval && this._heartbeatInterval > 0 && !this._heartbeatSetInterval) {
+ this._heartbeatSetInterval = setInterval(() => {
this.sendHeartbeat();
- }, self._heartbeatInterval);
- logger.info(self._logPrefix() + ' Heartbeat started every ' + self._heartbeatInterval + 'ms');
+ }, this._heartbeatInterval);
+ logger.info(this._logPrefix() + ' Heartbeat started every ' + this._heartbeatInterval.toString() + 'ms');
} else {
- logger.error(`${self._logPrefix()} Heartbeat interval set to ${self._heartbeatInterval}ms, not starting the heartbeat`);
+ logger.error(`${this._logPrefix()} Heartbeat interval set to ${this._heartbeatInterval}ms, not starting the heartbeat`);
}
}
- async _stopHeartbeat() {
+ _stopHeartbeat() {
if (this._heartbeatSetInterval) {
clearInterval(this._heartbeatSetInterval);
this._heartbeatSetInterval = null;
});
}
- async _startMeterValues(connectorId, interval) {
+ _startMeterValues(connectorId: number, interval: number): void {
if (!this.getConnector(connectorId).transactionStarted) {
logger.error(`${this._logPrefix()} Trying to start MeterValues on connector Id ${connectorId} with no transaction started`);
return;
this._performanceObserver.observe({
entryTypes: ['function'],
});
- await sendMeterValues(connectorId, interval, this);
+ await sendMeterValues(connectorId, interval);
} else {
- await this.sendMeterValues(connectorId, interval, this);
+ await this.sendMeterValues(connectorId, interval);
}
}, interval);
} else {
}
}
- async start() {
+ start() {
if (!this._wsConnectionUrl) {
this._wsConnectionUrl = this._supervisionUrl + '/' + this._stationInfo.name;
}
async stop(reason = '') {
// Stop heartbeat
- await this._stopHeartbeat();
+ this._stopHeartbeat();
// Stop the ATG
if (Utils.convertToBoolean(this._stationInfo.AutomaticTransactionGenerator.enable) &&
this._automaticTransactionGeneration &&
await this._automaticTransactionGeneration.stop(reason);
} else {
for (const connector in this._connectors) {
- if (this.getConnector(connector).transactionStarted) {
- await this.sendStopTransaction(this.getConnector(connector).transactionId, reason);
+ if (this.getConnector(Utils.convertToInt(connector)).transactionStarted) {
+ await this.sendStopTransaction(this.getConnector(Utils.convertToInt(connector)).transactionId, reason);
}
}
}
// eslint-disable-next-line guard-for-in
for (const connector in this._connectors) {
- await this.sendStatusNotification(connector, 'Unavailable');
+ await this.sendStatusNotification(Utils.convertToInt(connector), 'Unavailable');
}
if (this._wsConnection && this._wsConnection.readyState === WebSocket.OPEN) {
await this._wsConnection.close();
}
}
- async sendStatusNotification(connectorId, status, errorCode = 'NoError') {
+ async sendStatusNotification(connectorId: number, status, errorCode = 'NoError') {
try {
const payload = {
connectorId,
}
sendStatusNotificationWithTimeout(connectorId, status, errorCode = 'NoError', timeout = Constants.STATUS_NOTIFICATION_TIMEOUT) {
- setTimeout(() => this.sendStatusNotification(connectorId, status, errorCode), timeout);
+ setTimeout(async () => this.sendStatusNotification(connectorId, status, errorCode), timeout);
}
- async sendStartTransaction(connectorId, idTag) {
+ async sendStartTransaction(connectorId: number, idTag?: string) {
try {
const payload = {
connectorId,
- idTag,
+ ...!Utils.isUndefined(idTag) && { idTag },
meterStart: 0,
timestamp: new Date().toISOString(),
};
}
}
- sendStartTransactionWithTimeout(connectorId, idTag, timeout = Constants.START_TRANSACTION_TIMEOUT) {
- setTimeout(() => this.sendStartTransaction(connectorId, idTag), timeout);
+ sendStartTransactionWithTimeout(connectorId: number, idTag?: string, timeout = Constants.START_TRANSACTION_TIMEOUT) {
+ setTimeout(async () => this.sendStartTransaction(connectorId, idTag), timeout);
}
- async sendStopTransaction(transactionId, reason = '') {
+ async sendStopTransaction(transactionId, reason = ''): Promise<void> {
try {
const payload = {
transactionId,
meterStop: 0,
timestamp: new Date().toISOString(),
- ...reason && {reason},
+ ...reason && { reason },
};
await this.sendMessage(Utils.generateUUID(), payload, Constants.OCPP_JSON_CALL_MESSAGE, 'StopTransaction');
} catch (error) {
}
}
- // eslint-disable-next-line class-methods-use-this
- async sendMeterValues(connectorId, interval, self, debug = false) {
+ async sendMeterValues(connectorId, interval, debug = false): Promise<void> {
try {
const sampledValues = {
timestamp: new Date().toISOString(),
sampledValue: [],
};
- const meterValuesTemplate = self.getConnector(connectorId).MeterValues;
+ const meterValuesTemplate = this.getConnector(connectorId).MeterValues;
for (let index = 0; index < meterValuesTemplate.length; index++) {
- const connector = self.getConnector(connectorId);
+ const connector = this.getConnector(connectorId);
// SoC measurand
- if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'SoC' && self._getConfigurationKey('MeterValuesSampledData').value.includes('SoC')) {
+ if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'SoC' && this._getConfigurationKey('MeterValuesSampledData').value.includes('SoC')) {
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'Percent'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'Percent' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
measurand: meterValuesTemplate[index].measurand,
- ...!Utils.isUndefined(meterValuesTemplate[index].location) ? {location: meterValuesTemplate[index].location} : {location: 'EV'},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: Utils.getRandomInt(100)},
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) ? { location: meterValuesTemplate[index].location } : { location: 'EV' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: Utils.getRandomInt(100) },
});
const sampledValuesIndex = sampledValues.sampledValue.length - 1;
if (sampledValues.sampledValue[sampledValuesIndex].value > 100 || debug) {
- logger.error(`${self._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/100`);
+ logger.error(`${this._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/100`);
}
// Voltage measurand
- } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Voltage' && self._getConfigurationKey('MeterValuesSampledData').value.includes('Voltage')) {
+ } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Voltage' && this._getConfigurationKey('MeterValuesSampledData').value.includes('Voltage')) {
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'V'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'V' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
measurand: meterValuesTemplate[index].measurand,
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: self._getVoltageOut()},
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: this._getVoltageOut() },
});
- for (let phase = 1; self._getNumberOfPhases() === 3 && phase <= self._getNumberOfPhases(); phase++) {
+ for (let phase = 1; this._getNumberOfPhases() === 3 && phase <= this._getNumberOfPhases(); phase++) {
const voltageValue = sampledValues.sampledValue[sampledValues.sampledValue.length - 1].value;
let phaseValue;
if (voltageValue >= 0 && voltageValue <= 250) {
phaseValue = `L${phase}-N`;
} else if (voltageValue > 250) {
- phaseValue = `L${phase}-L${(phase + 1) % self._getNumberOfPhases() !== 0 ? (phase + 1) % self._getNumberOfPhases() : self._getNumberOfPhases()}`;
+ phaseValue = `L${phase}-L${(phase + 1) % this._getNumberOfPhases() !== 0 ? (phase + 1) % this._getNumberOfPhases() : this._getNumberOfPhases()}`;
}
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'V'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'V' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
measurand: meterValuesTemplate[index].measurand,
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: self._getVoltageOut()},
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: this._getVoltageOut() },
phase: phaseValue,
});
}
// Power.Active.Import measurand
- } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Power.Active.Import' && self._getConfigurationKey('MeterValuesSampledData').value.includes('Power.Active.Import')) {
+ } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Power.Active.Import' && this._getConfigurationKey('MeterValuesSampledData').value.includes('Power.Active.Import')) {
// FIXME: factor out powerDivider checks
- if (Utils.isUndefined(self._stationInfo.powerDivider)) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
+ if (Utils.isUndefined(this._stationInfo.powerDivider)) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
logger.error(errMsg);
throw Error(errMsg);
- } else if (self._stationInfo.powerDivider && self._stationInfo.powerDivider <= 0) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${self._stationInfo.powerDivider}`;
+ } else if (this._stationInfo.powerDivider && this._stationInfo.powerDivider <= 0) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${this._stationInfo.powerDivider}`;
logger.error(errMsg);
throw Error(errMsg);
}
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: Unknown ${self._getPowerOutType()} powerOutType in template file ${self._stationTemplateFile}, cannot calculate ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} measurand value`;
- const powerMeasurandValues = {};
- const maxPower = Math.round(self._stationInfo.maxPower / self._stationInfo.powerDivider);
- const maxPowerPerPhase = Math.round((self._stationInfo.maxPower / self._stationInfo.powerDivider) / self._getNumberOfPhases());
- switch (self._getPowerOutType()) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: Unknown ${this._getPowerOutType()} powerOutType in template file ${this._stationTemplateFile}, cannot calculate ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} measurand value`;
+ const powerMeasurandValues = {} as MeasurandValues ;
+ const maxPower = Math.round(this._stationInfo.maxPower / this._stationInfo.powerDivider);
+ const maxPowerPerPhase = Math.round((this._stationInfo.maxPower / this._stationInfo.powerDivider) / this._getNumberOfPhases());
+ switch (this._getPowerOutType()) {
case 'AC':
if (Utils.isUndefined(meterValuesTemplate[index].value)) {
powerMeasurandValues.L1 = Utils.getRandomFloatRounded(maxPowerPerPhase);
powerMeasurandValues.L2 = 0;
powerMeasurandValues.L3 = 0;
- if (self._getNumberOfPhases() === 3) {
+ if (this._getNumberOfPhases() === 3) {
powerMeasurandValues.L2 = Utils.getRandomFloatRounded(maxPowerPerPhase);
powerMeasurandValues.L3 = Utils.getRandomFloatRounded(maxPowerPerPhase);
}
throw Error(errMsg);
}
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'W'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'W' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
measurand: meterValuesTemplate[index].measurand,
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: powerMeasurandValues.all},
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: powerMeasurandValues.all },
});
const sampledValuesIndex = sampledValues.sampledValue.length - 1;
if (sampledValues.sampledValue[sampledValuesIndex].value > maxPower || debug) {
- logger.error(`${self._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxPower}`);
+ logger.error(`${this._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxPower}`);
}
- for (let phase = 1; self._getNumberOfPhases() === 3 && phase <= self._getNumberOfPhases(); phase++) {
+ for (let phase = 1; this._getNumberOfPhases() === 3 && phase <= this._getNumberOfPhases(); phase++) {
const phaseValue = `L${phase}-N`;
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'W'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
- ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && {measurand: meterValuesTemplate[index].measurand},
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: powerMeasurandValues[`L${phase}`]},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'W' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
+ ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && { measurand: meterValuesTemplate[index].measurand },
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: powerMeasurandValues[`L${phase}`] },
phase: phaseValue,
});
}
// Current.Import measurand
- } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Current.Import' && self._getConfigurationKey('MeterValuesSampledData').value.includes('Current.Import')) {
+ } else if (meterValuesTemplate[index].measurand && meterValuesTemplate[index].measurand === 'Current.Import' && this._getConfigurationKey('MeterValuesSampledData').value.includes('Current.Import')) {
// FIXME: factor out powerDivider checks
- if (Utils.isUndefined(self._stationInfo.powerDivider)) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
+ if (Utils.isUndefined(this._stationInfo.powerDivider)) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
logger.error(errMsg);
throw Error(errMsg);
- } else if (self._stationInfo.powerDivider && self._stationInfo.powerDivider <= 0) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${self._stationInfo.powerDivider}`;
+ } else if (this._stationInfo.powerDivider && this._stationInfo.powerDivider <= 0) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${this._stationInfo.powerDivider}`;
logger.error(errMsg);
throw Error(errMsg);
}
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: Unknown ${self._getPowerOutType()} powerOutType in template file ${self._stationTemplateFile}, cannot calculate ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} measurand value`;
- const currentMeasurandValues = {};
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: Unknown ${this._getPowerOutType()} powerOutType in template file ${this._stationTemplateFile}, cannot calculate ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} measurand value`;
+ const currentMeasurandValues = {} as MeasurandValues;
let maxAmperage;
- switch (self._getPowerOutType()) {
+ switch (this._getPowerOutType()) {
case 'AC':
- maxAmperage = ElectricUtils.ampPerPhaseFromPower(self._getNumberOfPhases(), self._stationInfo.maxPower / self._stationInfo.powerDivider, self._getVoltageOut());
+ maxAmperage = ElectricUtils.ampPerPhaseFromPower(this._getNumberOfPhases(), this._stationInfo.maxPower / this._stationInfo.powerDivider, this._getVoltageOut());
if (Utils.isUndefined(meterValuesTemplate[index].value)) {
currentMeasurandValues.L1 = Utils.getRandomFloatRounded(maxAmperage);
currentMeasurandValues.L2 = 0;
currentMeasurandValues.L3 = 0;
- if (self._getNumberOfPhases() === 3) {
+ if (this._getNumberOfPhases() === 3) {
currentMeasurandValues.L2 = Utils.getRandomFloatRounded(maxAmperage);
currentMeasurandValues.L3 = Utils.getRandomFloatRounded(maxAmperage);
}
- currentMeasurandValues.all = Utils.roundTo((currentMeasurandValues.L1 + currentMeasurandValues.L2 + currentMeasurandValues.L3) / self._getNumberOfPhases(), 2);
+ currentMeasurandValues.all = Utils.roundTo((currentMeasurandValues.L1 + currentMeasurandValues.L2 + currentMeasurandValues.L3) / this._getNumberOfPhases(), 2);
}
break;
case 'DC':
- maxAmperage = ElectricUtils.ampTotalFromPower(self._stationInfo.maxPower / self._stationInfo.powerDivider, self._getVoltageOut());
+ maxAmperage = ElectricUtils.ampTotalFromPower(this._stationInfo.maxPower / this._stationInfo.powerDivider, this._getVoltageOut());
if (Utils.isUndefined(meterValuesTemplate[index].value)) {
currentMeasurandValues.all = Utils.getRandomFloatRounded(maxAmperage);
}
throw Error(errMsg);
}
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'A'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'A' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
measurand: meterValuesTemplate[index].measurand,
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: currentMeasurandValues.all},
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: currentMeasurandValues.all },
});
const sampledValuesIndex = sampledValues.sampledValue.length - 1;
if (sampledValues.sampledValue[sampledValuesIndex].value > maxAmperage || debug) {
- logger.error(`${self._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxAmperage}`);
+ logger.error(`${this._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxAmperage}`);
}
- for (let phase = 1; self._getNumberOfPhases() === 3 && phase <= self._getNumberOfPhases(); phase++) {
+ for (let phase = 1; this._getNumberOfPhases() === 3 && phase <= this._getNumberOfPhases(); phase++) {
const phaseValue = `L${phase}`;
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'A'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
- ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && {measurand: meterValuesTemplate[index].measurand},
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: currentMeasurandValues[phaseValue]},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'A' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
+ ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && { measurand: meterValuesTemplate[index].measurand },
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: currentMeasurandValues[phaseValue] },
phase: phaseValue,
});
}
// Energy.Active.Import.Register measurand (default)
} else if (!meterValuesTemplate[index].measurand || meterValuesTemplate[index].measurand === 'Energy.Active.Import.Register') {
// FIXME: factor out powerDivider checks
- if (Utils.isUndefined(self._stationInfo.powerDivider)) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
+ if (Utils.isUndefined(this._stationInfo.powerDivider)) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider is undefined`;
logger.error(errMsg);
throw Error(errMsg);
- } else if (self._stationInfo.powerDivider && self._stationInfo.powerDivider <= 0) {
- const errMsg = `${self._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${self._stationInfo.powerDivider}`;
+ } else if (this._stationInfo.powerDivider && this._stationInfo.powerDivider <= 0) {
+ const errMsg = `${this._logPrefix()} MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'}: powerDivider have zero or below value ${this._stationInfo.powerDivider}`;
logger.error(errMsg);
throw Error(errMsg);
}
if (Utils.isUndefined(meterValuesTemplate[index].value)) {
- const measurandValue = Utils.getRandomInt(self._stationInfo.maxPower / (self._stationInfo.powerDivider * 3600000) * interval);
+ const measurandValue = Utils.getRandomInt(this._stationInfo.maxPower / (this._stationInfo.powerDivider * 3600000) * interval);
// Persist previous value in connector
if (connector && !Utils.isNullOrUndefined(connector.lastEnergyActiveImportRegisterValue) && connector.lastEnergyActiveImportRegisterValue >= 0) {
connector.lastEnergyActiveImportRegisterValue += measurandValue;
}
}
sampledValues.sampledValue.push({
- ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? {unit: meterValuesTemplate[index].unit} : {unit: 'Wh'},
- ...!Utils.isUndefined(meterValuesTemplate[index].context) && {context: meterValuesTemplate[index].context},
- ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && {measurand: meterValuesTemplate[index].measurand},
- ...!Utils.isUndefined(meterValuesTemplate[index].location) && {location: meterValuesTemplate[index].location},
- ...!Utils.isUndefined(meterValuesTemplate[index].value) ? {value: meterValuesTemplate[index].value} : {value: connector.lastEnergyActiveImportRegisterValue},
+ ...!Utils.isUndefined(meterValuesTemplate[index].unit) ? { unit: meterValuesTemplate[index].unit } : { unit: 'Wh' },
+ ...!Utils.isUndefined(meterValuesTemplate[index].context) && { context: meterValuesTemplate[index].context },
+ ...!Utils.isUndefined(meterValuesTemplate[index].measurand) && { measurand: meterValuesTemplate[index].measurand },
+ ...!Utils.isUndefined(meterValuesTemplate[index].location) && { location: meterValuesTemplate[index].location },
+ ...!Utils.isUndefined(meterValuesTemplate[index].value) ? { value: meterValuesTemplate[index].value } : { value: connector.lastEnergyActiveImportRegisterValue },
});
const sampledValuesIndex = sampledValues.sampledValue.length - 1;
- const maxConsumption = Math.round(self._stationInfo.maxPower * 3600 / (self._stationInfo.powerDivider * interval));
+ const maxConsumption = Math.round(this._stationInfo.maxPower * 3600 / (this._stationInfo.powerDivider * interval));
if (sampledValues.sampledValue[sampledValuesIndex].value > maxConsumption || debug) {
- logger.error(`${self._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxConsumption}`);
+ logger.error(`${this._logPrefix()} MeterValues measurand ${sampledValues.sampledValue[sampledValuesIndex].measurand ? sampledValues.sampledValue[sampledValuesIndex].measurand : 'Energy.Active.Import.Register'}: connectorId ${connectorId}, transaction ${connector.transactionId}, value: ${sampledValues.sampledValue[sampledValuesIndex].value}/${maxConsumption}`);
}
// Unsupported measurand
} else {
- logger.info(`${self._logPrefix()} Unsupported MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} on connectorId ${connectorId}`);
+ logger.info(`${this._logPrefix()} Unsupported MeterValues measurand ${meterValuesTemplate[index].measurand ? meterValuesTemplate[index].measurand : 'Energy.Active.Import.Register'} on connectorId ${connectorId}`);
}
}
const payload = {
connectorId,
- transactionId: self.getConnector(connectorId).transactionId,
+ transactionId: this.getConnector(connectorId).transactionId,
meterValue: sampledValues,
};
- await self.sendMessage(Utils.generateUUID(), payload, Constants.OCPP_JSON_CALL_MESSAGE, 'MeterValues');
+ await this.sendMessage(Utils.generateUUID(), payload, Constants.OCPP_JSON_CALL_MESSAGE, 'MeterValues');
} catch (error) {
- logger.error(self._logPrefix() + ' Send MeterValues error: ' + error);
+ logger.error(this._logPrefix() + ' Send MeterValues error: ' + error);
throw error;
}
}
}
sendMessage(messageId, command, messageType = Constants.OCPP_JSON_CALL_RESULT_MESSAGE, commandName = '') {
- // Send a message through wsConnection
const self = this;
- // Create a promise
+ // Send a message through wsConnection
return new Promise((resolve, reject) => {
let messageToSend;
// Type of message
// Function that will receive the request's response
function responseCallback(payload, requestPayload) {
- self.handleResponse(commandName, payload, requestPayload, self);
+ self.handleResponse(commandName, payload, requestPayload);
// Send the response
resolve(payload);
}
// Function that will receive the request's rejection
- function rejectCallback(error) {
- if (!(error instanceof OCPPError)) {
- const errMsg = `${self._logPrefix()} Argument error is not an instance of OCPPError in rejectCallback call`;
- logger.error(errMsg);
- throw Error(errMsg);
- }
+ function rejectCallback(error: OCPPError) {
logger.debug(`${self._logPrefix()} Error %j on commandName %s command %j`, error, commandName, command);
if (self.getEnableStatistics()) {
self._statistics.addMessage(`Error on commandName ${commandName}`, true);
});
}
- // eslint-disable-next-line class-methods-use-this
- handleResponse(commandName, payload, requestPayload, self) {
- if (self.getEnableStatistics()) {
- self._statistics.addMessage(commandName, true);
+ handleResponse(commandName, payload, requestPayload) {
+ if (this.getEnableStatistics()) {
+ this._statistics.addMessage(commandName, true);
}
const responseCallbackFn = 'handleResponse' + commandName;
- if (typeof self[responseCallbackFn] === 'function') {
- self[responseCallbackFn](payload, requestPayload, self);
+ if (typeof this[responseCallbackFn] === 'function') {
+ this[responseCallbackFn](payload, requestPayload);
} else {
- logger.error(self._logPrefix() + ' Trying to call an undefined response callback function: ' + responseCallbackFn);
+ logger.error(this._logPrefix() + ' Trying to call an undefined response callback function: ' + responseCallbackFn);
}
}
- handleResponseBootNotification(payload) {
+ handleResponseBootNotification(payload, requestPayload) {
if (payload.status === 'Accepted') {
this._heartbeatInterval = payload.interval * 1000;
this._addConfigurationKey('HeartBeatInterval', Utils.convertToInt(payload.interval));
handleResponseStopTransaction(payload, requestPayload) {
let transactionConnectorId;
for (const connector in this._connectors) {
- if (this.getConnector(connector).transactionId === requestPayload.transactionId) {
+ if (this.getConnector(Utils.convertToInt(connector)).transactionId === requestPayload.transactionId) {
transactionConnectorId = connector;
break;
}
async handleRequestChangeConfiguration(commandPayload) {
const keyToChange = this._getConfigurationKey(commandPayload.key);
if (!keyToChange) {
- return {status: Constants.OCPP_ERROR_NOT_SUPPORTED};
+ return { status: Constants.OCPP_ERROR_NOT_SUPPORTED };
} else if (keyToChange && Utils.convertToBoolean(keyToChange.readonly)) {
return Constants.OCPP_RESPONSE_REJECTED;
} else if (keyToChange && !Utils.convertToBoolean(keyToChange.readonly)) {
// Stop heartbeat
this._stopHeartbeat();
// Start heartbeat
- this._startHeartbeat(this);
+ this._startHeartbeat();
}
if (Utils.convertToBoolean(keyToChange.reboot)) {
return Constants.OCPP_RESPONSE_REBOOT_REQUIRED;
async handleRequestRemoteStopTransaction(commandPayload) {
for (const connector in this._connectors) {
- if (this.getConnector(connector).transactionId === commandPayload.transactionId) {
+ if (this.getConnector(Utils.convertToInt(connector)).transactionId === commandPayload.transactionId) {
this.sendStopTransaction(commandPayload.transactionId);
return Constants.OCPP_RESPONSE_ACCEPTED;
}
-import Constants from '../utils/Constants.js';
+import Constants from '../utils/Constants';
export default class OCPPError extends Error {
- constructor(code, message, details) {
+ code;
+ details;
+
+ constructor(code, message, details?) {
super(message);
this.code = code || Constants.OCPP_ERROR_GENERIC_ERROR;
this.message = message || '';
this.details = details || {};
- Object.setPrototypeOf(this, OCPPError.prototype); // for instanceof
+ Object.setPrototypeOf(this, OCPPError.prototype); // For instanceof
Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : (this.stack = (new Error()).stack);
}
-import {isMainThread, workerData} from 'worker_threads';
+import { isMainThread, workerData } from 'worker_threads';
-import ChargingStation from './ChargingStation.js';
+import ChargingStation from './ChargingStation';
if (!isMainThread) {
const station = new ChargingStation(workerData.index, workerData.templateFile);
-import Configuration from '../utils/Configuration.js';
-import EventEmitter from 'events';
+import Configuration from '../utils/Configuration';
import Pool from 'worker-threads-pool';
-import {Worker} from 'worker_threads';
+import { Worker } from 'worker_threads';
export default class Wrk {
+ private _workerData;
+ private _workerScript;
+ private _pool;
+ private _concurrentWorkers: number;
+
/**
* Create a new `Wrk`.
*
this._workerScript = workerScript;
this._numConcurrentWorkers = numConcurrentWorkers;
if (Configuration.useWorkerPool()) {
- this._pool = new Pool({max: Configuration.getWorkerPoolSize()});
+ this._pool = new Pool({ max: Configuration.getWorkerPoolSize() });
}
}
* @param {Number} numConcurrentWorkers
* @private
*/
- set _numConcurrentWorkers(numConcurrentWorkers) {
- if (numConcurrentWorkers > 10) {
- EventEmitter.defaultMaxListeners = numConcurrentWorkers + 1;
- }
+ set _numConcurrentWorkers(numConcurrentWorkers: number) {
this._concurrentWorkers = numConcurrentWorkers;
}
- get _numConcurrentWorkers() {
+ get _numConcurrentWorkers(): number {
return this._concurrentWorkers;
}
+ /**
+ *
+ * @return {Promise}
+ * @public
+ */
+ async start(): Promise<unknown> {
+ if (Configuration.useWorkerPool()) {
+ return this._startWorkerWithPool();
+ }
+ return this._startWorker();
+ }
+
/**
*
* @return {Promise}
* @private
*/
- _startWorkerWithPool() {
+ private async _startWorkerWithPool() {
return new Promise((resolve, reject) => {
- this._pool.acquire(this._workerScript, {workerData: this._workerData}, (err, worker) => {
+ this._pool.acquire(this._workerScript, { workerData: this._workerData }, (err, worker) => {
if (err) {
return reject(err);
}
* @return {Promise}
* @private
*/
- _startWorker() {
+ private async _startWorker() {
return new Promise((resolve, reject) => {
- const worker = new Worker(this._workerScript, {workerData: this._workerData});
+ const worker = new Worker(this._workerScript, { workerData: this._workerData });
worker.on('message', resolve);
worker.on('error', reject);
worker.on('exit', (code) => {
});
});
}
-
- /**
- *
- * @return {Promise}
- * @public
- */
- start() {
- if (Configuration.useWorkerPool()) {
- return this._startWorkerWithPool();
- }
- return this._startWorker();
- }
}
-import Configuration from './utils/Configuration.js';
-import Utils from './utils/Utils.js';
-import Wrk from './charging-station/Worker.js';
-import logger from './utils/Logger.js';
+import Configuration from './utils/Configuration';
+import Utils from './utils/Utils';
+import Wrk from './charging-station/Worker';
+import logger from './utils/Logger';
class Bootstrap {
- static async start() {
+ static start() {
try {
logger.debug('%s Configuration: %j', Utils.logPrefix(), Configuration.getConfig());
let numStationsTotal = 0;
const nbStation = stationURL.numberOfStation ? stationURL.numberOfStation : 0;
numStationsTotal += nbStation;
for (let index = 1; index <= nbStation; index++) {
- const worker = new Wrk('./src/charging-station/StationWorker.js', {
+ const worker = new Wrk('./dist/charging-station/StationWorker.js', {
index,
templateFile: stationURL.file,
}, numStationsTotal);
- worker.start();
+ worker.start().catch(() => {});
}
} catch (error) {
// eslint-disable-next-line no-console
if (numStationsTotal === 0) {
console.log('No charging station template enabled in configuration, exiting');
} else {
- console.log('Charging station simulator started with ' + numStationsTotal + ' charging station(s)');
+ console.log('Charging station simulator started with ' + numStationsTotal.toString() + ' charging station(s)');
}
} catch (error) {
// eslint-disable-next-line no-console
--- /dev/null
+export interface MeasurandValues {
+ L1: number;
+ L2: number;
+ L3: number;
+ all: number;
+}
-import Utils from './Utils.js';
+import Utils from './Utils';
import fs from 'fs';
export default class Configuration {
export default class Constants {
- static REST_RESPONSE_SUCCESS = {status: 'Success'};
+ static REST_RESPONSE_SUCCESS = { status: 'Success' };
static CONN_STATUS_AVAILABLE = 'Available';
static CONN_STATUS_OCCUPIED = 'Occupied';
static WS_UNSUPPORTED_DATA = 1007;
- static OCPP_RESPONSE_ACCEPTED = {status: 'Accepted'};
- static OCPP_RESPONSE_REJECTED = {status: 'Rejected'};
- static OCPP_RESPONSE_REBOOT_REQUIRED = {status: 'RebootRequired'};
+ static OCPP_RESPONSE_ACCEPTED = { status: 'Accepted' };
+ static OCPP_RESPONSE_REJECTED = { status: 'Rejected' };
+ static OCPP_RESPONSE_REBOOT_REQUIRED = { status: 'RebootRequired' };
static OCPP_SOCKET_TIMEOUT = 60000; // 60 sec
static OCPP_JSON_CALL_MESSAGE = 2; // Client-to-Server
static OCPP_JSON_CALL_RESULT_MESSAGE = 3; // Server-to-Client
static STATUS_NOTIFICATION_TIMEOUT = 500;
static START_TRANSACTION_TIMEOUT = 500;
- static CHARGING_STATION_DEFAULT_RESET_TIME = 60000; // ms
- static CHARGING_STATION_ATG_WAIT_TIME = 2000; // ms
+ static CHARGING_STATION_DEFAULT_RESET_TIME = 60000; // Ms
+ static CHARGING_STATION_ATG_WAIT_TIME = 2000; // Ms
}
* To use for DC, always consider cosPhi = 1 and do not use per phase helpers
*/
export default class ElectricUtils {
- static ampTotal(nbOfPhases, Iph) {
+ static ampTotal(nbOfPhases: number, Iph: number): number {
return nbOfPhases * Iph;
}
- static powerPerPhase(V, Iph, cosPhi = 1) {
+ static powerPerPhase(V: number, Iph: number, cosPhi = 1): number {
const powerPerPhase = V * Iph * cosPhi;
if (cosPhi === 1) {
return powerPerPhase;
return Math.round(powerPerPhase);
}
- static powerTotal(nbOfPhases, V, Iph, cosPhi = 1) {
+ static powerTotal(nbOfPhases: number, V: number, Iph: number, cosPhi = 1): number {
return nbOfPhases * ElectricUtils.powerPerPhase(V, Iph, cosPhi);
}
- static ampTotalFromPower(P, V, cosPhi = 1) {
+ static ampTotalFromPower(P: number, V: number, cosPhi = 1): number {
const power = P / (V * cosPhi);
if (cosPhi === 1 && P % V === 0) {
return power;
return Math.round(power);
}
- static ampPerPhaseFromPower(nbOfPhases, P, V, cosPhi = 1) {
+ static ampPerPhaseFromPower(nbOfPhases: number, P: number, V: number, cosPhi = 1): number {
const power = ElectricUtils.ampTotalFromPower(P, V, cosPhi);
const powerPerPhase = power / nbOfPhases;
if (power % nbOfPhases === 0) {
-import Configuration from './Configuration.js';
+import Configuration from './Configuration';
import Winston from 'winston';
const logger = Winston.createLogger({
// - Write to all logs with level `info` and below to `combined.log`
// - Write all logs error (and below) to `error.log`.
//
- new Winston.transports.File({filename: Configuration.getErrorFile(), level: 'error'}),
- new Winston.transports.File({filename: Configuration.getLogFile()}),
+ new Winston.transports.File({ filename: Configuration.getErrorFile(), level: 'error' }),
+ new Winston.transports.File({ filename: Configuration.getLogFile() }),
],
});
-import Configuration from './Configuration.js';
-import Utils from './Utils.js';
-import logger from './Logger.js';
+import Configuration from './Configuration';
+import Utils from './Utils';
+import logger from './Logger';
export default class Statistics {
- static instance;
+ private static instance: Statistics;
+ private _statistics;
+ private _objName: string;
- constructor() {
+ private constructor() {
this._statistics = {};
}
- set objName(objName) {
+ set objName(objName: string) {
this._objName = objName;
}
- static getInstance() {
+ static getInstance(): Statistics {
if (!Statistics.instance) {
Statistics.instance = new Statistics();
}
return Statistics.instance;
}
- _logPrefix() {
- return Utils.logPrefix(` ${this._objName} Statistics:`);
- }
-
addMessage(command, response = false) {
if (response) {
if (this._statistics[command]) {
}
}
- logPerformance(entry, className) {
+ logPerformance(entry, className: string): void {
this.addPerformanceTimer(entry.name, entry.duration);
logger.info(`${this._logPrefix()} class->${className}, method->${entry.name}, duration->${entry.duration}`);
}
- _display() {
+ _display(): void {
logger.info(this._logPrefix() + ' %j', this._statistics);
}
- _displayInterval() {
+ _displayInterval(): void {
if (Configuration.getStatisticsDisplayInterval() > 0) {
setInterval(() => {
this._display();
}
}
- async start() {
+ start(): void {
this._displayInterval();
}
+
+ private _logPrefix(): string {
+ return Utils.logPrefix(` ${this._objName} Statistics:`);
+ }
}
-import {v4 as uuid} from 'uuid';
+import { v4 as uuid } from 'uuid';
export default class Utils {
- static generateUUID() {
+ static generateUUID(): string {
return uuid();
}
- static sleep(ms) {
+ static async sleep(ms: number): Promise<NodeJS.Timeout> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
- static secondstoHHMMSS(seconds) {
- const date = new Date(null);
+ static secondstoHHMMSS(seconds): string {
+ const date = new Date();
date.setSeconds(seconds);
return date.toISOString().substr(11, 8);
}
- static removeExtraEmptyLines(tab) {
+ static removeExtraEmptyLines(tab): void {
// Start from the end
for (let i = tab.length - 1; i > 0; i--) {
// Two consecutive empty lines?
}
}
- static convertToDate(date) {
+ static convertToDate(value): Date {
// Check
- if (!date) {
- return date;
+ if (!value) {
+ return value;
}
// Check Type
- if (!(date instanceof Date)) {
- return new Date(date);
- }
- return date;
- }
-
- static convertToObjectID(id) {
- let changedID = id;
- // Check
- if (typeof id === 'string') {
- // Create Object
- // eslint-disable-next-line no-undef
- changedID = new ObjectID(id);
+ if (!(value instanceof Date)) {
+ return new Date(value);
}
- return changedID;
+ return value;
}
- static convertToInt(value) {
+ static convertToInt(value): number {
let changedValue = value;
if (!value) {
return 0;
return changedValue;
}
- static convertToFloat(value) {
+ static convertToFloat(value): number {
let changedValue = value;
if (!value) {
return 0;
return changedValue;
}
- static convertToBoolean(value) {
+ static convertToBoolean(value): boolean {
let result = false;
// Check boolean
if (value) {
return result;
}
- static getRandomFloat(max, min = 0) {
+ static getRandomFloat(max: number, min = 0): number {
return Math.random() < 0.5 ? (1 - Math.random()) * (max - min) + min : Math.random() * (max - min) + min;
}
- static getRandomInt(max, min = 0) {
+ static getRandomInt(max: number, min = 0): number {
if (min) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
return Math.floor(Math.random() * max + 1);
}
- static roundTo(number, scale) {
+ static roundTo(number: number, scale: number): number {
return Utils.convertToFloat(number.toFixed(scale));
}
- static getRandomFloatRounded(max, min = 0, scale = 2) {
+ static getRandomFloatRounded(max: number, min = 0, scale = 2): number {
if (min) {
return Utils.roundTo(Utils.getRandomFloat(max, min), scale);
}
return Utils.roundTo(Utils.getRandomFloat(max), scale);
}
- static logPrefix(prefixString = '') {
+ static logPrefix(prefixString = ''): string {
const date = new Date();
return date.toLocaleString() + prefixString;
}
return JSON.parse(JSON.stringify(object));
}
- static isIterable(obj) {
+ static isIterable(obj): boolean {
if (obj) {
return typeof obj[Symbol.iterator] === 'function';
}
return false;
}
- static isEmptyJSon(document) {
+ static isEmptyJSon(document): boolean {
// Empty?
if (!document) {
return true;
return Object.keys(document).length === 0;
}
- static isString(value) {
+ static isString(value): boolean {
return typeof value === 'string';
}
return typeof value === 'undefined';
}
- static isNullOrUndefined(value) {
- // eslint-disable-next-line eqeqeq
+ static isNullOrUndefined(value): boolean {
+ // eslint-disable-next-line no-eq-null
if (value == null) {
return true;
}
return false;
}
- static isEmptyArray(object) {
+ static isEmptyArray(object): boolean {
if (Array.isArray(object) && object.length > 0) {
return false;
}
return true;
}
- static isEmptyObject(obj) {
+ static isEmptyObject(obj): boolean {
return !Object.keys(obj).length;
}
}
--- /dev/null
+{
+ "compilerOptions": {
+ /* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+ /* Basic Options */
+ // "incremental": true, /* Enable incremental compilation */
+ "target": "es2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
+ "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
+ "lib": [
+ "es2020"
+ ], /* Specify library files to be included in the compilation. */
+ // "allowJs": true, /* Allow javascript files to be compiled. */
+ // "checkJs": true, /* Report errors in .js files. */
+ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+ // "declaration": true, /* Generates corresponding '.d.ts' file. */
+ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
+ "sourceMap": true, /* Generates corresponding '.map' file. */
+ // "outFile": "./", /* Concatenate and emit output to single file. */
+ "outDir": "./dist", /* Redirect output structure to the directory. */
+ // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+ // "composite": true, /* Enable project compilation */
+ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
+ // "removeComments": true, /* Do not emit comments to output. */
+ // "noEmit": true, /* Do not emit outputs. */
+ // "importHelpers": true, /* Import emit helpers from 'tslib'. */
+ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+ /* Strict Type-Checking Options */
+ // "strict": true, /* Enable all strict type-checking options. */
+ // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
+ // "strictNullChecks": true, /* Enable strict null checks. */
+ // "strictFunctionTypes": true, /* Enable strict checking of function types. */
+ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
+ // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
+ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
+
+ /* Additional Checks */
+ // "noUnusedLocals": true, /* Report errors on unused locals. */
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */
+ // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
+ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
+
+ /* Module Resolution Options */
+ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
+ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
+ // "typeRoots": [], /* List of folders to include type definitions from. */
+ // "types": [], /* Type declaration files to be included in compilation. */
+ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+ "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
+ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
+
+ /* Source Map Options */
+ // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
+ // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
+ // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+ /* Experimental Options */
+ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
+ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
+
+ /* Advanced Options */
+ "skipLibCheck": true, /* Skip type checking of declaration files. */
+ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
+ },
+ "include": ["./src/**/*"]
+}