diff options
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r-- | runtime/js/99_main.js | 52 |
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), |