{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/flow/issues/5819","repository_url":"https://api.github.com/repos/facebook/flow","labels_url":"https://api.github.com/repos/facebook/flow/issues/5819/labels{/name}","comments_url":"https://api.github.com/repos/facebook/flow/issues/5819/comments","events_url":"https://api.github.com/repos/facebook/flow/issues/5819/events","html_url":"https://github.com/facebook/flow/issues/5819","id":297426129,"number":5819,"title":"In a large codebase with several errors, Flow reports \"No errors!\" until triggered by a watch event to recheck","user":{"login":"callumlocke","id":250617,"avatar_url":"https://avatars2.githubusercontent.com/u/250617?v=4","gravatar_id":"","url":"https://api.github.com/users/callumlocke","html_url":"https://github.com/callumlocke","followers_url":"https://api.github.com/users/callumlocke/followers","following_url":"https://api.github.com/users/callumlocke/following{/other_user}","gists_url":"https://api.github.com/users/callumlocke/gists{/gist_id}","starred_url":"https://api.github.com/users/callumlocke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/callumlocke/subscriptions","organizations_url":"https://api.github.com/users/callumlocke/orgs","repos_url":"https://api.github.com/users/callumlocke/repos","events_url":"https://api.github.com/users/callumlocke/events{/privacy}","received_events_url":"https://api.github.com/users/callumlocke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-15T12:19:04Z","updated_at":"2018-02-17T00:38:32Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"We've been using Flow in a fairly large codebase (flow says it parses 50344 files, including node modules), for a year or so. Unfortunately it's closed source so I can't share it.\r\n\r\nIn the last few weeks, Flow has started behaving strangely when I follow these steps:\r\n\r\n- Run `flow stop && flow` – it performs a check lasting several seconds, and eventually reports `No errors!`\r\n- Edit a *comment* in a random file somewhere in our codebase (just to trigger a filesystem watch event)\r\n- Run `flow` – now it reports a bunch of errors that weren't reported before (in various files, not necessarily connected to the one you edited).\r\n- Run `flow stop && flow` again, and the errors go away.\r\n\r\nThe errors appear to be real type errors in our code. So why didn't Flow notice them before? Some of these errors turn out to have existed in our codebase for months. They just never got reported until now, and still often don't get reported until seemingly random events. Then what's extra weird is, if we fix those errors and perform the above steps again, `flow` eventually finds more errors in other files, which it didn't report before. It's as if Flow is reaching some kind of internal limit on how many files it can traverse, and gives up after a while and just says `No errors!`\r\n\r\n---\r\n\r\nEDIT: just to clarify, running `flow check` also results in `No errors!`. The only way to see the errors is to run `flow` to get a server going, then edit a file to trigger a recheck, then run `flow` again to see the status. Also, if you do further no-change edits to other files, it sometimes finds even more errors in still other files."},"comment":{"url":"https://api.github.com/repos/facebook/flow/issues/comments/366398460","html_url":"https://github.com/facebook/flow/issues/5819#issuecomment-366398460","issue_url":"https://api.github.com/repos/facebook/flow/issues/5819","id":366398460,"user":{"login":"aikar","id":58008,"avatar_url":"https://avatars1.githubusercontent.com/u/58008?v=4","gravatar_id":"","url":"https://api.github.com/users/aikar","html_url":"https://github.com/aikar","followers_url":"https://api.github.com/users/aikar/followers","following_url":"https://api.github.com/users/aikar/following{/other_user}","gists_url":"https://api.github.com/users/aikar/gists{/gist_id}","starred_url":"https://api.github.com/users/aikar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aikar/subscriptions","organizations_url":"https://api.github.com/users/aikar/orgs","repos_url":"https://api.github.com/users/aikar/repos","events_url":"https://api.github.com/users/aikar/events{/privacy}","received_events_url":"https://api.github.com/users/aikar/received_events","type":"User","site_admin":false},"created_at":"2018-02-17T00:38:32Z","updated_at":"2018-02-17T00:38:32Z","author_association":"NONE","body":"```\r\n[ignore]\r\n<PROJECT_ROOT>/dist/\r\n\r\n[include]\r\n<PROJECT_ROOT>/src/\r\n\r\n[libs]\r\n<PROJECT_ROOT>/flow-typed/\r\n\r\n[options]\r\nmodule.ignore_non_literal_requires=true\r\n```\r\n\r\nMine's pretty trivial."}}
{"actor":{"display_login":"aikar"}}