From 950537e8ef6e54c409a7fcafa0b087e68988d9ef Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Sat, 25 Jan 2020 06:15:01 +1100 Subject: Break out runtime lib to main and worker (#3771) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartek IwaƄczuk --- cli/js/compiler.ts | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'cli/js/compiler.ts') diff --git a/cli/js/compiler.ts b/cli/js/compiler.ts index 54861f713..2807422e2 100644 --- a/cli/js/compiler.ts +++ b/cli/js/compiler.ts @@ -9,6 +9,7 @@ import { TranspileOnlyResult } from "./compiler_api.ts"; import { oldProgram } from "./compiler_bootstrap.ts"; import { setRootExports } from "./compiler_bundler.ts"; import { + CompilerHostTarget, defaultBundlerOptions, defaultRuntimeCompileOptions, defaultTranspileOptions, @@ -42,6 +43,7 @@ const self = globalThis; interface CompilerRequestCompile { type: CompilerRequestType.Compile; + target: CompilerHostTarget; rootNames: string[]; // TODO(ry) add compiler config to this interface. // options: ts.CompilerOptions; @@ -53,6 +55,7 @@ interface CompilerRequestCompile { interface CompilerRequestRuntimeCompile { type: CompilerRequestType.RuntimeCompile; + target: CompilerHostTarget; rootName: string; sources?: Record; bundle?: boolean; @@ -100,7 +103,14 @@ self.bootstrapTsCompiler = function tsCompilerMain(): void { // `Compile` are requests from the internals to Deno, generated by both // the `run` and `bundle` sub command. case CompilerRequestType.Compile: { - const { bundle, config, configPath, outFile, rootNames } = request; + const { + bundle, + config, + configPath, + outFile, + rootNames, + target + } = request; util.log(">>> compile start", { rootNames, type: CompilerRequestType[request.type] @@ -129,7 +139,11 @@ self.bootstrapTsCompiler = function tsCompilerMain(): void { }; const writeFile = createWriteFile(state); - const host = (state.host = new Host({ bundle, writeFile })); + const host = (state.host = new Host({ + bundle, + target, + writeFile + })); let diagnostics: readonly ts.Diagnostic[] | undefined; // if there is a configuration supplied, we need to parse that @@ -189,7 +203,7 @@ self.bootstrapTsCompiler = function tsCompilerMain(): void { // `RuntimeCompile` are requests from a runtime user, both compiles and // bundles. The process is similar to a request from the privileged // side, but also returns the output to the on message. - const { rootName, sources, options, bundle } = request; + const { rootName, sources, options, bundle, target } = request; util.log(">>> runtime compile start", { rootName, @@ -216,7 +230,11 @@ self.bootstrapTsCompiler = function tsCompilerMain(): void { }; const writeFile = createWriteFile(state); - const host = (state.host = new Host({ bundle, writeFile })); + const host = (state.host = new Host({ + bundle, + target, + writeFile + })); const compilerOptions = [defaultRuntimeCompileOptions]; if (options) { compilerOptions.push(convertCompilerOptions(options)); -- cgit v1.2.3