* Control flow for element access expressions
Draft version, just want to see how performance is
* Add baselines
* Fix cast lint
* Cleanup to share code path
* Fix errant diffs
* Parse quoted constructors as constructors, not methods
* Update baselines
* Fix disambiguation between quoted constructor and property named constructor
* Clean up parsing a bit
* Support escapes in constructor name
* Update baselines
* Add remove unnecessary await fix
* Add test for removing unnecessary parens after await is gone
* Fix handling of numbers in property access expressions
* Don’t offer suggestion when awaited type is any/unknown
* Fix random other test
* Fix new expression edge cases
* Only remove parens for identifiers and call expressions
* Move package.json related utils to utilities
* Add failing test
* Make first test pass
* Don’t filter when there’s no package.json, fix scoped package imports
* Use type acquisition as a heuristic for whether a JS project is using node core
* Make same fix in getCompletionDetails
* Fix re-exporting
* Change JS node core module heuristic to same-file utilization
* Remove unused method
* Remove other unused method
* Remove unused triple-slash ref
* Update comment
* Refactor findAlias to forEachAlias to reduce iterations
* Really fix re-exporting
* Use getModuleSpecifier instead of custom hack
* Fix offering auto imports to paths within node modules
* Rename things and make comments better
* Add another reexport test
* Inline `symbolHasBeenSeen`
* Simplify forEachAlias to findAlias
* Add note that symbols is mutated
* Symbol order doesn’t matter here
* Style nits
* Add test with nested package.jsons
* Fix and add tests for export * re-exports
* Start prototyping addMissingAwait codefix
* Filter by diagnostics that have missing-await related info
* Start writing tests and checking precedence
* Implement codeFixAll, add test for binary expressions
* Add test for iterables
* Add test for passing argument
* Add test for call/construct signatures
* Add test for awaiting initializer
* Improve assertion error
* Replace specific property access error with general one and add await related info
* Add test for property access
* Require code to be inside a function body to offer await
* Accept suggestion
Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Add explicit test for code fix being not available unless something is a Promise
* Skip looking for function body if already in AwaitContext flags
* Inline getCodeActions function for symmetry