summaryrefslogtreecommitdiff
path: root/tests/specs/compile/detect_cjs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-10-14 20:48:39 -0400
committerGitHub <noreply@github.com>2024-10-14 20:48:39 -0400
commit1a0cb5b5312941521ab021cfe9eaed498f35900b (patch)
tree2e5c58e25e8506b993ac678e83ba0c2feac37d75 /tests/specs/compile/detect_cjs
parentee7d4501435f0ebd655c8b50bd6e41ca19e71abc (diff)
feat(unstable): `--unstable-detect-cjs` for respecting explicit `"type": "commonjs"` (#26149)
When using the `--unstable-detect-cjs` flag or adding `"unstable": ["detect-cjs"]` to a deno.json, it will make a JS file CJS if the closest package.json contains `"type": "commonjs"` and the file is not an ESM module (no TLA, no `import.meta`, no `import`/`export`).
Diffstat (limited to 'tests/specs/compile/detect_cjs')
-rw-r--r--tests/specs/compile/detect_cjs/__test__.jsonc24
-rw-r--r--tests/specs/compile/detect_cjs/add.js3
-rw-r--r--tests/specs/compile/detect_cjs/compile.out3
-rw-r--r--tests/specs/compile/detect_cjs/deno.json5
-rw-r--r--tests/specs/compile/detect_cjs/main.js3
-rw-r--r--tests/specs/compile/detect_cjs/output.out1
-rw-r--r--tests/specs/compile/detect_cjs/package.json3
7 files changed, 42 insertions, 0 deletions
diff --git a/tests/specs/compile/detect_cjs/__test__.jsonc b/tests/specs/compile/detect_cjs/__test__.jsonc
new file mode 100644
index 000000000..32bebb7a5
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/__test__.jsonc
@@ -0,0 +1,24 @@
+{
+ "tempDir": true,
+ "steps": [{
+ "if": "unix",
+ "args": "compile --allow-read --output main main.js",
+ "output": "compile.out"
+ }, {
+ "if": "unix",
+ "commandName": "./main",
+ "args": [],
+ "output": "output.out",
+ "exitCode": 1
+ }, {
+ "if": "windows",
+ "args": "compile --allow-read --output main.exe main.js",
+ "output": "compile.out"
+ }, {
+ "if": "windows",
+ "commandName": "./main.exe",
+ "args": [],
+ "output": "output.out",
+ "exitCode": 1
+ }]
+}
diff --git a/tests/specs/compile/detect_cjs/add.js b/tests/specs/compile/detect_cjs/add.js
new file mode 100644
index 000000000..2a886fbc1
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/add.js
@@ -0,0 +1,3 @@
+module.exports.add = function (a, b) {
+ return a + b;
+};
diff --git a/tests/specs/compile/detect_cjs/compile.out b/tests/specs/compile/detect_cjs/compile.out
new file mode 100644
index 000000000..6509b7f29
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/compile.out
@@ -0,0 +1,3 @@
+Warning --unstable-detect-cjs is not properly supported in deno compile. The compiled executable may encounter runtime errors.
+Check file:///[WILDLINE]/main.js
+Compile file:///[WILDLINE]
diff --git a/tests/specs/compile/detect_cjs/deno.json b/tests/specs/compile/detect_cjs/deno.json
new file mode 100644
index 000000000..35f64c86f
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/deno.json
@@ -0,0 +1,5 @@
+{
+ "unstable": [
+ "detect-cjs"
+ ]
+}
diff --git a/tests/specs/compile/detect_cjs/main.js b/tests/specs/compile/detect_cjs/main.js
new file mode 100644
index 000000000..8c55f673b
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/main.js
@@ -0,0 +1,3 @@
+import { add } from "./add.js";
+
+console.log(add(1, 2));
diff --git a/tests/specs/compile/detect_cjs/output.out b/tests/specs/compile/detect_cjs/output.out
new file mode 100644
index 000000000..b53c44369
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/output.out
@@ -0,0 +1 @@
+error: Module not found: file:///[WILDLINE]/add.js
diff --git a/tests/specs/compile/detect_cjs/package.json b/tests/specs/compile/detect_cjs/package.json
new file mode 100644
index 000000000..5bbefffba
--- /dev/null
+++ b/tests/specs/compile/detect_cjs/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "commonjs"
+}