Support TypeScript 4.1 via typescript-estree (#9636)
* Update typescript and typescript-estree
* Add AST transformation for TSTemplateLiteralType
* Update tests for template-literal-types
* Fix transformChainExpression
* Update tests for key-remapping-in-mapped-types
* Implement recoverInvalidDecorators
* Update changelog
* Avoid typecheck error
* Add os.platform() shim
* Update config.js
* Update config.js
* Shim os.cpus
* Update `process.versions.node`
* Attempt to fix build
* Update ts parserOptions
* Fix code style
* Remove `errorOnUnknownASTType`, fix code style
* Use `[] ||` instead of `[] //`
* Fix hack
* Add invalid tests
* checkMissingDecorators
* Update tests
* Fix tests
* Add comment
* Revert "Implement recoverInvalidDecorators"
This reverts commit 27e7b46ed41df36fb585791117c85e1b2dab932c.
* Add ref pr link
* Simplify logic
* Don't transform `TSTemplateLiteralType`
* Add `TSTemplateLiteralType` as simple type
* Fix tests
* Update comments
* Add comment
* Fix logic
* Minor tweak
* use multiple parsers
* Update @typescript-eslint/typescript-estree to v4.8.0
* Switch to `parseWithNodeMaps`
* Rename `esNode` -> `esTreeNode`
* Update @typescript-eslint/typescript-estree to 4.8.1-alpha.1
* Use @typescript-eslint/typescript-estree 4.8.1
Co-authored-by: fisker Cheung <lionkay@gmail.com>