summaryrefslogtreecommitdiff
path: root/cli/js/compiler_host.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-01-22 20:18:01 +0100
committerGitHub <noreply@github.com>2020-01-22 20:18:01 +0100
commitbd9561f4de8f940ce6ed8b5eedfa84161a749c54 (patch)
tree20bc23c294aa3031fe4729dc09e03351ec6097f4 /cli/js/compiler_host.ts
parent3c47718959fb38d51e34c64d423151b5326bae3a (diff)
Reland "Create an old program to be used in snapshot." (#3747)
* read CLI assets from disk during snapshotting
Diffstat (limited to 'cli/js/compiler_host.ts')
-rw-r--r--cli/js/compiler_host.ts10
1 files changed, 6 insertions, 4 deletions
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));