Search code examples
javascripttypescriptyarnpkg

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.


Solution

  • You can do it 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.