Sets the module system for the program. See the Modules reference page for more information. You very likely want "CommonJS" for node projects.
Changing module affects moduleResolution which also has a reference page.
Here's some example output for this file:
ts
// @filename: constants.ts
export const valueOfPi = 3.142;
// ---cut---
// @filename: index.ts
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @filename: constants.ts
export const valueOfPi = 3.142;
// ---cut---
// @filename: index.ts
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;CommonJS
ts
// @showEmit
// @module: commonjs
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: commonjs
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;UMD
ts
// @showEmit
// @module: umd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: umd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;AMD
ts
// @showEmit
// @module: amd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: amd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;System
ts
// @showEmit
// @module: system
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: system
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;ESNext
ts
// @showEmit
// @module: esnext
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: esnext
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;ES2020
ts
// @showEmit
// @module: es2020
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: es2020
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;ES2015/ES6
ts
// @showEmit
// @module: es2015
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: es2015
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;If you are wondering about the difference between ES2015 (aka ES6) and ES2020, ES2020 adds support for dynamic imports, and i.
node16/nodenext (nightly builds)
Available from 4.7+, the node16 and nodenext modes integrate with Node's native ECMAScript Module support. The emitted JavaScript uses either CommonJS or ES2020 output depending on the file extension and the value of the type setting in the nearest package.json. Module resolution also works differently. You can learn more in the handbook.
None
ts
// @showEmit
// @module: none
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;// @showEmit
// @module: none
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;