Blog post image for Run TypeScript Without Compiling - We can run TypeScript without compiling it to JavaScript. This is useful for debugging and testing. In this post, I will show you how to do it.

Run TypeScript Without Compiling

Introduction

In this post, I will show you how to run TypeScript without compiling it to JavaScript. This is useful for debugging and testing. In this post, I will show you how to do it.

Setup a TypeScript Project

Step 1: Create a Directory

Create a directory for the project.

Terminal window
# Create a directory
mkdir run-typescript-without-compiling
# Change directory
cd run-typescript-without-compiling

Step 2: Initialize a Node.js Project

Initialize a Node.js project.

Terminal window
# Initialize a Node.js project
yarn init -y

Step 3: Install TypeScript and @types/node

Install TypeScript and @types/node.

Terminal window
# Install TypeScript and @types/node
yarn add -D typescript @types/node

Step 4: Initialize a TypeScript Project

Initialize a TypeScript project.

Terminal window
# Initialize a TypeScript project
yarn tsc --init

Step 5: Create a TypeScript File

Create a TypeScript file.

Terminal window
# Create a src directory
mkdir src
# Create a TypeScript file
touch src/index.ts

Step 6: Example Code

Add the following code to the TypeScript file.

src/index.ts
const sum = (a: number, b: number): number => a + b;
const subtract = (a: number, b: number): number => a - b;
const multiply = (a: number, b: number): number => a * b;
const divide = (a: number, b: number): number => a / b;
console.log(sum(1, 2));
console.log(subtract(1, 2));
console.log(multiply(1, 2));
console.log(divide(1, 2));

Step 7: Run the TypeScript File

Now, we will install ts-node and run the TypeScript file.

Terminal window
# Install ts-node
yarn add -D ts-node

Add the following code to the package.json file.

package.json
{
...
"scripts": {
"playground": "ts-node src/index.ts",
"playground:watch": "nodemon -e ts -w . -x esr src/index.ts",
"build": "tsc",
"build:watch": "tsc -w",
"build:debug": "tsc --sourceMap",
"build:debug:watch": "tsc -w --sourceMap",
"start": "node dist/index.js",
"start:watch": "nodemon -e js -w dist -x esr dist/index.js"
},
...
}

Note

nodemon is a utility that will monitor for any changes in your source and automatically restart your server. You can install it using yarn global add nodemon or npm install -g nodemon.

Run the TypeScript file.

Terminal window
# Run the TypeScript file
yarn playground
# Output
3
-1
2
0.5

Conclusion

I demonstrated how to run TypeScript in this article without converting it to JavaScript. For testing and troubleshooting, this is helpful. I demonstrate how to accomplish that in this post.

References

Related Posts

Check out some of our other posts

TypeScript vs. JSDoc: Exploring the Pros and Cons of Static Type Checking in JavaScript

TypeScript vs. JSDoc: Exploring the Pros and Cons of Static Type Checking in JavaScript

TL;DRTypeScript and JSDoc are two tools for static type checking in JavaScript. TypeScript offers a comprehensive type system, advanced features, and strict type checking. JSDoc provides li

The ORM Dilemma: To Use or Not to Use

The ORM Dilemma: To Use or Not to Use

Introduction In the world of software engineering, seasoned professionals are often confronted with pivotal decisions that wield substantial influence over the course and outcome of a project. Amo

Unlocking the Power of React Context API: Demystifying State Management

Unlocking the Power of React Context API: Demystifying State Management

Introduction In the ever-evolving realm of web development, the effective management of application state is a pivotal aspect that can either elevate or hinder your project's success. In this cont

Setting up JWT Authentication in TypeScript with Express, MongoDB, Babel, Prettier, ESLint, and Husky - Part 2

Setting up JWT Authentication in TypeScript with Express, MongoDB, Babel, Prettier, ESLint, and Husky - Part 2

Introduction Why do we even need an authentication mechanism in an application? in my opinion, it doesn't need to be explained. The phrases authentication and authorization have likely crossed you