summaryrefslogtreecommitdiff
path: root/tests/specs/compile/cjs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-11-01 12:27:00 -0400
committerGitHub <noreply@github.com>2024-11-01 12:27:00 -0400
commit826e42a5b5880c974ae019a7a21aade6a718062c (patch)
treea46502ecc3c73e4f7fc3a4517d83c7b2f3d0c0d3 /tests/specs/compile/cjs
parent4774eab64d5176e997b6431f03f075782321b3d9 (diff)
fix: improved support for cjs and cts modules (#26558)
* cts support * better cjs/cts type checking * deno compile cjs/cts support * More efficient detect cjs (going towards stabilization) * Determination of whether .js, .ts, .jsx, or .tsx is cjs or esm is only done after loading * Support `import x = require(...);` Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Diffstat (limited to 'tests/specs/compile/cjs')
-rw-r--r--tests/specs/compile/cjs/__test__.jsonc24
-rw-r--r--tests/specs/compile/cjs/add.cjs1
-rw-r--r--tests/specs/compile/cjs/divide.cts1
-rw-r--r--tests/specs/compile/cjs/main.js5
-rw-r--r--tests/specs/compile/cjs/multiply.cts4
-rw-r--r--tests/specs/compile/cjs/output.out2
-rw-r--r--tests/specs/compile/cjs/reexport.cjs1
7 files changed, 38 insertions, 0 deletions
diff --git a/tests/specs/compile/cjs/__test__.jsonc b/tests/specs/compile/cjs/__test__.jsonc
new file mode 100644
index 000000000..9bdcf4724
--- /dev/null
+++ b/tests/specs/compile/cjs/__test__.jsonc
@@ -0,0 +1,24 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "if": "unix",
+ "args": "compile --output main main.js",
+ "output": "[WILDCARD]"
+ }, {
+ "if": "unix",
+ "commandName": "./main",
+ "args": [],
+ "output": "output.out",
+ "exitCode": 0
+ }, {
+ "if": "windows",
+ "args": "compile --output main.exe main.js",
+ "output": "[WILDCARD]"
+ }, {
+ "if": "windows",
+ "commandName": "./main.exe",
+ "args": [],
+ "output": "output.out",
+ "exitCode": 0
+ }]
+}
diff --git a/tests/specs/compile/cjs/add.cjs b/tests/specs/compile/cjs/add.cjs
new file mode 100644
index 000000000..bf9060126
--- /dev/null
+++ b/tests/specs/compile/cjs/add.cjs
@@ -0,0 +1 @@
+module.exports = (a, b) => a + b;
diff --git a/tests/specs/compile/cjs/divide.cts b/tests/specs/compile/cjs/divide.cts
new file mode 100644
index 000000000..d89a600a4
--- /dev/null
+++ b/tests/specs/compile/cjs/divide.cts
@@ -0,0 +1 @@
+module.exports.divide = (a: number, b: number) => a / b;
diff --git a/tests/specs/compile/cjs/main.js b/tests/specs/compile/cjs/main.js
new file mode 100644
index 000000000..c2a8c7be0
--- /dev/null
+++ b/tests/specs/compile/cjs/main.js
@@ -0,0 +1,5 @@
+import { add } from "./reexport.cjs";
+import { multiply } from "./multiply.cts";
+
+console.log(add(1, 2));
+console.log(multiply(2, 3));
diff --git a/tests/specs/compile/cjs/multiply.cts b/tests/specs/compile/cjs/multiply.cts
new file mode 100644
index 000000000..3c0618cfc
--- /dev/null
+++ b/tests/specs/compile/cjs/multiply.cts
@@ -0,0 +1,4 @@
+/// <reference types="npm:@types/node" />
+exports.multiply = function (a: number, b: number): number {
+ return require("./divide.cts").divide(a, 1 / b);
+};
diff --git a/tests/specs/compile/cjs/output.out b/tests/specs/compile/cjs/output.out
new file mode 100644
index 000000000..2559e5c49
--- /dev/null
+++ b/tests/specs/compile/cjs/output.out
@@ -0,0 +1,2 @@
+3
+6
diff --git a/tests/specs/compile/cjs/reexport.cjs b/tests/specs/compile/cjs/reexport.cjs
new file mode 100644
index 000000000..af7cecfdf
--- /dev/null
+++ b/tests/specs/compile/cjs/reexport.cjs
@@ -0,0 +1 @@
+module.exports.add = require("./add.cjs");