summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/args/mod.rs7
-rw-r--r--tests/specs/future/unstable_flags/__test__.jsonc20
-rw-r--r--tests/specs/future/unstable_flags/main.js4
-rw-r--r--tests/specs/future/unstable_flags/main.out1
-rw-r--r--tests/specs/future/unstable_flags/worker.js5
5 files changed, 37 insertions, 0 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index 706d98852..cd5388459 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -1754,6 +1754,13 @@ impl CliOptions {
.unwrap_or_default();
from_config_file.extend_from_slice(&self.flags.unstable_config.features);
+
+ if *DENO_FUTURE {
+ from_config_file.extend_from_slice(&[
+ deno_runtime::deno_fs::UNSTABLE_FEATURE_NAME.to_string(),
+ ]);
+ }
+
from_config_file
}
diff --git a/tests/specs/future/unstable_flags/__test__.jsonc b/tests/specs/future/unstable_flags/__test__.jsonc
new file mode 100644
index 000000000..d3d02e029
--- /dev/null
+++ b/tests/specs/future/unstable_flags/__test__.jsonc
@@ -0,0 +1,20 @@
+{
+ "steps": [
+ {
+ // Notice `--unstable-*` flags are not needed anymore
+ "args": "run -A main.js",
+ "output": "main.out",
+ "envs": {
+ "DENO_FUTURE": "1"
+ }
+ },
+ {
+ // Notice `--unstable-*` flags are not needed anymore
+ "args": "run -A worker.js",
+ "output": "main.out",
+ "envs": {
+ "DENO_FUTURE": "1"
+ }
+ }
+ ]
+}
diff --git a/tests/specs/future/unstable_flags/main.js b/tests/specs/future/unstable_flags/main.js
new file mode 100644
index 000000000..0d86d0d09
--- /dev/null
+++ b/tests/specs/future/unstable_flags/main.js
@@ -0,0 +1,4 @@
+console.log(
+ // Undefined without `--unstable-fs`
+ Deno.build.os === "windows" ? true : typeof Deno.umask === "function",
+);
diff --git a/tests/specs/future/unstable_flags/main.out b/tests/specs/future/unstable_flags/main.out
new file mode 100644
index 000000000..27ba77dda
--- /dev/null
+++ b/tests/specs/future/unstable_flags/main.out
@@ -0,0 +1 @@
+true
diff --git a/tests/specs/future/unstable_flags/worker.js b/tests/specs/future/unstable_flags/worker.js
new file mode 100644
index 000000000..64b8e07b8
--- /dev/null
+++ b/tests/specs/future/unstable_flags/worker.js
@@ -0,0 +1,5 @@
+import { delay } from "../../../util/std/async/delay.ts";
+
+const worker = new Worker(import.meta.resolve("./main.js"), { type: "module" });
+await delay(1_000);
+worker.terminate();