summaryrefslogtreecommitdiff
path: root/tests/specs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs')
-rw-r--r--tests/specs/compile/detect_cjs/deno.json5
-rw-r--r--tests/specs/compile/package_json_type/__test__.jsonc (renamed from tests/specs/compile/detect_cjs/__test__.jsonc)0
-rw-r--r--tests/specs/compile/package_json_type/add.js (renamed from tests/specs/compile/detect_cjs/add.js)0
-rw-r--r--tests/specs/compile/package_json_type/compile.out (renamed from tests/specs/compile/detect_cjs/compile.out)0
-rw-r--r--tests/specs/compile/package_json_type/main.js (renamed from tests/specs/compile/detect_cjs/main.js)0
-rw-r--r--tests/specs/compile/package_json_type/output.out (renamed from tests/specs/compile/detect_cjs/output.out)0
-rw-r--r--tests/specs/compile/package_json_type/package.json (renamed from tests/specs/compile/detect_cjs/package.json)0
-rw-r--r--tests/specs/compile/package_json_type/subtract.ts (renamed from tests/specs/compile/detect_cjs/subtract.ts)0
-rw-r--r--tests/specs/eval/pkg_json_type_cjs/__test__.jsonc4
-rw-r--r--tests/specs/eval/pkg_json_type_cjs/package.json3
-rw-r--r--tests/specs/install/scripts_install_launch_cjs_temp_dir/__test__.jsonc5
-rw-r--r--tests/specs/install/scripts_install_launch_cjs_temp_dir/output.out4
-rw-r--r--tests/specs/install/scripts_install_launch_cjs_temp_dir/package.json5
-rw-r--r--tests/specs/install/scripts_install_no_ext/__test__.jsonc5
-rw-r--r--tests/specs/install/scripts_install_no_ext/output.out4
-rw-r--r--tests/specs/install/scripts_install_no_ext/package.json5
-rw-r--r--tests/specs/mod.rs20
-rw-r--r--tests/specs/npm/dual_cjs_esm/__test__.jsonc4
-rw-r--r--tests/specs/npm/dual_cjs_esm/cjs_referrer/__test__.jsonc14
-rw-r--r--tests/specs/npm/dual_cjs_esm/cjs_referrer/check.out8
-rw-r--r--tests/specs/npm/dual_cjs_esm/cjs_referrer/main.cts4
-rw-r--r--tests/specs/npm/dual_cjs_esm/cjs_referrer/main.out4
-rw-r--r--tests/specs/npm/dual_cjs_esm/cjs_referrer/package.json5
-rw-r--r--tests/specs/npm/dual_cjs_esm/esm_referrer/__test__.jsonc4
-rw-r--r--tests/specs/npm/dual_cjs_esm/esm_referrer/main.out (renamed from tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.out)0
-rw-r--r--tests/specs/npm/dual_cjs_esm/esm_referrer/main.ts (renamed from tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.ts)0
-rw-r--r--tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/__test__.jsonc14
-rw-r--r--tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/check.out8
-rw-r--r--tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.out4
-rw-r--r--tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.ts4
-rw-r--r--tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/package.json6
-rw-r--r--tests/specs/npm/permissions_outside_package/__test__.jsonc5
-rw-r--r--tests/specs/npm/permissions_outside_package/foo/config.js (renamed from tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/config.js)0
-rw-r--r--tests/specs/npm/permissions_outside_package/foo/package.json5
-rw-r--r--tests/specs/npm/permissions_outside_package/main.out (renamed from tests/specs/npm/permissions_outside_package/permissions_outside_package/main.out)0
-rw-r--r--tests/specs/npm/permissions_outside_package/main.ts (renamed from tests/specs/npm/permissions_outside_package/permissions_outside_package/main.ts)2
-rw-r--r--tests/specs/npm/permissions_outside_package/package.json2
-rw-r--r--tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/package.json4
-rw-r--r--tests/specs/run/import_common_js/__test__.jsonc20
-rw-r--r--tests/specs/run/import_common_js/a.js7
-rw-r--r--tests/specs/run/import_common_js/exports_error.out7
-rw-r--r--tests/specs/run/import_common_js/index.cjs2
-rw-r--r--tests/specs/run/import_common_js/index.out2
-rw-r--r--tests/specs/run/import_common_js/main.out2
-rw-r--r--tests/specs/run/import_common_js/module_error.out7
-rw-r--r--tests/specs/run/import_common_js/node_modules/foo/index.mjs1
-rw-r--r--tests/specs/run/import_common_js/require_error.out7
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/__test__.jsonc5
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/file.js1
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/logs_require.js1
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/main.js5
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/index.js3
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/package.json4
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/output.out12
-rw-r--r--tests/specs/run/npm_pkg_requires_esm_js/package.json0
-rw-r--r--tests/specs/run/package_json_type/commonjs/basic/deno.jsonc5
-rw-r--r--tests/specs/run/package_json_type/commonjs/basic/main_mix.out7
-rw-r--r--tests/specs/run/package_json_type/commonjs/jsx/deno.jsonc5
-rw-r--r--tests/specs/run/package_json_type/none/deno.jsonc5
-rw-r--r--tests/specs/run/package_json_type/none/main_cjs.out7
-rw-r--r--tests/specs/run/require_esm/main.out11
-rw-r--r--tests/specs/run/stdin_type_cjs/__test__.jsonc5
-rw-r--r--tests/specs/run/stdin_type_cjs/package.json3
-rw-r--r--tests/specs/run/stdin_type_cjs/stdin_read_all.ts1
-rw-r--r--tests/specs/schema.json3
65 files changed, 215 insertions, 80 deletions
diff --git a/tests/specs/compile/detect_cjs/deno.json b/tests/specs/compile/detect_cjs/deno.json
deleted file mode 100644
index 35f64c86f..000000000
--- a/tests/specs/compile/detect_cjs/deno.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "unstable": [
- "detect-cjs"
- ]
-}
diff --git a/tests/specs/compile/detect_cjs/__test__.jsonc b/tests/specs/compile/package_json_type/__test__.jsonc
index 0abf121f0..0abf121f0 100644
--- a/tests/specs/compile/detect_cjs/__test__.jsonc
+++ b/tests/specs/compile/package_json_type/__test__.jsonc
diff --git a/tests/specs/compile/detect_cjs/add.js b/tests/specs/compile/package_json_type/add.js
index 94b0263f0..94b0263f0 100644
--- a/tests/specs/compile/detect_cjs/add.js
+++ b/tests/specs/compile/package_json_type/add.js
diff --git a/tests/specs/compile/detect_cjs/compile.out b/tests/specs/compile/package_json_type/compile.out
index 913e363c3..913e363c3 100644
--- a/tests/specs/compile/detect_cjs/compile.out
+++ b/tests/specs/compile/package_json_type/compile.out
diff --git a/tests/specs/compile/detect_cjs/main.js b/tests/specs/compile/package_json_type/main.js
index 8c55f673b..8c55f673b 100644
--- a/tests/specs/compile/detect_cjs/main.js
+++ b/tests/specs/compile/package_json_type/main.js
diff --git a/tests/specs/compile/detect_cjs/output.out b/tests/specs/compile/package_json_type/output.out
index 00750edc0..00750edc0 100644
--- a/tests/specs/compile/detect_cjs/output.out
+++ b/tests/specs/compile/package_json_type/output.out
diff --git a/tests/specs/compile/detect_cjs/package.json b/tests/specs/compile/package_json_type/package.json
index 6e65b32ed..6e65b32ed 100644
--- a/tests/specs/compile/detect_cjs/package.json
+++ b/tests/specs/compile/package_json_type/package.json
diff --git a/tests/specs/compile/detect_cjs/subtract.ts b/tests/specs/compile/package_json_type/subtract.ts
index e4f6760b7..e4f6760b7 100644
--- a/tests/specs/compile/detect_cjs/subtract.ts
+++ b/tests/specs/compile/package_json_type/subtract.ts
diff --git a/tests/specs/eval/pkg_json_type_cjs/__test__.jsonc b/tests/specs/eval/pkg_json_type_cjs/__test__.jsonc
new file mode 100644
index 000000000..cd3804d77
--- /dev/null
+++ b/tests/specs/eval/pkg_json_type_cjs/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "eval console.log(1)",
+ "output": "1\n"
+}
diff --git a/tests/specs/eval/pkg_json_type_cjs/package.json b/tests/specs/eval/pkg_json_type_cjs/package.json
new file mode 100644
index 000000000..5bbefffba
--- /dev/null
+++ b/tests/specs/eval/pkg_json_type_cjs/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "commonjs"
+}
diff --git a/tests/specs/install/scripts_install_launch_cjs_temp_dir/__test__.jsonc b/tests/specs/install/scripts_install_launch_cjs_temp_dir/__test__.jsonc
new file mode 100644
index 000000000..087d08eff
--- /dev/null
+++ b/tests/specs/install/scripts_install_launch_cjs_temp_dir/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "tempDir": true,
+ "args": "install --allow-scripts",
+ "output": "output.out"
+}
diff --git a/tests/specs/install/scripts_install_launch_cjs_temp_dir/output.out b/tests/specs/install/scripts_install_launch_cjs_temp_dir/output.out
new file mode 100644
index 000000000..d5f06cc6e
--- /dev/null
+++ b/tests/specs/install/scripts_install_launch_cjs_temp_dir/output.out
@@ -0,0 +1,4 @@
+Download http://localhost:4260/@denotest%2finstall-launch-cjs-temp-dir
+Download http://localhost:4260/@denotest/install-launch-cjs-temp-dir/1.0.0.tgz
+Initialize @denotest/install-launch-cjs-temp-dir@1.0.0
+Initialize @denotest/install-launch-cjs-temp-dir@1.0.0: running 'install' script
diff --git a/tests/specs/install/scripts_install_launch_cjs_temp_dir/package.json b/tests/specs/install/scripts_install_launch_cjs_temp_dir/package.json
new file mode 100644
index 000000000..71672f9bc
--- /dev/null
+++ b/tests/specs/install/scripts_install_launch_cjs_temp_dir/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@denotest/install-launch-cjs-temp-dir": "*"
+ }
+}
diff --git a/tests/specs/install/scripts_install_no_ext/__test__.jsonc b/tests/specs/install/scripts_install_no_ext/__test__.jsonc
new file mode 100644
index 000000000..087d08eff
--- /dev/null
+++ b/tests/specs/install/scripts_install_no_ext/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "tempDir": true,
+ "args": "install --allow-scripts",
+ "output": "output.out"
+}
diff --git a/tests/specs/install/scripts_install_no_ext/output.out b/tests/specs/install/scripts_install_no_ext/output.out
new file mode 100644
index 000000000..074e97812
--- /dev/null
+++ b/tests/specs/install/scripts_install_no_ext/output.out
@@ -0,0 +1,4 @@
+Download http://localhost:4260/@denotest%2finstall-no-ext
+Download http://localhost:4260/@denotest/install-no-ext/1.0.0.tgz
+Initialize @denotest/install-no-ext@1.0.0
+Initialize @denotest/install-no-ext@1.0.0: running 'install' script
diff --git a/tests/specs/install/scripts_install_no_ext/package.json b/tests/specs/install/scripts_install_no_ext/package.json
new file mode 100644
index 000000000..7ac9ca6b2
--- /dev/null
+++ b/tests/specs/install/scripts_install_no_ext/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@denotest/install-no-ext": "*"
+ }
+}
diff --git a/tests/specs/mod.rs b/tests/specs/mod.rs
index 34221dd9d..b4c8781d3 100644
--- a/tests/specs/mod.rs
+++ b/tests/specs/mod.rs
@@ -119,6 +119,9 @@ struct MultiStepMetaData {
/// steps.
#[serde(default)]
pub temp_dir: bool,
+ /// Whether the temporary directory should be symlinked to another path.
+ #[serde(default)]
+ pub symlinked_temp_dir: bool,
/// The base environment to use for the test.
#[serde(default)]
pub base: Option<String>,
@@ -142,6 +145,8 @@ struct SingleTestMetaData {
#[serde(default)]
pub temp_dir: bool,
#[serde(default)]
+ pub symlinked_temp_dir: bool,
+ #[serde(default)]
pub repeat: Option<usize>,
#[serde(flatten)]
pub step: StepMetaData,
@@ -155,6 +160,7 @@ impl SingleTestMetaData {
base: self.base,
cwd: None,
temp_dir: self.temp_dir,
+ symlinked_temp_dir: self.symlinked_temp_dir,
repeat: self.repeat,
envs: Default::default(),
steps: vec![self.step],
@@ -330,6 +336,20 @@ fn test_context_from_metadata(
builder = builder.cwd(cwd.to_string_lossy());
}
+ if metadata.symlinked_temp_dir {
+ // not actually deprecated, we just want to discourage its use
+ // because it's mostly used for testing purposes locally
+ #[allow(deprecated)]
+ {
+ builder = builder.use_symlinked_temp_dir();
+ }
+ if cfg!(not(debug_assertions)) {
+ // panic to prevent using this on the CI as CI already uses
+ // a symlinked temp directory for every test
+ panic!("Cannot use symlinkedTempDir in release mode");
+ }
+ }
+
match &metadata.base {
// todo(dsherret): add bases in the future as needed
Some(base) => panic!("Unknown test base: {}", base),
diff --git a/tests/specs/npm/dual_cjs_esm/__test__.jsonc b/tests/specs/npm/dual_cjs_esm/__test__.jsonc
deleted file mode 100644
index f2b0d694e..000000000
--- a/tests/specs/npm/dual_cjs_esm/__test__.jsonc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "args": "run -A --quiet dual_cjs_esm/main.ts",
- "output": "dual_cjs_esm/main.out"
-}
diff --git a/tests/specs/npm/dual_cjs_esm/cjs_referrer/__test__.jsonc b/tests/specs/npm/dual_cjs_esm/cjs_referrer/__test__.jsonc
new file mode 100644
index 000000000..de2c1a0bc
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/cjs_referrer/__test__.jsonc
@@ -0,0 +1,14 @@
+{
+ "tempDir": true,
+ "tests": {
+ "check": {
+ "args": "check --node-modules-dir=auto main.cts",
+ "output": "check.out",
+ "exitCode": 1
+ },
+ "run": {
+ "args": "run --node-modules-dir=auto --allow-read main.cts",
+ "output": "main.out"
+ }
+ }
+}
diff --git a/tests/specs/npm/dual_cjs_esm/cjs_referrer/check.out b/tests/specs/npm/dual_cjs_esm/cjs_referrer/check.out
new file mode 100644
index 000000000..267d31fb7
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/cjs_referrer/check.out
@@ -0,0 +1,8 @@
+Download http://localhost:4260/@denotest%2fdual-cjs-esm
+Download http://localhost:4260/@denotest/dual-cjs-esm/1.0.0.tgz
+Initialize @denotest/dual-cjs-esm@1.0.0
+Check file:///[WILDLINE]/main.cts
+error: TS2322 [ERROR]: Type '"cjs"' is not assignable to type '"other"'.
+const kind: "other" = mod.getKind();
+ ~~~~
+ at file:///[WILDLINE]/main.cts:3:7
diff --git a/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.cts b/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.cts
new file mode 100644
index 000000000..b8dd343f8
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.cts
@@ -0,0 +1,4 @@
+import mod = require("@denotest/dual-cjs-esm");
+
+const kind: "other" = mod.getKind();
+console.log(kind);
diff --git a/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.out b/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.out
new file mode 100644
index 000000000..62ddbf479
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/cjs_referrer/main.out
@@ -0,0 +1,4 @@
+Download http://localhost:4260/@denotest%2fdual-cjs-esm
+Download http://localhost:4260/@denotest/dual-cjs-esm/1.0.0.tgz
+Initialize @denotest/dual-cjs-esm@1.0.0
+cjs
diff --git a/tests/specs/npm/dual_cjs_esm/cjs_referrer/package.json b/tests/specs/npm/dual_cjs_esm/cjs_referrer/package.json
new file mode 100644
index 000000000..e1b1e1a5f
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/cjs_referrer/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@denotest/dual-cjs-esm": "*"
+ }
+}
diff --git a/tests/specs/npm/dual_cjs_esm/esm_referrer/__test__.jsonc b/tests/specs/npm/dual_cjs_esm/esm_referrer/__test__.jsonc
new file mode 100644
index 000000000..0ef147253
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/esm_referrer/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run -A --quiet main.ts",
+ "output": "main.out"
+}
diff --git a/tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.out b/tests/specs/npm/dual_cjs_esm/esm_referrer/main.out
index 32e232f11..32e232f11 100644
--- a/tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.out
+++ b/tests/specs/npm/dual_cjs_esm/esm_referrer/main.out
diff --git a/tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.ts b/tests/specs/npm/dual_cjs_esm/esm_referrer/main.ts
index 4f3b79667..4f3b79667 100644
--- a/tests/specs/npm/dual_cjs_esm/dual_cjs_esm/main.ts
+++ b/tests/specs/npm/dual_cjs_esm/esm_referrer/main.ts
diff --git a/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/__test__.jsonc b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/__test__.jsonc
new file mode 100644
index 000000000..cf19217d1
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/__test__.jsonc
@@ -0,0 +1,14 @@
+{
+ "tempDir": true,
+ "tests": {
+ "check": {
+ "args": "check --node-modules-dir=auto main.ts",
+ "output": "check.out",
+ "exitCode": 1
+ },
+ "run": {
+ "args": "run --node-modules-dir=auto --allow-read main.ts",
+ "output": "main.out"
+ }
+ }
+}
diff --git a/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/check.out b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/check.out
new file mode 100644
index 000000000..cbd7740a9
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/check.out
@@ -0,0 +1,8 @@
+Download http://localhost:4260/@denotest%2fdual-cjs-esm
+Download http://localhost:4260/@denotest/dual-cjs-esm/1.0.0.tgz
+Initialize @denotest/dual-cjs-esm@1.0.0
+Check file:///[WILDLINE]/main.ts
+error: TS2322 [ERROR]: Type '"cjs"' is not assignable to type '"other"'.
+const kind: "other" = mod.getKind();
+ ~~~~
+ at file:///[WILDLINE]/main.ts:3:7
diff --git a/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.out b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.out
new file mode 100644
index 000000000..62ddbf479
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.out
@@ -0,0 +1,4 @@
+Download http://localhost:4260/@denotest%2fdual-cjs-esm
+Download http://localhost:4260/@denotest/dual-cjs-esm/1.0.0.tgz
+Initialize @denotest/dual-cjs-esm@1.0.0
+cjs
diff --git a/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.ts b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.ts
new file mode 100644
index 000000000..b8dd343f8
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/main.ts
@@ -0,0 +1,4 @@
+import mod = require("@denotest/dual-cjs-esm");
+
+const kind: "other" = mod.getKind();
+console.log(kind);
diff --git a/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/package.json b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/package.json
new file mode 100644
index 000000000..419d3d9f1
--- /dev/null
+++ b/tests/specs/npm/dual_cjs_esm/ts_referrer_type_cjs/package.json
@@ -0,0 +1,6 @@
+{
+ "type": "commonjs",
+ "dependencies": {
+ "@denotest/dual-cjs-esm": "*"
+ }
+}
diff --git a/tests/specs/npm/permissions_outside_package/__test__.jsonc b/tests/specs/npm/permissions_outside_package/__test__.jsonc
index 56228296b..d5f6bf490 100644
--- a/tests/specs/npm/permissions_outside_package/__test__.jsonc
+++ b/tests/specs/npm/permissions_outside_package/__test__.jsonc
@@ -1,4 +1,5 @@
{
- "args": "run --allow-read permissions_outside_package/main.ts",
- "output": "permissions_outside_package/main.out"
+ "tempDir": true,
+ "args": "run --allow-read --node-modules-dir=none main.ts",
+ "output": "main.out"
}
diff --git a/tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/config.js b/tests/specs/npm/permissions_outside_package/foo/config.js
index e667790d2..e667790d2 100644
--- a/tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/config.js
+++ b/tests/specs/npm/permissions_outside_package/foo/config.js
diff --git a/tests/specs/npm/permissions_outside_package/foo/package.json b/tests/specs/npm/permissions_outside_package/foo/package.json
new file mode 100644
index 000000000..95b43077e
--- /dev/null
+++ b/tests/specs/npm/permissions_outside_package/foo/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "foobar",
+ "version": "0.0.1",
+ "type": "commonjs"
+}
diff --git a/tests/specs/npm/permissions_outside_package/permissions_outside_package/main.out b/tests/specs/npm/permissions_outside_package/main.out
index 0fde8cf87..0fde8cf87 100644
--- a/tests/specs/npm/permissions_outside_package/permissions_outside_package/main.out
+++ b/tests/specs/npm/permissions_outside_package/main.out
diff --git a/tests/specs/npm/permissions_outside_package/permissions_outside_package/main.ts b/tests/specs/npm/permissions_outside_package/main.ts
index 934a3eebc..a80713fa7 100644
--- a/tests/specs/npm/permissions_outside_package/permissions_outside_package/main.ts
+++ b/tests/specs/npm/permissions_outside_package/main.ts
@@ -1,5 +1,5 @@
import { loadConfigFile } from "npm:@denotest/permissions-outside-package";
-const fileName = `${Deno.cwd()}/permissions_outside_package/foo/config.js`;
+const fileName = `${Deno.cwd()}/foo/config.js`;
const config = loadConfigFile(fileName);
console.log(config);
diff --git a/tests/specs/npm/permissions_outside_package/package.json b/tests/specs/npm/permissions_outside_package/package.json
new file mode 100644
index 000000000..2c63c0851
--- /dev/null
+++ b/tests/specs/npm/permissions_outside_package/package.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/package.json b/tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/package.json
deleted file mode 100644
index cc049e6ce..000000000
--- a/tests/specs/npm/permissions_outside_package/permissions_outside_package/foo/package.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "foobar",
- "version": "0.0.1"
-}
diff --git a/tests/specs/run/import_common_js/__test__.jsonc b/tests/specs/run/import_common_js/__test__.jsonc
index 6510dbad7..0602a09ba 100644
--- a/tests/specs/run/import_common_js/__test__.jsonc
+++ b/tests/specs/run/import_common_js/__test__.jsonc
@@ -1,21 +1,27 @@
{
- "steps": [
- { "args": "run -R index.cjs", "output": "index.out" },
- { "args": "run -R main.ts", "output": "main.out" },
- {
+ "tests": {
+ "cjs_entrypoint": {
+ "args": "run -R index.cjs",
+ "output": "index.out"
+ },
+ "esm_entrypoint": {
+ "args": "run -R main.ts",
+ "output": "main.out"
+ },
+ "module_error": {
"args": "run module_error.js",
"output": "module_error.out",
"exitCode": 1
},
- {
+ "exports_error": {
"args": "run exports_error.js",
"output": "exports_error.out",
"exitCode": 1
},
- {
+ "require_error": {
"args": "run require_error.js",
"output": "require_error.out",
"exitCode": 1
}
- ]
+ }
}
diff --git a/tests/specs/run/import_common_js/a.js b/tests/specs/run/import_common_js/a.js
deleted file mode 100644
index c465ab588..000000000
--- a/tests/specs/run/import_common_js/a.js
+++ /dev/null
@@ -1,7 +0,0 @@
-function foobar() {
- console.log("foobar");
-}
-
-module.exports = {
- foobar,
-};
diff --git a/tests/specs/run/import_common_js/exports_error.out b/tests/specs/run/import_common_js/exports_error.out
index b979cce5c..baa44682b 100644
--- a/tests/specs/run/import_common_js/exports_error.out
+++ b/tests/specs/run/import_common_js/exports_error.out
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
^
at [WILDCARD]exports_error.js:1:23
- info: Deno supports CommonJS modules in .cjs files, or when there's a package.json
- with "type": "commonjs" option and --unstable-detect-cjs flag is used.
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
hint: Rewrite this module to ESM,
or change the file extension to .cjs,
- or add package.json next to the file with "type": "commonjs" option
- and pass --unstable-detect-cjs flag.
+ or add package.json next to the file with "type": "commonjs" option.
docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/import_common_js/index.cjs b/tests/specs/run/import_common_js/index.cjs
index 18caf81e9..0026e237d 100644
--- a/tests/specs/run/import_common_js/index.cjs
+++ b/tests/specs/run/import_common_js/index.cjs
@@ -1,9 +1,7 @@
const process = require("process");
-const a = require("./a");
console.log(process.cwd());
module.exports = {
cwd: process.cwd,
- foobar: a.foobar,
};
diff --git a/tests/specs/run/import_common_js/index.out b/tests/specs/run/import_common_js/index.out
index 3650631b7..6a734b994 100644
--- a/tests/specs/run/import_common_js/index.out
+++ b/tests/specs/run/import_common_js/index.out
@@ -1 +1 @@
-[WILDCARD]import_common_js
+[WILDLINE]import_common_js
diff --git a/tests/specs/run/import_common_js/main.out b/tests/specs/run/import_common_js/main.out
index 03301b362..9df312975 100644
--- a/tests/specs/run/import_common_js/main.out
+++ b/tests/specs/run/import_common_js/main.out
@@ -1,5 +1,3 @@
hello from foo node module
[WILDCARD]import_common_js
cjsModule.cwd() [WILDCARD]import_common_js
-foobar
-cjsModule.foobar() undefined
diff --git a/tests/specs/run/import_common_js/module_error.out b/tests/specs/run/import_common_js/module_error.out
index 654ee838d..957b19cb1 100644
--- a/tests/specs/run/import_common_js/module_error.out
+++ b/tests/specs/run/import_common_js/module_error.out
@@ -3,10 +3,9 @@ module.exports = {
^
at [WILDCARD]module_error.js:1:1
- info: Deno supports CommonJS modules in .cjs files, or when there's a package.json
- with "type": "commonjs" option and --unstable-detect-cjs flag is used.
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
hint: Rewrite this module to ESM,
or change the file extension to .cjs,
- or add package.json next to the file with "type": "commonjs" option
- and pass --unstable-detect-cjs flag.
+ or add package.json next to the file with "type": "commonjs" option.
docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/import_common_js/node_modules/foo/index.mjs b/tests/specs/run/import_common_js/node_modules/foo/index.mjs
index cc93554c7..7a11d39ae 100644
--- a/tests/specs/run/import_common_js/node_modules/foo/index.mjs
+++ b/tests/specs/run/import_common_js/node_modules/foo/index.mjs
@@ -10,5 +10,4 @@ export default async function () {
const cjsModule = await import(url.pathToFileURL(cjsFileToImport));
console.log("cjsModule.cwd()", cjsModule.cwd());
- console.log("cjsModule.foobar()", cjsModule.foobar());
}
diff --git a/tests/specs/run/import_common_js/require_error.out b/tests/specs/run/import_common_js/require_error.out
index 81ffd6591..e13db85e8 100644
--- a/tests/specs/run/import_common_js/require_error.out
+++ b/tests/specs/run/import_common_js/require_error.out
@@ -3,10 +3,9 @@ const process = require("process");
^
at [WILDCARD]require_error.js:1:17
- info: Deno supports CommonJS modules in .cjs files, or when there's a package.json
- with "type": "commonjs" option and --unstable-detect-cjs flag is used.
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
hint: Rewrite this module to ESM,
or change the file extension to .cjs,
- or add package.json next to the file with "type": "commonjs" option
- and pass --unstable-detect-cjs flag.
+ or add package.json next to the file with "type": "commonjs" option.
docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/__test__.jsonc b/tests/specs/run/npm_pkg_requires_esm_js/__test__.jsonc
new file mode 100644
index 000000000..3da8db404
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run -A main.js",
+ "output": "output.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/file.js b/tests/specs/run/npm_pkg_requires_esm_js/file.js
new file mode 100644
index 000000000..d9536a69b
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/file.js
@@ -0,0 +1 @@
+console.log(import.meta.url);
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/logs_require.js b/tests/specs/run/npm_pkg_requires_esm_js/logs_require.js
new file mode 100644
index 000000000..984e1f3e7
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/logs_require.js
@@ -0,0 +1 @@
+console.log(require);
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/main.js b/tests/specs/run/npm_pkg_requires_esm_js/main.js
new file mode 100644
index 000000000..3704c8bf6
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/main.js
@@ -0,0 +1,5 @@
+import doRequire from "package";
+import path from "node:path";
+
+doRequire(path.resolve(import.meta.dirname, "file.js"));
+doRequire(path.resolve(import.meta.dirname, "logs_require.js"));
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/index.js b/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/index.js
new file mode 100644
index 000000000..5d7872371
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/index.js
@@ -0,0 +1,3 @@
+module.exports = (file) => {
+ return require(file);
+};
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/package.json b/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/package.json
new file mode 100644
index 000000000..5723987e9
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/node_modules/package/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "package",
+ "version": "1.0.0"
+} \ No newline at end of file
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/output.out b/tests/specs/run/npm_pkg_requires_esm_js/output.out
new file mode 100644
index 000000000..2cae7108b
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/output.out
@@ -0,0 +1,12 @@
+file:///[WILDLINE]/file.js
+error: Uncaught (in promise) ReferenceError: require is not defined
+console.log(require);
+ ^
+ at [WILDCARD]
+
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
+ hint: Rewrite this module to ESM,
+ or change the file extension to .cjs,
+ or add package.json next to the file with "type": "commonjs" option.
+ docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/npm_pkg_requires_esm_js/package.json b/tests/specs/run/npm_pkg_requires_esm_js/package.json
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/specs/run/npm_pkg_requires_esm_js/package.json
diff --git a/tests/specs/run/package_json_type/commonjs/basic/deno.jsonc b/tests/specs/run/package_json_type/commonjs/basic/deno.jsonc
deleted file mode 100644
index 35f64c86f..000000000
--- a/tests/specs/run/package_json_type/commonjs/basic/deno.jsonc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "unstable": [
- "detect-cjs"
- ]
-}
diff --git a/tests/specs/run/package_json_type/commonjs/basic/main_mix.out b/tests/specs/run/package_json_type/commonjs/basic/main_mix.out
index 78f421644..65671fd61 100644
--- a/tests/specs/run/package_json_type/commonjs/basic/main_mix.out
+++ b/tests/specs/run/package_json_type/commonjs/basic/main_mix.out
@@ -4,10 +4,9 @@ console.log(require("./add").add(1, 2));
^
at file:///[WILDLINE]main_mix.js:[WILDLINE]
- info: Deno supports CommonJS modules in .cjs files, or when there's a package.json
- with "type": "commonjs" option and --unstable-detect-cjs flag is used.
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
hint: Rewrite this module to ESM,
or change the file extension to .cjs,
- or add package.json next to the file with "type": "commonjs" option
- and pass --unstable-detect-cjs flag.
+ or add package.json next to the file with "type": "commonjs" option.
docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/package_json_type/commonjs/jsx/deno.jsonc b/tests/specs/run/package_json_type/commonjs/jsx/deno.jsonc
index 192ddb98c..31d05ffb7 100644
--- a/tests/specs/run/package_json_type/commonjs/jsx/deno.jsonc
+++ b/tests/specs/run/package_json_type/commonjs/jsx/deno.jsonc
@@ -3,8 +3,5 @@
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "react"
- },
- "unstable": [
- "detect-cjs"
- ]
+ }
}
diff --git a/tests/specs/run/package_json_type/none/deno.jsonc b/tests/specs/run/package_json_type/none/deno.jsonc
deleted file mode 100644
index 35f64c86f..000000000
--- a/tests/specs/run/package_json_type/none/deno.jsonc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "unstable": [
- "detect-cjs"
- ]
-}
diff --git a/tests/specs/run/package_json_type/none/main_cjs.out b/tests/specs/run/package_json_type/none/main_cjs.out
index 8d34808fb..afa5028f4 100644
--- a/tests/specs/run/package_json_type/none/main_cjs.out
+++ b/tests/specs/run/package_json_type/none/main_cjs.out
@@ -3,10 +3,9 @@ const { add } = require("./add");
^
at file:///[WILDLINE]
- info: Deno supports CommonJS modules in .cjs files, or when there's a package.json
- with "type": "commonjs" option and --unstable-detect-cjs flag is used.
+ info: Deno supports CommonJS modules in .cjs files, or when the closest
+ package.json has a "type": "commonjs" option.
hint: Rewrite this module to ESM,
or change the file extension to .cjs,
- or add package.json next to the file with "type": "commonjs" option
- and pass --unstable-detect-cjs flag.
+ or add package.json next to the file with "type": "commonjs" option.
docs: https://docs.deno.com/go/commonjs
diff --git a/tests/specs/run/require_esm/main.out b/tests/specs/run/require_esm/main.out
index 57b842b34..4890e1a49 100644
--- a/tests/specs/run/require_esm/main.out
+++ b/tests/specs/run/require_esm/main.out
@@ -1,13 +1,4 @@
[Module: null prototype] { sync_js: 1 }
[Module: null prototype] { sync_mjs: 1 }
error: Uncaught (in promise) Error: Top-level await is not allowed in synchronous evaluation
- at loadESMFromCJS (node:module:[WILDCARD])
- at Module._compile (node:module:[WILDCARD])
- at Object.Module._extensions..js (node:module:[WILDCARD])
- at Module.load (node:module:[WILDCARD])
- at Function.Module._load (node:module:[WILDCARD])
- at Module.require (node:module:[WILDCARD])
- at require (node:module:[WILDCARD])
- at Object.<anonymous> (file:[WILDCARD]/tests/specs/run/require_esm/main.cjs:[WILDCARD])
- at Object.<anonymous> (file:[WILDCARD]/tests/specs/run/require_esm/main.cjs:[WILDCARD])
- at Module._compile (node:module:[WILDCARD])
+ at [WILDCARD]
diff --git a/tests/specs/run/stdin_type_cjs/__test__.jsonc b/tests/specs/run/stdin_type_cjs/__test__.jsonc
new file mode 100644
index 000000000..e60af4a80
--- /dev/null
+++ b/tests/specs/run/stdin_type_cjs/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --quiet -",
+ "output": "1\n",
+ "input": "console.log(1)"
+}
diff --git a/tests/specs/run/stdin_type_cjs/package.json b/tests/specs/run/stdin_type_cjs/package.json
new file mode 100644
index 000000000..5bbefffba
--- /dev/null
+++ b/tests/specs/run/stdin_type_cjs/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "commonjs"
+}
diff --git a/tests/specs/run/stdin_type_cjs/stdin_read_all.ts b/tests/specs/run/stdin_type_cjs/stdin_read_all.ts
new file mode 100644
index 000000000..2ecae40b7
--- /dev/null
+++ b/tests/specs/run/stdin_type_cjs/stdin_read_all.ts
@@ -0,0 +1 @@
+Deno.stdin.readable.pipeTo(Deno.stdout.writable);
diff --git a/tests/specs/schema.json b/tests/specs/schema.json
index 8f3953ee4..2b35d9bd7 100644
--- a/tests/specs/schema.json
+++ b/tests/specs/schema.json
@@ -36,6 +36,9 @@
"flaky": {
"type": "boolean"
},
+ "symlinkedTempDir": {
+ "type": "boolean"
+ },
"if": {
"type": "string",
"examples": [