diff options
| author | David Sherret <dsherret@users.noreply.github.com> | 2024-11-01 12:27:00 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-01 12:27:00 -0400 |
| commit | 826e42a5b5880c974ae019a7a21aade6a718062c (patch) | |
| tree | a46502ecc3c73e4f7fc3a4517d83c7b2f3d0c0d3 /tests/specs/run/cjs | |
| parent | 4774eab64d5176e997b6431f03f075782321b3d9 (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/run/cjs')
| -rw-r--r-- | tests/specs/run/cjs/main_module/__test__.jsonc | 4 | ||||
| -rw-r--r-- | tests/specs/run/cjs/main_module/main.cjs | 1 | ||||
| -rw-r--r-- | tests/specs/run/cjs/main_module/main.out | 5 | ||||
| -rw-r--r-- | tests/specs/run/cjs/reexport_non_analyzable/__test__.jsonc | 9 | ||||
| -rw-r--r-- | tests/specs/run/cjs/reexport_non_analyzable/deno.json | 3 | ||||
| -rw-r--r-- | tests/specs/run/cjs/reexport_non_analyzable/main.ts | 3 | ||||
| -rw-r--r-- | tests/specs/run/cjs/reexport_non_analyzable/node_modules/foo.cjs | 5 | ||||
| -rw-r--r-- | tests/specs/run/cjs/unprepared/__test__.jsonc | 4 | ||||
| -rw-r--r-- | tests/specs/run/cjs/unprepared/file.cjs | 7 | ||||
| -rw-r--r-- | tests/specs/run/cjs/unprepared/main.out | 1 | ||||
| -rw-r--r-- | tests/specs/run/cjs/unprepared/main.ts | 7 | ||||
| -rw-r--r-- | tests/specs/run/cjs/unprepared/output.cjs | 3 |
12 files changed, 52 insertions, 0 deletions
diff --git a/tests/specs/run/cjs/main_module/__test__.jsonc b/tests/specs/run/cjs/main_module/__test__.jsonc new file mode 100644 index 000000000..e756a6362 --- /dev/null +++ b/tests/specs/run/cjs/main_module/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run --allow-read main.cjs", + "output": "main.out" +} diff --git a/tests/specs/run/cjs/main_module/main.cjs b/tests/specs/run/cjs/main_module/main.cjs new file mode 100644 index 000000000..2a4c57ab1 --- /dev/null +++ b/tests/specs/run/cjs/main_module/main.cjs @@ -0,0 +1 @@ +console.log(require.main); diff --git a/tests/specs/run/cjs/main_module/main.out b/tests/specs/run/cjs/main_module/main.out new file mode 100644 index 000000000..93b86d27e --- /dev/null +++ b/tests/specs/run/cjs/main_module/main.out @@ -0,0 +1,5 @@ +Module { + id: ".", + [WILDCARD] + filename: "[WILDCARD]main.cjs", +[WILDCARD]
\ No newline at end of file diff --git a/tests/specs/run/cjs/reexport_non_analyzable/__test__.jsonc b/tests/specs/run/cjs/reexport_non_analyzable/__test__.jsonc new file mode 100644 index 000000000..81f29b685 --- /dev/null +++ b/tests/specs/run/cjs/reexport_non_analyzable/__test__.jsonc @@ -0,0 +1,9 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "run -A main.ts", + "output": "" + } + ] +} diff --git a/tests/specs/run/cjs/reexport_non_analyzable/deno.json b/tests/specs/run/cjs/reexport_non_analyzable/deno.json new file mode 100644 index 000000000..fde86a1ef --- /dev/null +++ b/tests/specs/run/cjs/reexport_non_analyzable/deno.json @@ -0,0 +1,3 @@ +{ + "nodeModulesDir": "manual" +} diff --git a/tests/specs/run/cjs/reexport_non_analyzable/main.ts b/tests/specs/run/cjs/reexport_non_analyzable/main.ts new file mode 100644 index 000000000..a9e32af4e --- /dev/null +++ b/tests/specs/run/cjs/reexport_non_analyzable/main.ts @@ -0,0 +1,3 @@ +import assert from "./node_modules/foo.cjs"; + +assert.equal(1 + 1, 2); diff --git a/tests/specs/run/cjs/reexport_non_analyzable/node_modules/foo.cjs b/tests/specs/run/cjs/reexport_non_analyzable/node_modules/foo.cjs new file mode 100644 index 000000000..924d8a96a --- /dev/null +++ b/tests/specs/run/cjs/reexport_non_analyzable/node_modules/foo.cjs @@ -0,0 +1,5 @@ +try { + module.exports = require("nonexistent"); +} catch(_e) { + module.exports = require("assert"); +} diff --git a/tests/specs/run/cjs/unprepared/__test__.jsonc b/tests/specs/run/cjs/unprepared/__test__.jsonc new file mode 100644 index 000000000..f816bad86 --- /dev/null +++ b/tests/specs/run/cjs/unprepared/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run -A main.ts", + "output": "main.out" +} diff --git a/tests/specs/run/cjs/unprepared/file.cjs b/tests/specs/run/cjs/unprepared/file.cjs new file mode 100644 index 000000000..ba0c6fa6f --- /dev/null +++ b/tests/specs/run/cjs/unprepared/file.cjs @@ -0,0 +1,7 @@ +// non-analyzable +const moduleName = "./output.cjs"; +function getModuleName() { + return moduleName; +} + +require(getModuleName()); diff --git a/tests/specs/run/cjs/unprepared/main.out b/tests/specs/run/cjs/unprepared/main.out new file mode 100644 index 000000000..e965047ad --- /dev/null +++ b/tests/specs/run/cjs/unprepared/main.out @@ -0,0 +1 @@ +Hello diff --git a/tests/specs/run/cjs/unprepared/main.ts b/tests/specs/run/cjs/unprepared/main.ts new file mode 100644 index 000000000..5630b4fbc --- /dev/null +++ b/tests/specs/run/cjs/unprepared/main.ts @@ -0,0 +1,7 @@ +// non-analyzable +const moduleName = "./output.cjs"; +function getModuleName() { + return moduleName; +} + +await import(getModuleName()); diff --git a/tests/specs/run/cjs/unprepared/output.cjs b/tests/specs/run/cjs/unprepared/output.cjs new file mode 100644 index 000000000..54ed3702f --- /dev/null +++ b/tests/specs/run/cjs/unprepared/output.cjs @@ -0,0 +1,3 @@ +console.log("Hello"); + +module.exports = 1; |
