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
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.