TypeScript

From Organic Design wiki
Revision as of 01:10, 5 September 2022 by Saul (talk | contribs) (Create page with notes.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Configuration

TypeScript configuration is done through the .tsconfig.json file in the root directory of your project. Your config file should look like the following:

{
	"compilerOptions": {
		"target": "es2022"
	},

	"include": [
		"./src/**/*.ts"
	],

	"exclude": [
		"node_modules"
	]
}
<source>

The '''target''' option is the ECMAScript version your source files are written in.

== ts-node ==
'''ts-node''' is a variation of '''node''' that automatically compiles the TypeScript file to JavaScript before executing dropping the need to transpile the code first.

== SWC ==
[https://swc.rs/ SWC] is a fast rust based compiler for TypeScript. To use the SWC compiler you need to add it to your project:

<source lang="bash">
npm i --save-dev @swc/core

Then enable it in your TypeScript config:

{
	"ts-node": {
		"swc": true
	}
}

CJS

CommonJS is the default module system in TypeScript but if you want to set it explicitly you use the following settings in your TypeScript config:

{
	"compilerOptions": {
		"module": "commonjs"
	}
}

ESM

To make TypeScript transpile to ESM you need to specify a version ECMAScript that supports it in your TypeScript config:

{
	"compilerOptions": {
		"module": "es2022",
		"esModuleInterop": true
	}

	"ts-node": {
		"esm": true
	}
}