From d43b43ca781b025b9a6a54827ea3ef193972ef24 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 2 Sep 2019 17:07:11 -0400 Subject: 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. --- js/compiler.ts | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'js/compiler.ts') 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 + +/// + +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$"; -- cgit v1.2.3