From bd9561f4de8f940ce6ed8b5eedfa84161a749c54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 22 Jan 2020 20:18:01 +0100 Subject: Reland "Create an old program to be used in snapshot." (#3747) * read CLI assets from disk during snapshotting --- cli/js/compiler_host.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'cli/js/compiler_host.ts') diff --git a/cli/js/compiler_host.ts b/cli/js/compiler_host.ts index f8921a352..3e6df4485 100644 --- a/cli/js/compiler_host.ts +++ b/cli/js/compiler_host.ts @@ -18,7 +18,7 @@ export interface ConfigureResponse { diagnostics?: ts.Diagnostic[]; } -const ASSETS = "$asset$"; +export const ASSETS = "$asset$"; /** Options that need to be used when generating a bundle (either trusted or * runtime). */ @@ -129,11 +129,11 @@ export class Host implements ts.CompilerHost { private _writeFile: WriteFileCallback; private _getAsset(filename: string): SourceFile { - const sourceFile = SourceFile.get(filename); + const url = filename.split("/").pop()!; + const sourceFile = SourceFile.get(url); if (sourceFile) { return sourceFile; } - const url = filename.split("/").pop()!; const name = url.includes(".") ? url : `${url}.d.ts`; const sourceCode = sendSync(dispatch.OP_FETCH_ASSET, { name }); return new SourceFile({ @@ -238,13 +238,15 @@ export class Host implements ts.CompilerHost { : SourceFile.get(fileName); assert(sourceFile != null); if (!sourceFile.tsSourceFile) { + assert(sourceFile.sourceCode != null); sourceFile.tsSourceFile = ts.createSourceFile( fileName, sourceFile.sourceCode, languageVersion ); + delete sourceFile.sourceCode; } - return sourceFile!.tsSourceFile; + return sourceFile.tsSourceFile; } catch (e) { if (onError) { onError(String(e)); -- cgit v1.2.3