diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-09-02 17:07:11 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-02 17:07:11 -0400 |
commit | d43b43ca781b025b9a6a54827ea3ef193972ef24 (patch) | |
tree | 84173b6a653802a41c23145dd3b2048d9075e2a4 /js/os.ts | |
parent | 56508f113d9fe61ffcce4cbbb85e3d6961888e1d (diff) |
Refactor snapshot build (#2825)
Instead of using core/snapshot_creator.rs, instead two crates are
introduced which allow building the snapshot during build.rs.
Rollup is removed and replaced with our own bundler. This removes
the Node build dependency. Modules in //js now use Deno-style imports
with file extensions, rather than Node style extensionless imports.
This improves incremental build time when changes are made to //js files
by about 40 seconds.
Diffstat (limited to 'js/os.ts')
-rw-r--r-- | js/os.ts | 31 |
1 files changed, 13 insertions, 18 deletions
@@ -1,22 +1,13 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -import { core } from "./core"; -import * as dispatch from "./dispatch"; -import { sendSync } from "./dispatch_json"; -import { assert } from "./util"; -import * as util from "./util"; -import { window } from "./window"; +import { core } from "./core.ts"; +import * as dispatch from "./dispatch.ts"; +import { sendSync } from "./dispatch_json.ts"; +import { assert } from "./util.ts"; +import * as util from "./util.ts"; +import { window } from "./window.ts"; -/** The current process id of the runtime. */ -export let pid: number; - -/** Reflects the NO_COLOR environment variable: https://no-color.org/ */ -export let noColor: boolean; - -function setGlobals(pid_: number, noColor_: boolean): void { - assert(!pid); - pid = pid_; - noColor = noColor_; -} +// builtin modules +import { _setGlobals } from "./deno.ts"; /** Check if running in terminal. * @@ -85,7 +76,11 @@ export function start(preserveDenoNamespace = true, source?: string): Start { util.setLogDebug(s.debugFlag, source); - setGlobals(s.pid, s.noColor); + // pid and noColor need to be set in the Deno module before it's set to be + // frozen. + _setGlobals(s.pid, s.noColor); + delete window.Deno._setGlobals; + Object.freeze(window.Deno); if (preserveDenoNamespace) { util.immutableDefine(window, "Deno", window.Deno); |