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/compiler.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/compiler.ts')
-rw-r--r-- | js/compiler.ts | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/js/compiler.ts b/js/compiler.ts index 71b1b06c9..255ac9774 100644 --- a/js/compiler.ts +++ b/js/compiler.ts @@ -1,20 +1,25 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -import * as ts from "typescript"; -import { bold, cyan, yellow } from "./colors"; -import { Console } from "./console"; -import { core } from "./core"; -import { Diagnostic, fromTypeScriptDiagnostic } from "./diagnostics"; -import { cwd } from "./dir"; -import * as dispatch from "./dispatch"; -import { sendSync } from "./dispatch_json"; -import * as os from "./os"; -import { TextEncoder } from "./text_encoding"; -import { getMappedModuleName, parseTypeDirectives } from "./type_directives"; -import { assert, notImplemented } from "./util"; -import * as util from "./util"; -import { window } from "./window"; -import { postMessage, workerClose, workerMain } from "./workers"; -import { writeFileSync } from "./write_file"; +// TODO(ry) Combine this implementation with //deno_typescript/compiler_main.js + +/// <reference types="../third_party/node_modules/typescript/lib/typescript.d.ts"/> + +import "./globals.ts"; + +import { bold, cyan, yellow } from "./colors.ts"; +import { Console } from "./console.ts"; +import { core } from "./core.ts"; +import { Diagnostic, fromTypeScriptDiagnostic } from "./diagnostics.ts"; +import { cwd } from "./dir.ts"; +import * as dispatch from "./dispatch.ts"; +import { sendSync } from "./dispatch_json.ts"; +import * as os from "./os.ts"; +import { TextEncoder } from "./text_encoding.ts"; +import { getMappedModuleName, parseTypeDirectives } from "./type_directives.ts"; +import { assert, notImplemented } from "./util.ts"; +import * as util from "./util.ts"; +import { window } from "./window.ts"; +import { postMessage, workerClose, workerMain } from "./workers.ts"; +import { writeFileSync } from "./write_file.ts"; // Warning! The values in this enum are duplicated in cli/msg.rs // Update carefully! @@ -31,9 +36,10 @@ enum MediaType { const console = new Console(core.print); window.console = console; window.workerMain = workerMain; -export default function denoMain(): void { +function denoMain(): void { os.start(true, "TS"); } +window["denoMain"] = denoMain; const ASSETS = "$asset$"; const OUT_DIR = "$deno$"; |