You can use TypeScript just for the types and hand the es6 files to Babel after.<p>Also TypeScript existed before Babel and there are some features not supported by Babel (modules, public&#x2F;private). See this issue for more details <a href="https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;issues&#x2F;1641" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;issues&#x2F;1641</a>