Skip to content

How do I transpile TypeScript to JavaScript with Yarn?

How do I transpile TypeScript code in JavaScript in a project managed by Yarn?

I need Javascript code in order to run it with other compilers (such as GraalVM) and investigate performance.

Answer

You can do it with by adding a build rule to your package.json.

{
  "name": "my-package",
  "scripts": {
    "build": "tsc -p .",
  }
}

Replace . with the path to your tsconfig.json file which, for example, contains the following lines.

{
    "compilerOptions": {
      "target": "ES2019",                       /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
      "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
       "outDir": "./dist",                      /* Redirect output structure to the directory. */
      "strict": true,                           /* Enable all strict type-checking options. */
      "strictNullChecks": true,                 /* Enable strict null checks. */
      "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
      "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
    }
}

Run yarn run build. The transpiled JavaScript files will be in the ./dist directory.