Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions packages/documentation/copy/en/modules-reference/Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,12 @@ The detected module format of input `.ts`/`.tsx`/`.mts`/`.cts` files determines
The emit format of each file is determined by the [detected module format](#module-format-detection) of each file. ESM emit is similar to [`--module esnext`](#es2015-es2020-es2022-esnext), but has a special transformation for `import x = require("...")`, which is not allowed in `--module esnext`:

```ts
// @Filename: main.ts
import x = require("mod");
```

```js
// @Filename: main.js
import { createRequire as _createRequire } from "module";
const __require = _createRequire(import.meta.url);
const x = __require("mod");
Expand All @@ -243,11 +245,13 @@ const x = __require("mod");
CommonJS emit is similar to [`--module commonjs`](#commonjs), but dynamic `import()` calls are not transformed. Emit here is shown with `esModuleInterop` enabled:

```ts
// @Filename: main.ts
import fs from "fs"; // transformed
const dynamic = import("mod"); // not transformed
```

```js
// @Filename: main.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
Expand Down Expand Up @@ -287,6 +291,7 @@ const dynamic = import("mod"); // not transformed
#### Examples

```ts
// @Filename: main.ts
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -297,6 +302,7 @@ export default "default export";
```

```js
// @Filename: main.js
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -320,6 +326,7 @@ export default "default export";
> Output is shown with `esModuleInterop: false`.

```ts
// @Filename: main.ts
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -330,6 +337,7 @@ export default "default export";
```

```js
// @Filename: main.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.e1 = void 0;
Expand All @@ -343,6 +351,7 @@ exports.default = "default export";
```

```ts
// @Filename: main.ts
import mod = require("mod");
console.log(mod);

Expand All @@ -353,6 +362,7 @@ export = {
```

```js
// @Filename: main.js
"use strict";
const mod = require("mod");
console.log(mod);
Expand All @@ -372,6 +382,7 @@ module.exports = {
#### Examples

```ts
// @Filename: main.ts
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -382,6 +393,7 @@ export default "default export";
```

```js
// @Filename: main.js
System.register(["mod"], function (exports_1, context_1) {
"use strict";
var mod_1, mod, dynamic, e1;
Expand Down Expand Up @@ -415,6 +427,7 @@ System.register(["mod"], function (exports_1, context_1) {
#### Examples

```ts
// @Filename: main.ts
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -425,6 +438,7 @@ export default "default export";
```

```js
// @Filename: main.js
define(["require", "exports", "mod", "mod"], function (require, exports, mod_1, mod) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
Expand All @@ -449,6 +463,7 @@ define(["require", "exports", "mod", "mod"], function (require, exports, mod_1,
#### Examples

```ts
// @Filename: main.ts
import x, { y, z } from "mod";
import * as mod from "mod";
const dynamic = import("mod");
Expand All @@ -459,6 +474,7 @@ export default "default export";
```

```js
// @Filename: main.js
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
Expand Down