When developing extensions and theme overrides, developers are free to choose any technology they wish, including TypeScript.
ScandiPWA uses the default Magento 2 cache control mechanism over the X-Magento-Tags-Pattern header.
It provides AddTagsToResponsePlugin to add entity headers to each GraphQL cacheable response.
A custom Cache entity (singleton) is used to gather all entities that were loaded during current request. Flushing happens on the default cache_flush events for most entities. CMS has its own event observers to track response/flush.