Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OOM when many (>10) project configs passed to the parser #1192

Closed
screendriver opened this issue Nov 11, 2019 · 139 comments
Closed

OOM when many (>10) project configs passed to the parser #1192

screendriver opened this issue Nov 11, 2019 · 139 comments
Labels
blocked by another issue Issues which are not ready because another issue needs to be resolved first bug Something isn't working meta meta-issues which consolidate many issues together package: typescript-estree Issues related to @typescript-eslint/typescript-estree performance Issues regarding performance

Comments

@screendriver
Copy link

screendriver commented Nov 11, 2019

@bradzacher and @JoshuaKGoldberg - hijacking OP to say:

We are currently investigating solutions to this with the TypeScript team: microsoft/TypeScript#35676, #1718, #2094, #6754

If you run into an OOM, please provide as much information as you can, including answering the following questions:

  • Is your project open-source? (if yes - link please)
  • Is your package a monorepo? If yes:
    • Are you using lerna, or some other method?
    • How many packages are in your monorepo?
    • Do you have one tsconfig per package, one at the root, or a mish-mash of both?
    • How interdependent is your codebase (i.e. are there lots of utility packages that are used by every package, or is it mainly packages with clear separations?)
  • How do you build your project(s)?
    • Is it via tsc, webpack/rollup/etc, or a mish-mash of both?
  • How many TS files are in your codebase?
  • Approx how many lines of code are in your codebase?
  • How many NPM dependencies do you have?

Also, please provide the following (you can leave the last two out if you're open source):

  • A complete lint run output with the DEBUG=* env variable set? DEBUG=* yarn lint
    • Feel free to censor the output filenames if you'd prefer, but try not to delete any lines.
  • The tsconfig(s) that you pass via the parserOptions.project option
  • Your .eslintrc

The more information you provide, the easier it is for us to look into it and figure out root causes.


What code were you trying to parse?

A relatively huge code base with a lot of TypeScript (using project references), JavaScript and React. Unfortunately I can't give you a sample project because in my small demo projects it works. It only happens in that larger project that isn't open source. I also tried to disable @typescript-eslint/recommended-requiring-type-checking but that didn't work.

What did you expect to happen?

Not to run out of memory

What actually happened?

It runs out of memory.

<--- Last few GCs --->
 start of marking 1708 ms) (average mu = 0.196, current mu = 0.093) all[49915:0x102883000]   112800 ms: Mark-sweep 2040.1 (2058.3) -> 2038.9 (2056.5) MB, 1388.1 / 0.0 ms  (+ 110.5 ms in 27 steps since start of marking, biggest step 7.2 ms, walltime since start of marking 1508 ms) (average mu = 0.104, current mu = 0.007) allo[49915:0x102883000]   114242 ms: Mark-sweep 2039.9 (2056.5) -> 2039.0 (2056.0) MB, 1436.4 / 0.0 ms  (average mu = 0.056, current mu = 0.004) allocation failure GC in old space requested


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x10092fbd9]
Security context: 0x295dc96c08a1 <JSObject>
    1: getDeclarationName(aka getDeclarationName) [0x295d351b21f9] [/Users/me/project/node_modules/typescript/lib/typescript.js:~29254] [pc=0x1c6ba57836fc](this=0x295db0c004a9 <undefined>,0x295dbd513309 <NodeObject map = 0x295d58d4a4d1>)
    2: declareSymbol(aka declareSymbol) [0x295d351b2279] [/Users/me/project...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Writing Node.js report to file: report.20191111.151654.49915.0.001.json
Node.js report completed
 1: 0x10007e743 node::Abort() [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 2: 0x10007e8c7 node::OnFatalError(char const*, char const*) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 3: 0x100176267 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 4: 0x100176203 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 5: 0x1002fa2b5 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 6: 0x1002fb984 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 7: 0x1002f8857 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 8: 0x1002f683d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
 9: 0x100301f54 v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
10: 0x100301fcf v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
11: 0x1002cebc7 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
12: 0x1005f7725 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
13: 0x10092fbd9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/Users/me/.nvm/versions/node/v12.13.0/bin/node]
14: 0x1c6ba57836fc 	

Versions

package version
@typescript-eslint/typescript-estree 2.6.1
TypeScript 3.7.2
node v12.13.0
npm 6.12.0

Config

{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "sourceType": "module",
    "ecmaVersion": 2015,
    "ecmaFeatures": {
      "jsx": true
    },
    "project": "./packages/**/tsconfig.json"
  },
  "plugins": ["@typescript-eslint", "react", "react-hooks"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:@typescript-eslint/recommended-requiring-type-checking",
    "plugin:react/recommended",
    "plugin:prettier/recommended",
    "prettier/@typescript-eslint"
  ],
  "rules": {
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/camelcase": "off",
    "@typescript-eslint/no-use-before-define": "off",
    "@typescript-eslint/unbound-method": "off",
    "@typescript-eslint/no-var-requires": "off",
    "@typescript-eslint/prefer-regexp-exec": "off",
    "require-atomic-updates": "off",
    "react/prop-types": "off",
    "react/display-name": "off",
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "warn",
    "prefer-promise-reject-errors": "off",
    "react/no-unescaped-entities": "off",
    "react/no-find-dom-node": "off"
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "env": {
    "es6": true,
    "node": true,
    "browser": true,
    "jest": true
  }
}
@screendriver screendriver added package: typescript-estree Issues related to @typescript-eslint/typescript-estree triage Waiting for maintainers to take a look labels Nov 11, 2019
@bradzacher
Copy link
Member

without a repro, there's not a whole lot that we can do.
It's pretty hard to fix a bug like this without it.

Could you please classify "relatively huge"? Using subjective wording like that is pretty useless in helping to define the problem.
How many files? How many lines? How many projects? Breakdown per project?

It could purely be due to the size of your project, or it could be some weird case within your codebase.

We have a large number of users that are on "relatively huge" codebases, and they don't have memory issues, so either your codebase is the biggest, or there's something else.


Could you please try:

  • removing the rules that require typecheck and remove parserOptions.project?
  • linting one project at a time? (i.e. change the parserOptions.project setting to a single project, and then lint only that folder)?

@bradzacher bradzacher added awaiting response Issues waiting for a reply from the OP or another party and removed triage Waiting for maintainers to take a look labels Nov 11, 2019
@screendriver
Copy link
Author

without a repro, there's not a whole lot that we can do.

Yes I know. Sorry for that 😞 So I try to give you as much as input as possible:

  • 13 /packages (TypeScript project references)
  • Number of files: 438
  • Lines of code: 61380
  • linting one project at a time does work (e.g. eslint --ext js,ts,tsx packages/foo and after that eslint --ext js,ts,tsx packages/bar plus additionally setting parserOptions.project to parserOptions.project: ["./packages/foo/**/tsconfig.json", "./packages/bar/**/tsconfig.json"]). It works with all packages separately. Is there a way to tell ESLint to do such a thing automatically?
  • I tried to increase it with every run but at some point it crashes. And it's extremely slow. After five or six packages I have to wait minutes until it is finished. After the tenth package it will crash reproducible. If I run this tenth package standalone it works.
    • eslint --ext js,ts,tsx packages/foo
    • eslint --ext js,ts,tsx packages/foo packages/bar
    • eslint --ext js,ts,tsx packages/foo packages/bar packages/baz
  • If I remove parserOptions.project and remove plugin:@typescript-eslint/recommended-requiring-type-checking (because the plugin needs parserOptions.project) it works without any error. And, of course, it is faster.
  • If I use parserOptions.project but delete plugin:@typescript-eslint/recommended-requiring-type-checking it will crash again after the tenth project

So it must be somehow related to parserOptions.project?

@bradzacher
Copy link
Member

Turning on / off the rules will do nothing for your memory usage - the rules are loaded and executed on demand, and store little-to-no state. Turning on / off rules does not effect any state anywhere else either.

Adding or removing parserOptions.project, however, tells our parser whether or not to coordinate typescript to gather type information for each project.
When you run without it, we simply parse each file in "isloated modules" mode (i.e. typescript parses the file as if nothing else exists, and purposely doesn't error on imports etc).
When you run with it, for each tsconfig you provide, we will construct a ts program for it. This essentially causes typescript to do a complete parse and typecheck cycle on every single file matched by that tsconfig.

Your codebase is actually pretty small by the standards of some of our users.
I think the problem is the number of separate projects you have.

When you do a lint run, we construct 13 separate programs. From my understanding, this means that there is no memory reuse between them - i.e. if package foo and bar both use types for react, then both will have a copy of the types in memory.
(cc @uniqueiniquity - is my understanding correct here?)

If I'm correct, then this is especially bad you have a lot of interdependent relationships within your project itself, then this would cause typescript to store multiple copies of each workspace project. I.e. if foo depends on bar, and baz depends on bar, then you'll have 3 copies of bar - one for foo, one for baz, and one standalone used for linting itself.

Again, if I'm correct with everything above, I would say that this is duplication is the source of the memory usage.


I think you should be able to fix this by creating a tsconfig.eslint.json in the root of your repo, which includes all files in your repo. Essentially, take all of your tsconfigs and merge them together.

This will mean that we create just a single program which encompasses the entire workspace, which means there should be a lot less (if any) duplication.

LMK if that works.

@screendriver
Copy link
Author

Thank you for the detailed answer.

Your codebase is actually pretty small by the standards of some of our users.

That's good to hear 😅 I create a tsconfig.eslint.json that looks like this

{
  "extends": "./tsconfig.base.json",
  "include": ["packages/**/*"]
}

And set parserOptions.project to ./tsconfig.eslint.json and now it seems to work. Great 👍

But does that mean you have to optimise something for TypeScript project references? It smells a little bit like a workaround. Because I can imagine that we will have repositories with 100 packages or more in it in the future with different compiler settings. With one single tsconfig.eslint.json every project that gets linted has now the same configuration.

@bradzacher
Copy link
Member

now it seems to work

Awesome! So this definitely confirms my suspicion that it is the number of projects, not the size of the codebase.
Cc @uniqueiniquity, something we need to look into.

It smells a little bit like a workaround.

It 100% is :)

But does that mean you have to optimise something for TypeScript project references?

I don't believe it's project references that cause it. If you use Lerna to symlink your workspace together, you'll have the same problems, because typescript will parse the decls (or the raw typescript files, if there's no decls) with or without project refs.

We definitely have to spend some time doing more optimisation, but memory usage hasn't really been on the radar, as nobody has had any actual memory problems (the issue from 2.4.0 was because I put in some dodgy code for file watching, which was removed soon after). Most of the optimisation has gone into runtime speed.

Im not sure exactly how the ts language server gets around this problem.
I think that they have a centralised, deduplicated cache of files shared across all projects.

We use a different compiler API, so we can't implement that currently. It'd take a pretty significant rewrite for us to go that route, because the API we use is restricted, but has other benefits (trade-offs...).

I believe that in order to go the same cache route we'd have to essentially ditch the API we use, reimplement its functionality ourselves, and then also implement the caching.

with different compiler settings

This is actually a non issue. We do not report/fail on semantic errors, so it doesn't matter if your compilation options aren't quite right (i.e. One project has some strict setting when another doesn't). Semantic errors also don't change the type information, so it doesn't matter if there are any.

Additionally, as there is no build emit, options like rootDir etc won't change the parse output.

What matters is the libs are correct so all the global types can be resolved, and all projects need to either use or not use strictNullChecks.

@screendriver
Copy link
Author

If you use Lerna to symlink your workspace

Yeah, I'm using Yarn workspaces for that.

So ok, we will close this issue right now and you put that stuff into your own backlog and investigate that issue in the future, right? It seem to me that this will be a bigger construction site 😉

@bradzacher bradzacher added bug Something isn't working and removed awaiting response Issues waiting for a reply from the OP or another party labels Nov 14, 2019
@bradzacher bradzacher changed the title [2.6.1] Running out of memory OOM when many (>10) project configs passed to the parser Nov 14, 2019
@bradzacher
Copy link
Member

I'll leave this open, so we don't forget about it, but we can consider your problem worked around.

@screendriver
Copy link
Author

👍 🆗

@ulrichb
Copy link
Contributor

ulrichb commented Dec 9, 2019

I have a mid-size (~ 30 kLOC) TS-only project and also get OOMs (2 GB), but in my case with only one tsconfig:

        parser: "@typescript-eslint/parser",
        parserOptions: {
            ecmaVersion: 2019,
            sourceType: "module",
            ecmaFeatures: {
                jsx: true,
            },
            project: "tsconfig.base.json",
        },

I'm pretty sure that @typescript-eslint/parser is the problem, because I disabled all plugins (even @typescript-eslint) and ESLint still eats 2 GB.

Unfortunately my code is closed source. Any hints to track down the memory leak?

@bradzacher
Copy link
Member

run DEBUG=typescript-eslint yarn lint and dump the output.

It's not just the number of lines that matter - it's more so the number of files, and the number of dependencies.

How many files do you have?
Is it a monorepo? If yes - are you using yarn workspaces / lerna?
How big is your npm dependency tree?
Could you dump the contents of tsconfig.base.json?

@ulrichb
Copy link
Contributor

ulrichb commented Dec 9, 2019

run DEBUG=typescript-eslint yarn lint and dump the output.

2019-12-09T13:08:02.641Z typescript-eslint:typescript-estree:createProjectProgram Creating project program for: C:\_work\XXX\src\BackEnd\Api\ApiModule.ts
2019-12-09T13:08:02.642Z typescript-eslint:typescript-estree:createWatchProgram File did not belong to any existing programs, moving to create/update. c:\_work\XXX\src\backend\api\apimodule.ts
2019-12-09T13:08:02.643Z typescript-eslint:typescript-estree:createWatchProgram Creating watch program for c:\_work\XXX\src\tsconfig.base.json.
2019-12-09T13:08:31.932Z typescript-eslint:typescript-estree:createProjectProgram Creating project program for: C:\_work\XXX\src\BackEnd\Api\Controllers\YYY.ts
2019-12-09T13:08:31.952Z typescript-eslint:typescript-estree:createWatchProgram Found existing program for file. c:\_work\XXX\src\backend\api\controllers\YYY.ts
[ the above two lines for every file ]

How many files do you have?

~ 180

Is it a monorepo? If yes - are you using yarn workspaces / lerna?

no

How big is your npm dependency tree?

big

Could you dump the contents of tsconfig.base.json?

{
  "$schema": "http://json.schemastore.org/tsconfig",
  "compilerOptions": {
    "skipLibCheck": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "forceConsistentCasingInFileNames": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true
  }
}

@bradzacher
Copy link
Member

If the debug log looks like that, and you have only got 180 files (that's a tiny repo), then I would say that yes - either there's a memory leak, or your npm dependencies have some super large/complex types (or a combination of both).

It's hard to say though.
Without being able to directly interact with the codebase, the best I can do is try and work through this "over the wire".

  • Could you run it again, this time with DEBUG=* yarn lint.
    • What package does the last debug message before the OOM belong to? (i.e. is it eslint:... or is it typescript-eslint:...).
  • Are you able to share the npm dependencies that are imported within your project?
  • Based on the debug logs (DEBUG=typescript-eslint:* will be the best for this), How many files does it get through before OOMing?
    • Does it look like it's all of them, or is it definitely a subset?

@ulrichb
Copy link
Contributor

ulrichb commented Dec 9, 2019

The last `DEBUG=*` loggings before crashing
2019-12-09T14:17:43.461Z eslint:code-path s2_2!) BlockStatement:exit
2019-12-09T14:17:43.461Z eslint:code-path s2_2!) FunctionDeclaration:exit
2019-12-09T14:17:43.462Z eslint:code-path onCodePathSegmentEnd s2_2
2019-12-09T14:17:43.462Z eslint:code-path onCodePathEnd s2
2019-12-09T14:17:43.462Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s2_1[label="FunctionDeclaration\nIdentifier (createExecuteHumanInteractionCommand)\nObjectPattern\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (actionDescriptorId)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (HumanInteraction)\nIdentifier (action)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (HumanInteractionAction)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (ExecuteHumanInteractionCommand)\nBlockStatement\nReturnStatement\nObjectExpression\nProperty\nIdentifier (type)\nLiteral (ExecuteHumanInteractionCommand)\nProperty\nIdentifier (createdAt)\nNewExpression\nIdentifier (Date)\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (actionDescriptorId)\nProperty\nIdentifier (action)\nIdentifier (action)\nIdentifier:exit (createExecuteHumanInteractionCommand)\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (actionDescriptorId)\nProperty:exit\nIdentifier:exit (HumanInteraction)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nObjectPattern:exit\nIdentifier:exit (HumanInteractionAction)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (action)\nIdentifier:exit (ExecuteHumanInteractionCommand)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (type)\nLiteral:exit (ExecuteHumanInteractionCommand)\nProperty:exit\nIdentifier:exit (createdAt)\nIdentifier:exit (Date)\nNewExpression:exit\nProperty:exit\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (actionDescriptorId)\nProperty:exit\nIdentifier:exit (action)\nIdentifier:exit (action)\nProperty:exit\nObjectExpression:exit\nReturnStatement:exit"];
s2_2[style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\nBlockStatement:exit\nFunctionDeclaration:exit"];
initial->s2_1->s2_2;
s2_1->final;
}
2019-12-09T14:17:43.462Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceDeclaration
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceHeritage
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceHeritage:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceBody
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSLiteralType
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Literal
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Literal:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSLiteralType:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.462Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceBody:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) TSInterfaceDeclaration:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.462Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.462Z eslint:code-path s1_1) FunctionDeclaration
2019-12-09T14:17:43.462Z eslint:code-path onCodePathStart s3
2019-12-09T14:17:43.462Z eslint:code-path onCodePathSegmentStart s3_1
2019-12-09T14:17:43.462Z eslint:code-path s3_1) FunctionDeclaration
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) ObjectPattern
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Property
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Property:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) ObjectPattern:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.463Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeReference:exit
2019-12-09T14:17:43.463Z eslint:code-path s3_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.465Z eslint:code-path s3_1) BlockStatement
2019-12-09T14:17:43.465Z eslint:code-path s3_1) ReturnStatement
2019-12-09T14:17:43.465Z eslint:code-path s3_1) ObjectExpression
2019-12-09T14:17:43.465Z eslint:code-path s3_1) Property
2019-12-09T14:17:43.465Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.465Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.465Z eslint:code-path s3_1) Literal
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Literal:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) NewExpression
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) NewExpression:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) Property:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) ObjectExpression:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_1) ReturnStatement:exit
2019-12-09T14:17:43.466Z eslint:code-path onCodePathSegmentEnd s3_1
2019-12-09T14:17:43.466Z eslint:code-path onCodePathSegmentStart s3_2
2019-12-09T14:17:43.466Z eslint:code-path s3_2!) BlockStatement:exit
2019-12-09T14:17:43.466Z eslint:code-path s3_2!) FunctionDeclaration:exit
2019-12-09T14:17:43.466Z eslint:code-path onCodePathSegmentEnd s3_2
2019-12-09T14:17:43.466Z eslint:code-path onCodePathEnd s3
2019-12-09T14:17:43.466Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s3_1[label="FunctionDeclaration\nIdentifier (createExecuteHumanInteractionPreviewCommand)\nObjectPattern\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (actionDescriptorId)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (HumanInteraction)\nIdentifier (action)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (HumanInteractionAction)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (ExecuteHumanInteractionPreviewCommand)\nBlockStatement\nReturnStatement\nObjectExpression\nProperty\nIdentifier (type)\nLiteral (ExecuteHumanInteractionPreviewCommand)\nProperty\nIdentifier (createdAt)\nNewExpression\nIdentifier (Date)\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (actionDescriptorId)\nProperty\nIdentifier (action)\nIdentifier (action)\nIdentifier:exit (createExecuteHumanInteractionPreviewCommand)\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (actionDescriptorId)\nProperty:exit\nIdentifier:exit (HumanInteraction)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nObjectPattern:exit\nIdentifier:exit (HumanInteractionAction)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (action)\nIdentifier:exit (ExecuteHumanInteractionPreviewCommand)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (type)\nLiteral:exit (ExecuteHumanInteractionPreviewCommand)\nProperty:exit\nIdentifier:exit (createdAt)\nIdentifier:exit (Date)\nNewExpression:exit\nProperty:exit\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (actionDescriptorId)\nProperty:exit\nIdentifier:exit (action)\nIdentifier:exit (action)\nProperty:exit\nObjectExpression:exit\nReturnStatement:exit"];
s3_2[style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\nBlockStatement:exit\nFunctionDeclaration:exit"];
initial->s3_1->s3_2;
s3_1->final;
}
2019-12-09T14:17:43.466Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-09T14:17:43.466Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.466Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSInterfaceDeclaration
2019-12-09T14:17:43.466Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSInterfaceHeritage
2019-12-09T14:17:43.466Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.466Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSInterfaceHeritage:exit
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSInterfaceBody
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.466Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSLiteralType
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Literal
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Literal:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSLiteralType:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.467Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSInterfaceBody:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) TSInterfaceDeclaration:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.467Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.467Z eslint:code-path s1_1) FunctionDeclaration
2019-12-09T14:17:43.467Z eslint:code-path onCodePathStart s4
2019-12-09T14:17:43.467Z eslint:code-path onCodePathSegmentStart s4_1
2019-12-09T14:17:43.467Z eslint:code-path s4_1) FunctionDeclaration
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeReference:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.468Z eslint:code-path s4_1) BlockStatement
2019-12-09T14:17:43.468Z eslint:code-path s4_1) ReturnStatement
2019-12-09T14:17:43.468Z eslint:code-path s4_1) ObjectExpression
2019-12-09T14:17:43.468Z eslint:code-path s4_1) Property
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Literal
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Literal:exit
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Property:exit
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Property
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.469Z eslint:code-path s4_1) NewExpression
2019-12-09T14:17:43.469Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) NewExpression:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Property:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Property
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Property:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Property
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Identifier:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) Property:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) ObjectExpression:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_1) ReturnStatement:exit
2019-12-09T14:17:43.475Z eslint:code-path onCodePathSegmentEnd s4_1
2019-12-09T14:17:43.475Z eslint:code-path onCodePathSegmentStart s4_2
2019-12-09T14:17:43.475Z eslint:code-path s4_2!) BlockStatement:exit
2019-12-09T14:17:43.475Z eslint:code-path s4_2!) FunctionDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path onCodePathSegmentEnd s4_2
2019-12-09T14:17:43.476Z eslint:code-path onCodePathEnd s4
2019-12-09T14:17:43.476Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s4_1[label="FunctionDeclaration\nIdentifier (createExecuteActionDescriptorCommand)\nIdentifier (actionDescriptorId)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (ActionDescriptorId)\nIdentifier (action)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (Action)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (ExecuteActionDescriptorCommand)\nBlockStatement\nReturnStatement\nObjectExpression\nProperty\nIdentifier (type)\nLiteral (ExecuteActionDescriptorCommand)\nProperty\nIdentifier (createdAt)\nNewExpression\nIdentifier (Date)\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (actionDescriptorId)\nProperty\nIdentifier (action)\nIdentifier (action)\nIdentifier:exit (createExecuteActionDescriptorCommand)\nIdentifier:exit (ActionDescriptorId)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (Action)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (action)\nIdentifier:exit (ExecuteActionDescriptorCommand)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (type)\nLiteral:exit (ExecuteActionDescriptorCommand)\nProperty:exit\nIdentifier:exit (createdAt)\nIdentifier:exit (Date)\nNewExpression:exit\nProperty:exit\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (actionDescriptorId)\nProperty:exit\nIdentifier:exit (action)\nIdentifier:exit (action)\nProperty:exit\nObjectExpression:exit\nReturnStatement:exit"];
s4_2[style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\nBlockStatement:exit\nFunctionDeclaration:exit"];
initial->s4_1->s4_2;
s4_1->final;
}
2019-12-09T14:17:43.476Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeAliasDeclaration
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeOperator
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSArrayType
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSArrayType:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeOperator:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeAliasDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeAliasDeclaration
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSUnionType
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.476Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSUnionType:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) TSTypeAliasDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.476Z eslint:code-path s1_1) ExpressionStatement
2019-12-09T14:17:43.478Z eslint:code-path s1_1) CallExpression
2019-12-09T14:17:43.478Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.478Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeParameterInstantiation
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeLiteral
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSStringKeyword
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSStringKeyword:exit
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.478Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.478Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.478Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.478Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeLiteral:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeParameterInstantiation:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) CallExpression:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) ExpressionStatement:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAliasDeclaration
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSUnionType
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSUnionType:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAliasDeclaration:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSInterfaceDeclaration
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSInterfaceBody
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSLiteralType
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Literal
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Literal:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSLiteralType:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.479Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.479Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.480Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) TSInterfaceBody:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) TSInterfaceDeclaration:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.480Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.480Z eslint:code-path s1_1) FunctionDeclaration
2019-12-09T14:17:43.480Z eslint:code-path onCodePathStart s5
2019-12-09T14:17:43.480Z eslint:code-path onCodePathSegmentStart s5_1
2019-12-09T14:17:43.480Z eslint:code-path s5_1) FunctionDeclaration
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeAnnotation
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeReference
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeReference:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeAnnotation
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeReference
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeReference:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeAnnotation
2019-12-09T14:17:43.480Z eslint:code-path s5_1) TSTypeReference
2019-12-09T14:17:43.480Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) TSTypeReference:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) BlockStatement
2019-12-09T14:17:43.481Z eslint:code-path s5_1) ReturnStatement
2019-12-09T14:17:43.481Z eslint:code-path s5_1) ObjectExpression
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Literal
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Literal:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Identifier:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) Property:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) ObjectExpression:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_1) ReturnStatement:exit
2019-12-09T14:17:43.481Z eslint:code-path onCodePathSegmentEnd s5_1
2019-12-09T14:17:43.481Z eslint:code-path onCodePathSegmentStart s5_2
2019-12-09T14:17:43.481Z eslint:code-path s5_2!) BlockStatement:exit
2019-12-09T14:17:43.481Z eslint:code-path s5_2!) FunctionDeclaration:exit
2019-12-09T14:17:43.481Z eslint:code-path onCodePathSegmentEnd s5_2
2019-12-09T14:17:43.481Z eslint:code-path onCodePathEnd s5
2019-12-09T14:17:43.481Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s5_1[label="FunctionDeclaration\nIdentifier (createConfigurationVersionChangedEvent)\nIdentifier (createdBy)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (UserId)\nIdentifier (configurationVersion)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (TaskConfigurationVersion)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (ConfigurationVersionChangedEvent)\nBlockStatement\nReturnStatement\nObjectExpression\nProperty\nIdentifier (type)\nLiteral (ConfigurationVersionChangedEvent)\nProperty\nIdentifier (createdBy)\nIdentifier (createdBy)\nProperty\nIdentifier (configurationVersion)\nIdentifier (configurationVersion)\nIdentifier:exit (createConfigurationVersionChangedEvent)\nIdentifier:exit (UserId)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (createdBy)\nIdentifier:exit (TaskConfigurationVersion)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (configurationVersion)\nIdentifier:exit (ConfigurationVersionChangedEvent)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (type)\nLiteral:exit (ConfigurationVersionChangedEvent)\nProperty:exit\nIdentifier:exit (createdBy)\nIdentifier:exit (createdBy)\nProperty:exit\nIdentifier:exit (configurationVersion)\nIdentifier:exit (configurationVersion)\nProperty:exit\nObjectExpression:exit\nReturnStatement:exit"];
s5_2[style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\nBlockStatement:exit\nFunctionDeclaration:exit"];
initial->s5_1->s5_2;
s5_1->final;
}
2019-12-09T14:17:43.481Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-09T14:17:43.481Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.481Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.481Z eslint:code-path s1_1) TSInterfaceDeclaration
2019-12-09T14:17:43.481Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSInterfaceHeritage
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSInterfaceHeritage:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSInterfaceBody
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSLiteralType
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Literal
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Literal:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSLiteralType:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeReference
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeReference:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSUndefinedKeyword
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSUndefinedKeyword:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s1_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSPropertySignature:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSInterfaceBody:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) TSInterfaceDeclaration:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) ExportNamedDeclaration:exit
2019-12-09T14:17:43.482Z eslint:code-path s1_1) FunctionDeclaration
2019-12-09T14:17:43.482Z eslint:code-path onCodePathStart s6
2019-12-09T14:17:43.482Z eslint:code-path onCodePathSegmentStart s6_1
2019-12-09T14:17:43.482Z eslint:code-path s6_1) FunctionDeclaration
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeReference
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeReference:exit
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.482Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeAnnotation
2019-12-09T14:17:43.482Z eslint:code-path s6_1) TSTypeReference
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeReference:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeAnnotation
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeReference
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeReference:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) BlockStatement
2019-12-09T14:17:43.483Z eslint:code-path s6_1) ReturnStatement
2019-12-09T14:17:43.483Z eslint:code-path s6_1) ObjectExpression
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Literal
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Literal:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property:exit
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Property
2019-12-09T14:17:43.483Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s6_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s6_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s6_1) Property:exit
2019-12-09T14:17:43.484Z eslint:code-path s6_1) ObjectExpression:exit
2019-12-09T14:17:43.484Z eslint:code-path s6_1) ReturnStatement:exit
2019-12-09T14:17:43.484Z eslint:code-path onCodePathSegmentEnd s6_1
2019-12-09T14:17:43.484Z eslint:code-path onCodePathSegmentStart s6_2
2019-12-09T14:17:43.484Z eslint:code-path s6_2!) BlockStatement:exit
2019-12-09T14:17:43.484Z eslint:code-path s6_2!) FunctionDeclaration:exit
2019-12-09T14:17:43.484Z eslint:code-path onCodePathSegmentEnd s6_2
2019-12-09T14:17:43.484Z eslint:code-path onCodePathEnd s6
2019-12-09T14:17:43.484Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s6_1[label="FunctionDeclaration\nIdentifier (createMergeInputFactsEvent)\nIdentifier (createdBy)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (UserId)\nIdentifier (action)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (MergeFactsAction)\nTSTypeAnnotation\nTSTypeReference\nIdentifier (MergeInputFactsEvent)\nBlockStatement\nReturnStatement\nObjectExpression\nProperty\nIdentifier (type)\nLiteral (MergeInputFactsEvent)\nProperty\nIdentifier (createdBy)\nIdentifier (createdBy)\nProperty\nIdentifier (action)\nIdentifier (action)\nProperty\nIdentifier (actionDescriptorId)\nIdentifier (undefined)\nIdentifier:exit (createMergeInputFactsEvent)\nIdentifier:exit (UserId)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (createdBy)\nIdentifier:exit (MergeFactsAction)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (action)\nIdentifier:exit (MergeInputFactsEvent)\nTSTypeReference:exit\nTSTypeAnnotation:exit\nIdentifier:exit (type)\nLiteral:exit (MergeInputFactsEvent)\nProperty:exit\nIdentifier:exit (createdBy)\nIdentifier:exit (createdBy)\nProperty:exit\nIdentifier:exit (action)\nIdentifier:exit (action)\nProperty:exit\nIdentifier:exit (actionDescriptorId)\nIdentifier:exit (undefined)\nProperty:exit\nObjectExpression:exit\nReturnStatement:exit"];
s6_2[style="rounded,dashed,filled",fillcolor="#FF9800",label="<>\nBlockStatement:exit\nFunctionDeclaration:exit"];
initial->s6_1->s6_2;
s6_1->final;
}
2019-12-09T14:17:43.484Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-09T14:17:43.484Z eslint:code-path s1_1) ExportNamedDeclaration
2019-12-09T14:17:43.484Z eslint:code-path s1_1) FunctionDeclaration
2019-12-09T14:17:43.484Z eslint:code-path onCodePathStart s7
2019-12-09T14:17:43.484Z eslint:code-path onCodePathSegmentStart s7_1
2019-12-09T14:17:43.484Z eslint:code-path s7_1) FunctionDeclaration
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier
2019-12-09T14:17:43.484Z eslint:code-path s7_1) Identifier:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeReference:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) TSTypeAnnotation:exit
2019-12-09T14:17:43.484Z eslint:code-path s7_1) BlockStatement
2019-12-09T14:17:43.484Z eslint:code-path s7_1) ReturnStatement
2019-12-09T14:17:43.485Z eslint:code-path s7_1) CallExpression
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Are you able to share the npm dependencies that are imported within your project?

Dependencies
  "dependencies": {
    "@nestjs/common": "^6.10.8",
    "@nestjs/core": "^6.10.8",
    "@nestjs/platform-express": "^6.10.8",
    "@nestjs/swagger": "^4.0.9",
    "bson-objectid": "^1.3.0",
    "cli-color": "^2.0.0",
    "compression": "^1.7.4",
    "csp-header": "^2.0.2",
    "del": "^5.1.0",
    "dotenv-load": "^2.0.0",
    "error-stack-parser": "^2.0.4",
    "express": "^4.17.1",
    "express-http-proxy": "^1.6.0",
    "fast-json-patch": "^2.2.1",
    "fs-extra": "^8.1.0",
    "intl-messageformat": "^7.7.2",
    "intl-messageformat-parser": "^3.5.1",
    "jose": "^1.16.2",
    "jsondiffpatch": "^0.3.11",
    "lru-cache": "^5.1.1",
    "mongoose": "^5.7.14",
    "node-fetch": "^2.6.0",
    "object-path-immutable": "^4.0.2",
    "openid-client": "^3.9.0",
    "patch-package": "^6.2.0",
    "proper-lockfile": "^4.1.1",
    "reflect-metadata": "^0.1.13",
    "rxjs": "^6.5.3",
    "source-map-support": "^0.5.16",
    "swagger-ui-express": "^4.1.2",
    "teamcity-service-messages": "^0.1.10",
    "typescript": "^3.7.3",
    "uuid": "^3.3.3",
    "yargs": "^15.0.2"
  },
  "devDependencies": {
    "@st/identityserver-clients-react": "^6.2.200",
    "@st/image-viewer": "^6.1.433",
    "@types/classnames": "^2.2.9",
    "@types/cli-color": "^0.3.30",
    "@types/compression": "^1.0.1",
    "@types/eslint": "^6.1.3",
    "@types/express": "^4.17.2",
    "@types/express-http-proxy": "^1.5.12",
    "@types/fs-extra": "^8.0.1",
    "@types/jest": "^24.0.23",
    "@types/lru-cache": "^5.1.0",
    "@types/mongodb": "^3.3.12",
    "@types/mongoose": "^5.5.32",
    "@types/node": "^12.12.15",
    "@types/node-fetch": "^2.5.4",
    "@types/proper-lockfile": "^4.1.1",
    "@types/rc-tooltip": "^3.7.1",
    "@types/react": "^16.9.16",
    "@types/react-autosuggest": "^9.3.13",
    "@types/react-document-meta": "^3.0.0",
    "@types/react-dom": "^16.9.4",
    "@types/react-modal": "^3.10.0",
    "@types/react-redux": "^7.1.5",
    "@types/react-router": "^5.1.3",
    "@types/react-router-dom": "^5.1.3",
    "@types/react-tabs": "^2.3.1",
    "@types/source-map-support": "^0.5.0",
    "@types/styled-components": "^4.4.0",
    "@types/uuid": "^3.4.6",
    "@typescript-eslint/eslint-plugin": "^2.10.0",
    "@typescript-eslint/experimental-utils": "^2.10.0",
    "@typescript-eslint/parser": "^2.10.0",
    "babel-plugin-styled-components": "^1.10.6",
    "classnames": "^2.2.6",
    "core-js": "^3.4.8",
    "dependency-cruiser": "^5.5.0",
    "eslint": "^6.7.2",
    "eslint-plugin-filenames": "^1.3.2",
    "eslint-plugin-functional": "^1.0.0",
    "eslint-plugin-import": "^2.19.1",
    "eslint-plugin-jest": "^23.1.1",
    "eslint-plugin-react": "^7.17.0",
    "eslint-plugin-react-hooks": "^2.3.0",
    "eslint-teamcity": "^2.2.0",
    "esm": "^3.2.25",
    "globby": "^10.0.1",
    "gulp": "^4.0.2",
    "gulp-string-replace": "^1.1.2",
    "gulp-teamcity-reporter": "^1.1.1",
    "jest": "^24.9.0",
    "jest-teamcity-reporter": "^0.9.0",
    "moment": "^2.24.0",
    "monaco-editor": "^0.18.1",
    "monaco-editor-webpack-plugin": "^1.7.0",
    "mongodb-memory-server-core": "^6.0.2",
    "nodemon": "^2.0.1",
    "nswag": "^13.1.6",
    "rc-tooltip": "^3.7.3",
    "react": "^16.12.0",
    "react-app-polyfill": "^1.0.5",
    "react-autosuggest": "^9.4.3",
    "react-document-meta": "^3.0.0-beta.2",
    "react-dom": "^16.12.0",
    "react-intl": "^3.9.1",
    "react-modal": "^3.11.1",
    "react-redux": "^7.1.3",
    "react-router": "^5.1.2",
    "react-router-dom": "^5.1.2",
    "react-scripts": "^3.3.0",
    "react-tabs": "^3.0.0",
    "redux": "^4.0.4",
    "redux-saga": "^1.1.3",
    "sloc": "^0.2.1",
    "styled-components": "^4.4.1",
    "ts-jest": "^24.2.0",
    "typeface-roboto": "0.0.75",
    "webpack-bundle-analyzer": "^3.6.0"
  },

Based on the debug logs (DEBUG=typescript-eslint:* will be the best for this), How many files does it get through before OOMing?

148 / 180

@bradzacher
Copy link
Member

Hmm, that output (and dependency set) looks fine.
It looks like it just runs out of memory whilst traversing the AST. Which does imply a memory leak somewhere.

Could you please try turning off every single eslint rule, and doing the same DEBUG=* run?
If that still OOMs in the same way, then there is definitely something interesting going on.

@ulrichb
Copy link
Contributor

ulrichb commented Dec 10, 2019

Okay, I dropped now everything. This is now the full ESLint config:

module.exports = {

    parserOptions: { ecmaVersion: 2019, sourceType: "module" },

    overrides: [{
        files: ["*.ts", "*.tsx"],

        parser: "@typescript-eslint/parser",
        parserOptions: {
            ecmaVersion: 2019,
            sourceType: "module",
            ecmaFeatures: {
                jsx: true,
            },
            project: "tsconfig.base.json",
        },
    }],
};

(tsconfig.base.json see above)

The CLI call: npx eslint --ext .js,.ts,.tsx .

Note that because of the missing rules, ESLint now slightly uses less memory, so I used NODE_OPTIONS=--max-old-space-size=1900 (1.9 GB instead of the 2 GB default) to reproduce the OOM.

The complete log (with a few removed lines)
2019-12-10T08:15:45.384Z eslint:cli CLI args: [ '--ext', '.js,.ts,.tsx', '.' ]
2019-12-10T08:15:45.385Z eslint:cli Running on files
2019-12-10T08:15:45.395Z eslint:config-array-factory Loading .eslintignore file: C:\_work\XXX\src\.eslintignore
2019-12-10T08:15:45.395Z eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/node_modules/*', '/bower_components/*' ], basePath: 'C:\\_work\\XXX\\src', loose: false } ]
2019-12-10T08:15:45.397Z eslint:ignore-pattern   processed: { basePath: 'C:\\_work\\XXX\\src', patterns: [ '/node_modules/*', '/bower_components/*' ] }
2019-12-10T08:15:45.397Z eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/node_modules/*', '/bower_components/*' ], basePath: 'C:\\_work\\XXX\\src', loose: false } ]
2019-12-10T08:15:45.397Z eslint:ignore-pattern   processed: { basePath: 'C:\\_work\\XXX\\src', patterns: [ '/node_modules/*', '/bower_components/*' ] }
2019-12-10T08:15:45.398Z eslint:file-enumerator Start to iterate files: [ '.' ]
2019-12-10T08:15:45.398Z eslint:file-enumerator Directory: C:\_work\XXX\src
2019-12-10T08:15:45.398Z eslint:file-enumerator Enter the directory: C:\_work\XXX\src
2019-12-10T08:15:45.399Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src.
2019-12-10T08:15:45.399Z eslint:cascading-config-array-factory No cache found: C:\_work\XXX\src.
2019-12-10T08:15:45.399Z eslint:config-array-factory Loading JS config file: C:\_work\XXX\src\.eslintrc.js
2019-12-10T08:15:45.400Z eslint:config-array-factory Config file found: C:\_work\XXX\src\.eslintrc.js
2019-12-10T08:15:45.402Z eslint:config-array-factory Loading parser "@typescript-eslint/parser" from C:\_work\XXX\src\.eslintrc.js
2019-12-10T08:15:45.403Z eslint:config-array-factory Loaded: @typescript-eslint/parser@2.10.0 (C:\_work\XXX\node_modules\@typescript-eslint\parser\dist\parser.js)
2019-12-10T08:15:45.635Z eslint:cascading-config-array-factory No cache found: C:\_work\XXX.
2019-12-10T08:15:45.636Z eslint:config-array-factory Loading package.json config file: C:\_work\XXX\package.json
2019-12-10T08:15:45.636Z eslint:config-array-factory Loading JSON config file: C:\_work\XXX\package.json
2019-12-10T08:15:45.637Z eslint:config-array-factory Error reading package.json file: C:\_work\XXX\package.json
2019-12-10T08:15:45.637Z eslint:config-array-factory Config file not found on C:\_work\XXX
2019-12-10T08:15:45.637Z eslint:cascading-config-array-factory No cache found: C:\_work.
2019-12-10T08:15:45.637Z eslint:config-array-factory Config file not found on C:\_work
2019-12-10T08:15:45.637Z eslint:cascading-config-array-factory No cache found: C:\.
2019-12-10T08:15:45.637Z eslint:config-array-factory Config file not found on C:\
2019-12-10T08:15:45.638Z eslint:cascading-config-array-factory Configuration was determined: ConfigArray [ { name: 'DefaultIgnorePattern', filePath: '', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: 'C:\\_work\\XXX\\src', loose: false }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined }, { name: '.eslintrc.js', filePath: 'C:\\_work\\XXX\\src\\.eslintrc.js', criteria: null, env: undefined, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: undefined, parserOptions: { ecmaVersion: 2019, sourceType: 'module' }, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined }, { name: '.eslintrc.js#overrides[0]', filePath: 'C:\\_work\\XXX\\src\\.eslintrc.js', criteria: { includes: [Array], excludes: null, basePath: 'C:\\_work\\XXX\\src' }, env: undefined, globals: undefined, ignorePattern: undefined, noInlineConfig: undefined, parser: { error: null, filePath: 'C:\\_work\\XXX\\node_modules\\@typescript-eslint\\parser\\dist\\parser.js', id: '@typescript-eslint/parser', importerName: '.eslintrc.js#overrides[0]', importerPath: 'C:\\_work\\XXX\\src\\.eslintrc.js' }, parserOptions: { ecmaVersion: 2019, sourceType: 'module', ecmaFeatures: [Object], project: 'tsconfig.base.json' }, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined }, { name: '.eslintignore', filePath: 'C:\\_work\\XXX\\src\\.eslintignore', criteria: null, env: undefined, globals: undefined, ignorePattern: IgnorePattern { patterns: [Array], basePath: 'C:\\_work\\XXX\\src', loose: true }, noInlineConfig: undefined, parser: undefined, parserOptions: undefined, plugins: undefined, processor: undefined, reportUnusedDisableDirectives: undefined, root: undefined, rules: undefined, settings: undefined } ] on C:\_work\XXX\src
2019-12-10T08:15:45.639Z eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/node_modules/*', '/bower_components/*' ], basePath: 'C:\\_work\\XXX\\src', loose: false }, IgnorePattern { patterns: [ '!.*', 'build/', 'coverage/', 'jest_cache/', '*.[Gg]enerated.*', '/EsLintRules/*.js' ], basePath: 'C:\\_work\\XXX\\src', loose: true } ]
2019-12-10T08:15:45.640Z eslint:ignore-pattern   processed: { basePath: 'C:\\_work\\XXX\\src', patterns: [ '/node_modules/*', '/bower_components/*', '!.*', 'build/', 'coverage/', 'jest_cache/', '*.[Gg]enerated.*', '/EsLintRules/*.js' ] }
2019-12-10T08:15:45.640Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\.dependency-cruiser.js',
  dot: false,
  relativePath: '.dependency-cruiser.js',
  result: false
}
2019-12-10T08:15:45.640Z eslint:file-enumerator Yield: .dependency-cruiser.js
2019-12-10T08:15:45.640Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src.
2019-12-10T08:15:45.640Z eslint:cascading-config-array-factory Cache hit: C:\_work\XXX\src.
2019-12-10T08:15:45.640Z eslint:cli-engine Lint C:\_work\XXX\src\.dependency-cruiser.js
2019-12-10T08:15:45.641Z eslint:linter Linting code for C:\_work\XXX\src\.dependency-cruiser.js (pass 1)
2019-12-10T08:15:45.641Z eslint:linter Verify
2019-12-10T08:15:45.641Z eslint:linter With ConfigArray: C:\_work\XXX\src\.dependency-cruiser.js
2019-12-10T08:15:45.660Z eslint:code-path onCodePathStart s1
2019-12-10T08:15:45.660Z eslint:code-path onCodePathSegmentStart s1_1
2019-12-10T08:15:45.660Z eslint:code-path s1_1) Program
2019-12-10T08:15:45.660Z eslint:code-path s1_1) FunctionDeclaration
2019-12-10T08:15:45.660Z eslint:code-path onCodePathStart s2
2019-12-10T08:15:45.660Z eslint:code-path onCodePathSegmentStart s2_1
2019-12-10T08:15:45.660Z eslint:code-path s2_1) FunctionDeclaration
2019-12-10T08:15:45.660Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.660Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) BlockStatement
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclaration
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclarator
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclarator:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclaration:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclaration
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclarator
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclarator:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) VariableDeclaration:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.661Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.661Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.661Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.662Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.662Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.662Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.662Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.663Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.663Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.663Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.663Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.664Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.664Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.665Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.665Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.665Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.665Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.666Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.666Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.666Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.667Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.667Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.667Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.668Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.668Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.668Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.669Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.669Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.669Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.669Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.670Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TaggedTemplateExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TemplateLiteral
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TemplateElement
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TemplateElement:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TemplateLiteral:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.670Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.670Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TaggedTemplateExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TemplateLiteral
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TemplateElement
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TemplateElement:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TemplateLiteral:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.671Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.671Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) SpreadElement
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) SpreadElement:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.672Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) CallExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) CallExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.672Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ExpressionStatement
2019-12-10T08:15:45.673Z eslint:code-path s2_1) YieldExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TaggedTemplateExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TemplateLiteral
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TemplateElement
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TemplateElement:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TemplateLiteral:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ArrayExpression
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Literal
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Literal:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ArrayExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) Property:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ObjectExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) YieldExpression:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) ExpressionStatement:exit
2019-12-10T08:15:45.673Z eslint:code-path s2_1) FunctionDeclaration
2019-12-10T08:15:45.673Z eslint:code-path onCodePathStart s3
2019-12-10T08:15:45.673Z eslint:code-path onCodePathSegmentStart s3_1
2019-12-10T08:15:45.673Z eslint:code-path s3_1) FunctionDeclaration
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s3_1) BlockStatement
2019-12-10T08:15:45.673Z eslint:code-path s3_1) VariableDeclaration
2019-12-10T08:15:45.673Z eslint:code-path s3_1) VariableDeclarator
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier:exit
2019-12-10T08:15:45.673Z eslint:code-path s3_1) ConditionalExpression
2019-12-10T08:15:45.673Z eslint:code-path s3_1) MemberExpression
2019-12-10T08:15:45.673Z eslint:code-path s3_1) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_1) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_1) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_1) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_1) MemberExpression:exit
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentEnd s3_1
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentStart s3_2
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateLiteral
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateElement
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateElement:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateElement
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateElement:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_2) MemberExpression
2019-12-10T08:15:45.674Z eslint:code-path s3_2) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_2) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_2) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_2) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_2) MemberExpression:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_2) TemplateLiteral:exit
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentEnd s3_2
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentStart s3_3
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateLiteral
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateElement
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateElement:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateElement
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateElement:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_3) MemberExpression
2019-12-10T08:15:45.674Z eslint:code-path s3_3) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_3) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_3) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_3) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_3) MemberExpression:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_3) TemplateLiteral:exit
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentEnd s3_3
2019-12-10T08:15:45.674Z eslint:code-path onCodePathSegmentStart s3_4
2019-12-10T08:15:45.674Z eslint:code-path s3_4) ConditionalExpression:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_4) VariableDeclarator:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_4) VariableDeclaration:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_4) VariableDeclaration
2019-12-10T08:15:45.674Z eslint:code-path s3_4) VariableDeclarator
2019-12-10T08:15:45.674Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.674Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.674Z eslint:code-path s3_4) ArrayExpression
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) SpreadElement
2019-12-10T08:15:45.675Z eslint:code-path s3_4) CallExpression
2019-12-10T08:15:45.675Z eslint:code-path s3_4) MemberExpression
2019-12-10T08:15:45.675Z eslint:code-path s3_4) MemberExpression
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) MemberExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) MemberExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) ArrowFunctionExpression
2019-12-10T08:15:45.675Z eslint:code-path onCodePathStart s4
2019-12-10T08:15:45.675Z eslint:code-path onCodePathSegmentStart s4_1
2019-12-10T08:15:45.675Z eslint:code-path s4_1) ArrowFunctionExpression
2019-12-10T08:15:45.675Z eslint:code-path s4_1) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s4_1) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateLiteral
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateElement
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateElement:exit
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateElement
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateElement:exit
2019-12-10T08:15:45.675Z eslint:code-path s4_1) Identifier
2019-12-10T08:15:45.675Z eslint:code-path s4_1) Identifier:exit
2019-12-10T08:15:45.675Z eslint:code-path s4_1) TemplateLiteral:exit
2019-12-10T08:15:45.675Z eslint:code-path s4_1) ArrowFunctionExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path onCodePathSegmentEnd s4_1
2019-12-10T08:15:45.675Z eslint:code-path onCodePathEnd s4
2019-12-10T08:15:45.675Z eslint:code-path DOT 
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s4_1[label="ArrowFunctionExpression\nIdentifier (x)\nTemplateLiteral\nTemplateElement\nTemplateElement\nIdentifier (x)\nIdentifier:exit (x)\nTemplateElement:exit\nTemplateElement:exit\nIdentifier:exit (x)\nTemplateLiteral:exit\nArrowFunctionExpression:exit"];
initial->s4_1->final;
}
2019-12-10T08:15:45.675Z eslint:code-path s3_4) ArrowFunctionExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) CallExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) SpreadElement:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) ArrayExpression:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) VariableDeclarator:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) VariableDeclaration:exit
2019-12-10T08:15:45.675Z eslint:code-path s3_4) ExpressionStatement
2019-12-10T08:15:45.675Z eslint:code-path s3_4) YieldExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateLiteral
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateElement
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateElement:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateElement
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateElement:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) CallExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) MemberExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) MemberExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Literal
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Literal:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) CallExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) TemplateLiteral:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ObjectExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) YieldExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) ExpressionStatement:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) IfStatement
2019-12-10T08:15:45.676Z eslint:code-path s3_4) MemberExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_4) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_4) MemberExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path onCodePathSegmentEnd s3_4
2019-12-10T08:15:45.676Z eslint:code-path onCodePathSegmentStart s3_5
2019-12-10T08:15:45.676Z eslint:code-path s3_5) ExpressionStatement
2019-12-10T08:15:45.676Z eslint:code-path s3_5) YieldExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_5) ObjectExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) ObjectExpression
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) ObjectExpression:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Property:exit
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Property
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.676Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) ObjectExpression
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Property
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) MemberExpression
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Identifier:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) MemberExpression:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Property:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) ObjectExpression:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) Property:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) ObjectExpression:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) YieldExpression:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_5) ExpressionStatement:exit
2019-12-10T08:15:45.677Z eslint:code-path onCodePathSegmentEnd s3_5
2019-12-10T08:15:45.677Z eslint:code-path onCodePathSegmentStart s3_6
2019-12-10T08:15:45.677Z eslint:code-path s3_6) IfStatement:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_6) BlockStatement:exit
2019-12-10T08:15:45.677Z eslint:code-path s3_6) FunctionDeclaration:exit
2019-12-10T08:15:45.677Z eslint:code-path onCodePathSegmentEnd s3_6
2019-12-10T08:15:45.677Z eslint:code-path onCodePathEnd s3
[ ... snip ...]
2019-12-10T08:15:45.677Z eslint:code-path s2_1) FunctionDeclaration:exit
2019-12-10T08:15:45.677Z eslint:code-path s2_1) BlockStatement:exit
2019-12-10T08:15:45.677Z eslint:code-path s2_1) FunctionDeclaration:exit
2019-12-10T08:15:45.677Z eslint:code-path onCodePathSegmentEnd s2_1
2019-12-10T08:15:45.677Z eslint:code-path onCodePathEnd s2
[ ... snip ...]
2019-12-10T08:15:45.677Z eslint:code-path s1_1) FunctionDeclaration:exit
2019-12-10T08:15:45.677Z eslint:code-path s1_1) VariableDeclaration
2019-12-10T08:15:45.677Z eslint:code-path s1_1) VariableDeclarator
2019-12-10T08:15:45.677Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) MemberExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) MemberExpression:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) VariableDeclarator:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) VariableDeclaration:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ExpressionStatement
2019-12-10T08:15:45.678Z eslint:code-path s1_1) AssignmentExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) MemberExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) MemberExpression:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ArrayExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) SpreadElement
2019-12-10T08:15:45.678Z eslint:code-path s1_1) CallExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) CallExpression:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) SpreadElement:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ArrayExpression:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ArrayExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.678Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.678Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TaggedTemplateExpression
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.679Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TemplateLiteral
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TemplateElement
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TemplateElement:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TemplateLiteral:exit
2019-12-10T08:15:45.679Z eslint:code-path s1_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateElement:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TemplateLiteral:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ArrayExpression:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.680Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.680Z eslint:code-path s1_1) TaggedTemplateExpression
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) TemplateLiteral
2019-12-10T08:15:45.681Z eslint:code-path s1_1) TemplateElement
2019-12-10T08:15:45.681Z eslint:code-path s1_1) TemplateElement:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) TemplateLiteral:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) TaggedTemplateExpression:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) AssignmentExpression:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) ExpressionStatement:exit
2019-12-10T08:15:45.681Z eslint:code-path s1_1) Program:exit
2019-12-10T08:15:45.681Z eslint:code-path onCodePathSegmentEnd s1_1
2019-12-10T08:15:45.681Z eslint:code-path onCodePathEnd s1
2019-12-10T08:15:45.681Z eslint:code-path DOT 
[ ... snip ...]
2019-12-10T08:15:45.681Z eslint:linter Generating fixed text for C:\_work\XXX\src\.dependency-cruiser.js (pass 1)
2019-12-10T08:15:45.681Z eslint:source-code-fixer Applying fixes
2019-12-10T08:15:45.682Z eslint:source-code-fixer shouldFix parameter was false, not attempting fixes
2019-12-10T08:15:45.682Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\.eslintignore',
  dot: false,
  relativePath: '.eslintignore',
  result: false
}
2019-12-10T08:15:45.682Z eslint:file-enumerator Didn't match: .eslintignore
2019-12-10T08:15:45.683Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\.eslintrc.js',
  dot: false,
  relativePath: '.eslintrc.js',
  result: false
}
2019-12-10T08:15:45.683Z eslint:file-enumerator Yield: .eslintrc.js
2019-12-10T08:15:45.683Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src.
2019-12-10T08:15:45.683Z eslint:cascading-config-array-factory Cache hit: C:\_work\XXX\src.
2019-12-10T08:15:45.683Z eslint:cli-engine Lint C:\_work\XXX\src\.eslintrc.js
2019-12-10T08:15:45.683Z eslint:linter Linting code for C:\_work\XXX\src\.eslintrc.js (pass 1)
2019-12-10T08:15:45.683Z eslint:linter Verify
2019-12-10T08:15:45.683Z eslint:linter With ConfigArray: C:\_work\XXX\src\.eslintrc.js
2019-12-10T08:15:45.684Z eslint:code-path onCodePathStart s1
2019-12-10T08:15:45.684Z eslint:code-path onCodePathSegmentStart s1_1
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Program
2019-12-10T08:15:45.684Z eslint:code-path s1_1) ExpressionStatement
2019-12-10T08:15:45.684Z eslint:code-path s1_1) AssignmentExpression
2019-12-10T08:15:45.684Z eslint:code-path s1_1) MemberExpression
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) MemberExpression:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.684Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) ArrayExpression
2019-12-10T08:15:45.685Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) ArrayExpression
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) ArrayExpression:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.685Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ObjectExpression
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Identifier:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Literal:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ArrayExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Property:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ObjectExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) AssignmentExpression:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) ExpressionStatement:exit
2019-12-10T08:15:45.686Z eslint:code-path s1_1) Program:exit
2019-12-10T08:15:45.686Z eslint:code-path onCodePathSegmentEnd s1_1
2019-12-10T08:15:45.686Z eslint:code-path onCodePathEnd s1
[ ... snip ...]
2019-12-10T08:15:45.686Z eslint:linter Generating fixed text for C:\_work\XXX\src\.eslintrc.js (pass 1)
2019-12-10T08:15:45.687Z eslint:source-code-fixer Applying fixes
2019-12-10T08:15:45.687Z eslint:source-code-fixer shouldFix parameter was false, not attempting fixes
2019-12-10T08:15:45.687Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\.gitignore',
  dot: false,
  relativePath: '.gitignore',
  result: false
}
2019-12-10T08:15:45.687Z eslint:file-enumerator Didn't match: .gitignore
2019-12-10T08:15:45.687Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\',
  dot: false,
  relativePath: 'BackEnd/',
  result: false
}
2019-12-10T08:15:45.687Z eslint:file-enumerator Enter the directory: C:\_work\XXX\src\BackEnd
2019-12-10T08:15:45.687Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src\BackEnd.
2019-12-10T08:15:45.688Z eslint:cascading-config-array-factory No cache found: C:\_work\XXX\src\BackEnd.
2019-12-10T08:15:45.688Z eslint:config-array-factory Config file not found on C:\_work\XXX\src\BackEnd
2019-12-10T08:15:45.688Z eslint:cascading-config-array-factory Cache hit: C:\_work\XXX\src.
2019-12-10T08:15:45.688Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\.env',
  dot: false,
  relativePath: 'BackEnd/.env',
  result: false
}
2019-12-10T08:15:45.688Z eslint:file-enumerator Didn't match: .env
2019-12-10T08:15:45.688Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\.env.development',
  dot: false,
  relativePath: 'BackEnd/.env.development',
  result: false
}
2019-12-10T08:15:45.688Z eslint:file-enumerator Didn't match: .env.development
2019-12-10T08:15:45.688Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\.env.development.local',
  dot: false,
  relativePath: 'BackEnd/.env.development.local',
  result: false
}
2019-12-10T08:15:45.688Z eslint:file-enumerator Didn't match: .env.development.local
2019-12-10T08:15:45.689Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\Api\\',
  dot: false,
  relativePath: 'BackEnd/Api/',
  result: false
}
2019-12-10T08:15:45.689Z eslint:file-enumerator Enter the directory: C:\_work\XXX\src\BackEnd\Api
2019-12-10T08:15:45.689Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src\BackEnd\Api.
2019-12-10T08:15:45.689Z eslint:cascading-config-array-factory No cache found: C:\_work\XXX\src\BackEnd\Api.
2019-12-10T08:15:45.689Z eslint:config-array-factory Config file not found on C:\_work\XXX\src\BackEnd\Api
2019-12-10T08:15:45.689Z eslint:cascading-config-array-factory Cache hit: C:\_work\XXX\src\BackEnd.
2019-12-10T08:15:45.689Z eslint:ignore-pattern Create with: [ IgnorePattern { patterns: [ '/node_modules/*', '/bower_components/*' ], basePath: 'C:\\_work\\XXX\\src', loose: false }, IgnorePattern { patterns: [ '!.*', 'build/', 'coverage/', 'jest_cache/', '*.[Gg]enerated.*', '/EsLintRules/*.js' ], basePath: 'C:\\_work\\XXX\\src', loose: true } ]
2019-12-10T08:15:45.690Z eslint:ignore-pattern   processed: { basePath: 'C:\\_work\\XXX\\src', patterns: [ '/node_modules/*', '/bower_components/*', '!.*', 'build/', 'coverage/', 'jest_cache/', '*.[Gg]enerated.*', '/EsLintRules/*.js' ] }
2019-12-10T08:15:45.690Z eslint:ignore-pattern Check {
  filePath: 'C:\\_work\\XXX\\src\\BackEnd\\Api\\ApiModule.ts',
  dot: false,
  relativePath: 'BackEnd/Api/ApiModule.ts',
  result: false
}
2019-12-10T08:15:45.690Z eslint:file-enumerator Yield: ApiModule.ts
2019-12-10T08:15:45.690Z eslint:cascading-config-array-factory Load config files for C:\_work\XXX\src\BackEnd\Api.
2019-12-10T08:15:45.690Z eslint:cascading-config-array-factory Cache hit: C:\_work\XXX\src\BackEnd\Api.
2019-12-10T08:15:45.690Z eslint:cli-engine Lint C:\_work\XXX\src\BackEnd\Api\ApiModule.ts
2019-12-10T08:15:45.690Z eslint:linter Linting code for C:\_work\XXX\src\BackEnd\Api\ApiModule.ts (pass 1)
2019-12-10T08:15:45.690Z eslint:linter Verify
2019-12-10T08:15:45.690Z eslint:linter With ConfigArray: C:\_work\XXX\src\BackEnd\Api\ApiModule.ts
2019-12-10T08:15:45.692Z typescript-eslint:typescript-estree:createProjectProgram Creating project program for: C:\_work\XXX\src\BackEnd\Api\ApiModule.ts
2019-12-10T08:15:45.692Z typescript-eslint:typescript-estree:createWatchProgram File did not belong to any existing programs, moving to create/update. c:\_work\XXX\src\backend\api\apimodule.ts
2019-12-10T08:15:45.692Z typescript-eslint:typescript-estree:createWatchProgram Creating watch program for c:\_work\XXX\src\tsconfig.base.json.
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Writing Node.js report to file: report.20191210.091624.13300.0.001.json
<--- Last few GCs --->

[13300:000001DF5AADF7F0] 34768 ms: Mark-sweep 1896.1 (1905.0) -> 1895.0 (1909.5) MB, 734.8 / 0.0 ms (average mu = 0.217, current mu = 0.104) allocation failure scavenge might not succeed
[13300:000001DF5AADF7F0] 36344 ms: Mark-sweep 1898.8 (1909.8) -> 1896.9 (1905.5) MB, 1287.9 / 0.0 ms (+ 69.7 ms in 56 steps since start of marking, biggest step 9.5 ms, walltime since start of marking 1576 ms) (average mu = 0.169, current mu = 0.138)

<--- JS stacktrace --->

==== JS stack trace =========================================

0: ExitFrame [pc: 00007FF61972AE3D]

Security context: 0x0230db500921
1: bindChildrenWorker(aka bindChildrenWorker) [000002BC5FDD8239] [C:_work\XXX\node_modules\typescript\lib\typescript.js:~29660] [pc=0000014639A9C4A4](this=0x03a3ee6404b9 ,0x01e71ebd84b9 )
2: bind(aka bind) [000002BC5FDD99F9] [C:_work\XXX\node_modules\typescript\lib\typescript.js:~31016...

Node.js report completed
1: 00007FF618B1C80F napi_wrap+125199
2: 00007FF618ABBFE6 public: bool __cdecl v8::base::CPU::has_sse(void)const __ptr64+36198
3: 00007FF618ABCCB6 public: bool __cdecl v8::base::CPU::has_sse(void)const __ptr64+39478
4: 00007FF6192E44AE private: void __cdecl v8::Isolate::ReportExternalAllocationLimitReached(void) __ptr64+94
5: 00007FF6192CBC01 public: void __cdecl v8::SharedArrayBuffer::Externalize(class std::shared_ptr const & __ptr64) __ptr64+785
6: 00007FF619192F5C public: static void __cdecl v8::internal::Heap::EphemeronKeyWriteBarrierFromCode(unsigned __int64,unsigned __int64,class v8::internal::Isolate * __ptr64)+1436
7: 00007FF61919E250 public: void __cdecl v8::internal::Heap::ProtectUnprotectedMemoryChunks(void) __ptr64+1312
8: 00007FF61919AD7F public: static bool __cdecl v8::internal::Heap::PageFlagsAreConsistent(class v8::internal::HeapObject)+3151
9: 00007FF6191904D3 public: bool __cdecl v8::internal::Heap::CollectGarbage(enum v8::internal::AllocationSpace,enum v8::internal::GarbageCollectionReason,enum v8::GCCallbackFlags) __ptr64+1283
10: 00007FF61918EC64 public: void * __ptr64 __cdecl v8::internal::Heap::AllocateExternalBackingStore(class std::function<void * __ptr64 __cdecl(unsigned __int64)> const & __ptr64,unsigned __int64) __ptr64+1300
11: 00007FF6191B0C54 public: class v8::internal::Handle __cdecl v8::internal::Factory::NewFillerObject(int,bool,enum v8::internal::AllocationType,enum v8::internal::AllocationOrigin) __ptr64+196
12: 00007FF618F0B251 public: class v8::internal::interpreter::JumpTableTargetOffsets::iterator & __ptr64 __cdecl v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=(class v8::internal::interpreter::JumpTableTargetOffsets::iterator && __ptr64) __ptr64+1681
13: 00007FF61972AE3D public: virtual bool __cdecl v8::internal::SetupIsolateDelegate::SetupHeap(class v8::internal::Heap * __ptr64) __ptr64+517453
14: 0000014639A9C4A4
[09:16:24] 'eslint' errored after 40 s
[09:16:24] Error: exited with error code: 134
at ChildProcess.onexit (C:_work\XXX\node_modules\end-of-stream\index.js:39:36)
at ChildProcess.emit (events.js:219:5)
at ChildProcess.EventEmitter.emit (domain.js:544:15)
at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)

Process finished with exit code 1

@suchanlee
Copy link

suchanlee commented Dec 12, 2019

Let me know if you'd prefer that I open a separate issue instead of piggy backing off this one

I'm running into the same issue as well, in a large monorepo:

Monorepo: Yes, managed by lerna
Number of packages: 414, with a separate tsconfig.json file in each one
Number of Typescript files: 24428
Lines of code: ~200k
How big is your npm dependency tree: large, ~1000

tsconfig.base.json

{
  "atom": {
    "rewriteTsconfig": false
  },
  "compileOnSave": false,
  "compilerOptions": {
    "alwaysStrict": true,
    "allowSyntheticDefaultImports": true,
    "composite": true,
    "declaration": true,
    "declarationMap": true,
    "downlevelIteration": true,
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "forceConsistentCasingInFileNames": true,
    "importHelpers": true,
    "jsx": "react",
    "lib": ["dom", "es2015", "es2016", "es2017", "es2018", "es2019"],
    "module": "esnext",
    "moduleResolution": "node",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "plugins": [{ "name": "typescript-tslint-plugin" }],
    "preserveConstEnums": true,
    "pretty": true,
    "removeComments": false,
    "skipLibCheck": true,
    "sourceMap": true,
    "strict": true,
    "strictBindCallApply": false,
    "stripInternal": true,
    "noFallthroughCasesInSwitch": true,
    "target": "es5"
  }
}

There's a single tsconfig.eslint.json file used for linting from the root of the monorepo and I've verified that there's a single program being created by running it in debug mode.

tsconfig.eslint.json

{
  "extends": "./config/tsconfig.shared.json",
  "compilerOptions": {
    "outDir": "lib",
    "rootDir": "src"
  },
  "exclude": [
    "build",
    "node_modules",
    "generated",
    "lib",
    "scripts",
    "src/__docs__",
    "enzymeSetup.ts",
    "setupJest.ts",
    "packages/**/*.d.ts"
  ],
  "include": [
    "packages/**/src/**/*.ts",
    "packages/**/src/**/*.tsx"
  ]
}

eslint OOMs when it's being run on the full monorepo (workflow: open vscode project from monorepo root and let the vscode-eslint extension run).

I've tested running eslint from cli for just a single, relatively small package, which doesn't OOM, for comparison between running it with the project field set and not set.

Two runs each:

  • without project set: 632ms, 534ms
  • with project set: 137830ms, 131742ms

which is a staggering difference in performance. And we have a lot of custom rules that rely on type checking. Even if eslint were to not crash due to OOM, the performance is too slow for it to actually be used.

Do you have any other tips on improving the performance of eslint + types?

@bradzacher
Copy link
Member

In order to lint with type information, you have to gather the type information. There's only one possible way to do that - essentially call tsc on the project (we use their compiler API, but they do the same thing under the hood).

So the perf hit === roughly how long it takes to run tsc --noEmit.
eg. For our project here, we have 349 TS files, at about 80k lines (including tests, or about 30k of real code):

  • Doing a complete incremental build takes ~4-15s.
  • Doing a cold build takes ~21s.
  • Linting with type information takes ~17-20s.
  • Linting without takes ~8-10s.

If your lint run is slower than lint + tsc, then there is something else wrong.


From the memory standpoint - a little background...

Our use case is unique. Via one package, we have to handle the single use CLIs case, as well as the persistent IDE use case. But there are no flags to switch between the two. This limits our choice of underlying implementations and TS APIs.

The OOM issue in OP's case is (I'm pretty sure, I don't have the codebase, so guessing) because there is a lot of shared code between the projects, which causes a lot of duplicated memory. Right now, we are using TS's WatchProgram API, which is designed for a single program, but lends itself well to frequent file updates (i.e. the persistent IDE use case). It's missing a crucial piece however, which is the ability to share SourceFiles between programs, hence the duplication and OOM.

Making OP switch to a single tsconfig works because they are small enough that their entire monorepo is small enough, and creating one program means the SourceFiles are shared.

For your scale, I would hazard a guess that using a single tsconfig will not work for you. TS wasn't designed to handle 24k files at once - it was designed to handle smaller number of files as separate projects.

I'm not sure the best path forward on your issue. I have never seen a typescript monorepo at that scale, so you're certainly an edge case.
As a temporary workaround, you could circumvent the OOM by linting one project at a time, and it'd be pretty trivial to bash script up and parallelise it a great deal, but it will still be pretty slow (though linting across your entire codebase will be slow regardless due to the scale).


(for @ulrichb - I will review those logs in depth tomorrow, I had a brief look and it looked promising from a debugging standpoint)

@suchanlee
Copy link

@bradzacher thanks for a quick response! If the lower bound is the time it takes to run tsc, then it will definitely not work for our monorepo. I'll take the conversation to #55 for further discussion

@bradzacher
Copy link
Member

bradzacher commented Dec 13, 2019

@ulrichb - looking at those logs..
It looks like it does a lot of work before starting on TS files.

That OOM occurred exactly where I'd expect it to:

typescript-eslint:typescript-estree:createWatchProgram Creating watch program for c:\_work\XXX\src\tsconfig.base.json.

This is where we call typescript.createWatchProgram, which makes typescript do the typechecking for the tsconfig project.

Do you have a mixed js/ts codebase?
If yes - you mentioned 180 files before, is that 180 total files, or 180 just TS files? Do your TS files import JS files?

@ulrichb
Copy link
Contributor

ulrichb commented Dec 13, 2019

Omg, I just found my problem: The generated declaration files and/or .js files in the --outdir directories.

After deleting all "build" dirs the ESLint process maxes at ~ 550 MB.

Note that I have "build/" in my .eslintignore, so ... is it a bug that the input of the type-checking doesn't exclude the .eslintignore entries?

@bradzacher
Copy link
Member

Hmm. I didn't think about this. Great work finding it.

Looking again at the tsconfig you're providing, you don't have an include or exclude.
To typescript, is the same as passing include: ["**/*"], which means it'll ofc match your build output folder (IIRC TS will automatically not match node_modules, so it'll protect you from that).

This is a tricky thing that we don't exactly sync on with ESLint.
.eslintignore will tell ESLint what files shouldn't be linted.
However because we gather type info, we also tell typescript to parse and check every file matched by the tsconfig. It means sometimes we parse more than gets linted, but it ensures we get complete and correct type information.

I'll make sure to add this to the new docs I'm writing.

If you explicitly add include to your tsconfig, it should fix it.

@jakebailey
Copy link
Collaborator

I still want to look into the forceConsistentCasingInFileNames: false problem. Does anyone have a public repo where adding this option fixes things? Or a private repo they're willing to add me or other TypeScript team members to?

@jasperlin451
Copy link

jasperlin451 commented Jan 23, 2024

In my case, the issue was caused by having forceConsistentCasingInFileNames set to true in my tsconfig.json. Once I turned it off, the problem was resolved.

This was the solution for me too. We weren't seeing high memory usage but we were seeing ~2 seconds per keystroke in VSCode spent on creating diagnostic files.
Screenshot 2024-01-22 at 16 23 14

I added a console.trace(${file.path} length ${fileReasons.get(file.path)?.length}); call here: https://github.com/microsoft/TypeScript/blob/2e3b8af85e1f782634349139819151881369e3ea/src/compiler/program.ts#L4639 and got a lot of messages like this.

Trace: /users/jasper/code/sparta/node_modules/io-ts/lib/index.d.ts length 1175
    at createDiagnosticExplainingFile (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:121805:17)
    at /Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:119519:41
    at Array.forEach (<anonymous>)
    at createProgram (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:119516:76)
    at synchronizeHostData (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:142848:17)
    at Object.getProgram (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:142922:7)
    at ConfiguredProject2.updateGraphWorker (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:174716:47)
    at ConfiguredProject2.updateGraph (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:174567:38)
    at ConfiguredProject2.updateGraph (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:175794:30)
    at _ProjectService.createLoadAndUpdateConfiguredProject (/Users/jasper/code/sparta/node_modules/typescript/lib/typescript.js:177537:19)

Copy link

Uh oh! @jasperlin451, the image you shared is missing helpful alt text. Check #1192 (comment).

Alt text is an invisible description that helps screen readers describe images to blind or low-vision users. If you are using markdown to display images, add your alt text inside the brackets of the markdown image.

Learn more about alt text at Basic writing and formatting syntax: images on GitHub Docs.

1 similar comment
Copy link

Uh oh! @jasperlin451, the image you shared is missing helpful alt text. Check #1192 (comment).

Alt text is an invisible description that helps screen readers describe images to blind or low-vision users. If you are using markdown to display images, add your alt text inside the brackets of the markdown image.

Learn more about alt text at Basic writing and formatting syntax: images on GitHub Docs.

@maecapozzi
Copy link

We are having the same issue with forceConsistentCasingInFileNames. We were seeing OOM until we removed that rule.

@EmmanuelKzsky
Copy link

In my case we have already configured our .eslintrc.json and inside of it was having parserOptions to tsconfig.json file which was causing the conflict after removing that the linting won't trough the OOM

@antmarot
Copy link

Setting forceConsistentCasingInFileNames to false solved the issue for me as well.
Went from node processes with >4GB of memory to ~400MB.

@ChrisSargent
Copy link

for balance, setting forceConsistentCasingInFileNames: false made no difference to our memory usage.

Mythie added a commit to documenso/documenso that referenced this issue Mar 10, 2024
I found out that the problem of slow down is the use of
parseOption.project with multiple tsconfig files which increases usage
of memory consumption quite a lot.

Here is the reference I found to resolve this issue:

[reference
link](typescript-eslint/typescript-eslint#1192)
[Doc
link](https://typescript-eslint.io/getting-started/typed-linting/monorepos/)

Based on this reference I created the solution and tested out locally it
does reduce the eslint time.

#1002
@martaver
Copy link

We were experiencing an OOM error on a relatively small monorepo (<200 files and 10 projects).

Enabling EXPERIMENTAL_useProjectService: true in parserOptions as per #6754 not only eliminated the OOM error, but sped up linting dramatically.

Granted, it's experimental, but if you have the leway, this was a valid solution for us!

@jakebailey
Copy link
Collaborator

To those having an OOM that is "fixed" by setting forceConsistentCasingInFileNames=false, can you try using "typescript": "npm:@typescript-deploys/pr-build@5.5.0-pr-58299-2" (from microsoft/TypeScript#58299 (comment)) and see what happens?

@jakebailey
Copy link
Collaborator

My change above is probably wrong (per @sheetalkamat), so I'll close that PR, though I am curious if it actually did anything for anyone.

In any case, I'll make my plea again... We really, really, really need some repro we can see ourselves that is affected by forceConsistentCasingInFileNames.

@sheetalkamat
Copy link
Contributor

Can you please try microsoft/TypeScript#58398 (comment) to see if this fixes your issue.

@jakebailey
Copy link
Collaborator

microsoft/TypeScript#58398 is merged and in typescript@5.5.0-dev.20240507. For those with the forceConsistentCasingInFileNames related issues, it'd be awesome if you could try this version of TypeScript out. Additionally, #9042 should fix it for everyone in a future typescript-eslint issue.

@samwho
Copy link

samwho commented May 9, 2024

We're experiencing this same problem in our monorepo as well. I've created a PR that displays the problem here: Budibase/budibase#13642. Given that it's open source, I hope you're able to get all of the information you need to help debug the problem. If not, I'm more than happy to provide any extra info you might need. Any guidance on how we can mitigate this would be greatly appreciated. I've tried the forceConsistentCasingInFileNames change and saw no difference.

@jakebailey
Copy link
Collaborator

Something's very odd in your case; I tried upgrading you to 7.8.0 and setting EXPERIMENTAL_useProjectService, and far too many files were being being loaded on the "default" inferred project when they should have been covered by a tsconfig. e.g.:

"parserOptions": {
  "EXPERIMENTAL_useProjectService": {
    "maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING": 0
  }
},
$ yarn eslint packages/backend-core/src/security/auth.ts
yarn run v1.22.21
$ /home/jabaile/work/budibase/node_modules/.bin/eslint packages/backend-core/src/security/auth.ts

/home/jabaile/work/budibase/packages/backend-core/src/security/auth.ts
  0:0  error  Parsing error: Too many files (>0) have matched the default project.

Having many files run with the default project is known to cause performance issues and slow down linting.

See https://typescript-eslint.io/troubleshooting/#allowdefaultprojectforfiles-glob-too-wide

Matching files:
- /home/jabaile/work/budibase/packages/backend-core/src/security/auth.ts

If you absolutely need more files included, set parserOptions.EXPERIMENTAL_useProjectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value

✖ 1 problem (1 error, 0 warnings)

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I'm not super familiar with how things work without the ProjectService to know if there's a relation here.

You're also not using project references, so that may negatively impact your performance due to reduced sharing of resources (e.g. file contents, ASTs) between projects. But, I do see that you're using nx, so project references may start being a thing there soon.


Unfortunately this thread started in 2019 and has grown to encompass basically any OOM out there; given some of the OOMs are going to be fixed soon, but some not, I do wonder if we should find a way to split this up into more similar repros.

@JamesHenry
Copy link
Member

@samwho please can you email me next week (james@nrwl.io) - I'd love to collaborate with you personally to work through this, I can bring in the latest project references work in Nx that Jake mentioned above and we can figure out the optimal typescript-eslint setup

@JoshuaKGoldberg
Copy link
Member

+1 to what @jakebailey said: this has been a catch-all for so long, we don't have a good way to know which issues referenced in it are still relevant. Some of what's previously been posted was resolved by parserOptions.EXPERIMENTAL_useProjectService. A lot more was resolved by @jakebailey and @sheetalkamat's work in TypeScript, especially microsoft/TypeScript#58398.

Closing this out as many of the original reasons for this issue has since been resolved. ✅

If you've tried out everything in this thread -including the experimental project service and new TypeScript fixes- then please file a new issue that includes the information requested from this issue:

  • Is your project open-source? (if yes - link please)
  • Is your package a monorepo? If yes:
    • Are you using lerna, or some other method?
    • How many packages are in your monorepo?
    • Do you have one tsconfig per package, one at the root, or a mish-mash of both?
    • How interdependent is your codebase (i.e. are there lots of utility packages that are used by every package, or is it mainly packages with clear separations?)
  • How do you build your project(s)?
    • Is it via tsc, webpack/rollup/etc, or a mish-mash of both?
  • How many TS files are in your codebase?
  • Approx how many lines of code are in your codebase?
  • How many NPM dependencies do you have?

Also, please provide the following (you can leave the last two out if you're open source):

  • A complete lint run output with the DEBUG=* env variable set? DEBUG=* yarn lint
    • Feel free to censor the output filenames if you'd prefer, but try not to delete any lines.
  • The tsconfig(s) that you pass via the parserOptions.project option
  • Your .eslintrc

Thanks all! 💜

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocked by another issue Issues which are not ready because another issue needs to be resolved first bug Something isn't working meta meta-issues which consolidate many issues together package: typescript-estree Issues related to @typescript-eslint/typescript-estree performance Issues regarding performance
Projects
None yet
Development

No branches or pull requests