--- import Layout from '../../../../layouts/Layout.astro' import Footer from '../../../../components/Footer.astro' const title = `Started migrating some JS projects to TS` const description = `TypeScript is making some good moves recently` let publishedOn = `` const publishDate = `2025-03-13` const publishState = `` const content = `

Started some migrations of JS projects to TypeScript. There are a few moves from TypeScript & node that influenced me to do this:

  1. Node's type stripping - allows execution of TypeScript files that only contains erasable TypeScript syntax.
  2. TypeScript's erasable syntax only - a flag to tell tsc to throw error on syntax that are not erasable (e.g., enums, namespaces, and class parameter properties)
  3. TypeScript native compiler - promises 10x faster typescript compilation
` publishedOn = publishedOn === '' ? publishDate : publishedOn ---

{title}

Published on {publishState}