diff options
-rw-r--r-- | cli/worker.rs | 2 | ||||
-rw-r--r-- | runtime/js/99_main.js | 33 | ||||
-rw-r--r-- | tests/specs/future/runtime_api/__test__.jsonc | 21 | ||||
-rw-r--r-- | tests/specs/future/runtime_api/main.js | 2 | ||||
-rw-r--r-- | tests/specs/future/runtime_api/worker.js | 5 |
5 files changed, 56 insertions, 7 deletions
diff --git a/cli/worker.rs b/cli/worker.rs index 40c3cfcc3..be5a85cd6 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -813,7 +813,7 @@ fn create_web_worker_callback( node_ipc_fd: None, disable_deprecated_api_warning: shared.disable_deprecated_api_warning, verbose_deprecated_api_warning: shared.verbose_deprecated_api_warning, - future: false, + future: shared.enable_future_features, }, extensions: vec![], startup_snapshot: crate::js::deno_isolate_init(), diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index cbba28434..c66732331 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -837,7 +837,7 @@ function bootstrapWorkerRuntime( 6: argv0, 7: shouldDisableDeprecatedApiWarning, 8: shouldUseVerboseDeprecatedApiWarning, - 9: _future, + 9: future, } = runtimeOptions; deprecatedApiWarningDisabled = shouldDisableDeprecatedApiWarning; @@ -937,6 +937,37 @@ function bootstrapWorkerRuntime( workerMetadata, ); } + + if (future) { + delete Deno.Buffer; + delete Deno.close; + delete Deno.copy; + delete Deno.File; + delete Deno.fstat; + delete Deno.fstatSync; + delete Deno.ftruncate; + delete Deno.ftruncateSync; + delete Deno.flock; + delete Deno.flockSync; + delete Deno.FsFile.prototype.rid; + delete Deno.funlock; + delete Deno.funlockSync; + delete Deno.iter; + delete Deno.iterSync; + delete Deno.metrics; + delete Deno.readAll; + delete Deno.readAllSync; + delete Deno.read; + delete Deno.readSync; + delete Deno.resources; + delete Deno.seek; + delete Deno.seekSync; + delete Deno.shutdown; + delete Deno.writeAll; + delete Deno.writeAllSync; + delete Deno.write; + delete Deno.writeSync; + } } else { // Warmup return; diff --git a/tests/specs/future/runtime_api/__test__.jsonc b/tests/specs/future/runtime_api/__test__.jsonc index eb833195d..7aceff5bf 100644 --- a/tests/specs/future/runtime_api/__test__.jsonc +++ b/tests/specs/future/runtime_api/__test__.jsonc @@ -1,7 +1,18 @@ { - "args": "run -A main.js", - "output": "main.out", - "envs": { - "DENO_FUTURE": "1" - } + "steps": [ + { + "args": "run -A --unstable-fs main.js", + "output": "main.out", + "envs": { + "DENO_FUTURE": "1" + } + }, + { + "args": "run -A --unstable-fs worker.js", + "output": "main.out", + "envs": { + "DENO_FUTURE": "1" + } + } + ] } diff --git a/tests/specs/future/runtime_api/main.js b/tests/specs/future/runtime_api/main.js index 5275ad878..ed60a7b7c 100644 --- a/tests/specs/future/runtime_api/main.js +++ b/tests/specs/future/runtime_api/main.js @@ -30,3 +30,5 @@ console.log("Deno.writeAll is", Deno.writeAll); console.log("Deno.writeAllSync is", Deno.writeAllSync); console.log("Deno.write is", Deno.write); console.log("Deno.writeSync is", Deno.writeSync); + +self.close(); diff --git a/tests/specs/future/runtime_api/worker.js b/tests/specs/future/runtime_api/worker.js new file mode 100644 index 000000000..64b8e07b8 --- /dev/null +++ b/tests/specs/future/runtime_api/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(); |