summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r--runtime/js/99_main.js52
1 files changed, 35 insertions, 17 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index ac1f52e74..b06cef651 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -57,7 +57,11 @@ import * as performance from "ext:deno_web/15_performance.js";
import * as url from "ext:deno_url/00_url.js";
import * as fetch from "ext:deno_fetch/26_fetch.js";
import * as messagePort from "ext:deno_web/13_message_port.js";
-import { denoNs, denoNsUnstable } from "ext:runtime/90_deno_ns.js";
+import {
+ denoNs,
+ denoNsUnstable,
+ denoNsUnstableById,
+} from "ext:runtime/90_deno_ns.js";
import { errors } from "ext:runtime/01_errors.js";
import * as webidl from "ext:deno_webidl/00_webidl.js";
import DOMException from "ext:deno_web/01_dom_exception.js";
@@ -467,14 +471,15 @@ function bootstrapMainRuntime(runtimeOptions) {
7: isTty,
8: tsVersion,
9: unstableFlag,
- 10: pid,
- 11: target,
- 12: v8Version,
- 13: userAgent,
- 14: inspectFlag,
- // 15: enableTestingFeaturesFlag
- 16: hasNodeModulesDir,
- 17: maybeBinaryNpmCommandName,
+ 10: unstableFeatures,
+ 11: pid,
+ 12: target,
+ 13: v8Version,
+ 14: userAgent,
+ 15: inspectFlag,
+ // 16: enableTestingFeaturesFlag
+ 17: hasNodeModulesDir,
+ 18: maybeBinaryNpmCommandName,
} = runtimeOptions;
performance.setTimeOrigin(DateNow());
@@ -557,6 +562,7 @@ function bootstrapMainRuntime(runtimeOptions) {
mainModule: util.getterOnly(opMainModule),
});
+ // TODO(bartlomieju): deprecate --unstable
if (unstableFlag) {
ObjectAssign(finalDenoNs, denoNsUnstable);
// TODO(bartlomieju): this is not ideal, but because we use `ObjectAssign`
@@ -576,6 +582,11 @@ function bootstrapMainRuntime(runtimeOptions) {
jupyterNs = val;
},
});
+ } else {
+ for (let i = 0; i <= unstableFeatures.length; i++) {
+ const id = unstableFeatures[i];
+ ObjectAssign(finalDenoNs, denoNsUnstableById[id]);
+ }
}
// Setup `Deno` global - we're actually overriding already existing global
@@ -611,14 +622,15 @@ function bootstrapWorkerRuntime(
7: isTty,
8: tsVersion,
9: unstableFlag,
- 10: pid,
- 11: target,
- 12: v8Version,
- 13: userAgent,
- // 14: inspectFlag,
- 15: enableTestingFeaturesFlag,
- 16: hasNodeModulesDir,
- 17: maybeBinaryNpmCommandName,
+ 10: unstableFeatures,
+ 11: pid,
+ 12: target,
+ 13: v8Version,
+ 14: userAgent,
+ // 15: inspectFlag,
+ 16: enableTestingFeaturesFlag,
+ 17: hasNodeModulesDir,
+ 18: maybeBinaryNpmCommandName,
} = runtimeOptions;
performance.setTimeOrigin(DateNow());
@@ -688,8 +700,14 @@ function bootstrapWorkerRuntime(
globalThis.pollForMessages = pollForMessages;
+ // TODO(bartlomieju): deprecate --unstable
if (unstableFlag) {
ObjectAssign(finalDenoNs, denoNsUnstable);
+ } else {
+ for (let i = 0; i <= unstableFeatures.length; i++) {
+ const id = unstableFeatures[i];
+ ObjectAssign(finalDenoNs, denoNsUnstableById[id]);
+ }
}
ObjectDefineProperties(finalDenoNs, {
pid: util.readOnly(pid),