Skip to content
This repository was archived by the owner on Dec 1, 2019. It is now read-only.

Commit 38a772f

Browse files
committed
Merge pull request #519 from sheetalkamat/builder
Using the new watch api of compiler
2 parents 9bbc065 + 93269b4 commit 38a772f

13 files changed

+565
-583
lines changed

Diff for: src/cache.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import * as fs from 'fs';
2-
import * as os from 'os';
3-
import * as path from 'path';
4-
import * as zlib from 'zlib';
5-
import { createHash } from 'crypto';
1+
import * as fs from "fs";
2+
import * as os from "os";
3+
import * as path from "path";
4+
import * as zlib from "zlib";
5+
import { createHash } from "crypto";
66

77
export interface CompiledModule {
88
fileName: string;
@@ -12,7 +12,7 @@ export interface CompiledModule {
1212
}
1313

1414
export function findCompiledModule(fileName: string): CompiledModule {
15-
let baseFileName = fileName.replace(/(\.ts|\.tsx)$/, '');
15+
let baseFileName = fileName.replace(/(\.ts|\.tsx)$/, "");
1616
let compiledFileName = `${baseFileName}.js`;
1717

1818
if (fs.existsSync(compiledFileName)) {
@@ -64,7 +64,7 @@ function write(filename: string, result: any) {
6464
* @return {String}
6565
*/
6666
function filename(source: string, identifier, options) {
67-
let hash = createHash('sha512') as any;
67+
let hash = createHash("sha512") as any;
6868
let contents = JSON.stringify({
6969
identifier: identifier,
7070
options: options,
@@ -73,7 +73,7 @@ function filename(source: string, identifier, options) {
7373

7474
hash.end(contents);
7575

76-
return hash.read().toString('hex') + '.json.gzip';
76+
return hash.read().toString("hex") + ".json.gzip";
7777
}
7878

7979
export interface CacheParams<T> {
@@ -94,7 +94,7 @@ export function cache<T>(params: CacheParams<T>): Promise<{cached: boolean, resu
9494
let options = params.options || {};
9595
let transform = params.transform;
9696
let identifier = params.identifier;
97-
let directory = (typeof params.directory === 'string') ?
97+
let directory = (typeof params.directory === "string") ?
9898
params.directory :
9999
os.tmpdir();
100100

Diff for: src/checker/checker.ts

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import * as _ from 'lodash';
2-
import * as childProcess from 'child_process';
3-
import * as path from 'path';
4-
import { QueuedSender, createQueuedSender } from './send';
1+
import * as _ from "lodash";
2+
import * as childProcess from "child_process";
3+
import * as path from "path";
4+
import { QueuedSender, createQueuedSender } from "./send";
55

66
import {
77
CompilerInfo,
@@ -15,7 +15,7 @@ import {
1515
UpdateFile,
1616
TsConfig,
1717
RemoveFile
18-
} from './protocol';
18+
} from "./protocol";
1919

2020
export interface Resolve {
2121
resolve: (...args: any[]) => void;
@@ -44,8 +44,8 @@ export class Checker {
4444
) {
4545
const execArgv = getExecArgv();
4646
const checker: childProcess.ChildProcess = fork
47-
? childProcess.fork(path.join(__dirname, 'runtime.js'), [], { execArgv })
48-
: require('./runtime').run();
47+
? childProcess.fork(path.join(__dirname, "runtime.js"), [], { execArgv })
48+
: require("./runtime").run();
4949

5050
this.sender = fork
5151
? createQueuedSender(checker)
@@ -57,11 +57,11 @@ export class Checker {
5757
this.compilerConfig = compilerConfig;
5858
this.webpackOptions = webpackOptions;
5959

60-
checker.on('error', (e) => {
61-
console.error('Typescript checker error:', e);
60+
checker.on("error", (e) => {
61+
console.error("Typescript checker error:", e);
6262
});
6363

64-
checker.on('message', (res: Res) => {
64+
checker.on("message", (res: Res) => {
6565
const {seq, success, payload} = res;
6666
if (seq && this.pending.has(seq)) {
6767
const resolver = this.pending.get(seq);
@@ -73,14 +73,14 @@ export class Checker {
7373

7474
this.pending.delete(seq);
7575
} else {
76-
console.warn('Unknown message: ', payload);
76+
console.warn("Unknown message: ", payload);
7777
}
7878
});
7979

8080
this.req({
81-
type: 'Init',
81+
type: "Init",
8282
payload: {
83-
compilerInfo: _.omit(compilerInfo, 'tsImpl'),
83+
compilerInfo: _.omit(compilerInfo, "tsImpl"),
8484
loaderConfig,
8585
compilerConfig,
8686
webpackOptions,
@@ -104,7 +104,7 @@ export class Checker {
104104

105105
emitFile(fileName: string, text: string): Promise<EmitFile.ResPayload> {
106106
return this.req({
107-
type: 'EmitFile',
107+
type: "EmitFile",
108108
payload: {
109109
fileName,
110110
text
@@ -114,7 +114,7 @@ export class Checker {
114114

115115
updateFile(fileName: string, text: string, ifExist = false) {
116116
return this.req({
117-
type: 'UpdateFile',
117+
type: "UpdateFile",
118118
payload: {
119119
fileName,
120120
text,
@@ -125,7 +125,7 @@ export class Checker {
125125

126126
removeFile(fileName: string) {
127127
return this.req({
128-
type: 'RemoveFile',
128+
type: "RemoveFile",
129129
payload: {
130130
fileName,
131131
}
@@ -134,18 +134,18 @@ export class Checker {
134134

135135
getDiagnostics(): Promise<any> {
136136
return this.req({
137-
type: 'Diagnostics'
137+
type: "Diagnostics"
138138
} as Diagnostics.Request);
139139
}
140140

141141
getFiles(): any {
142142
return this.req({
143-
type: 'Files'
143+
type: "Files"
144144
} as Files.Request);
145145
}
146146

147147
kill() {
148-
this.checker.kill('SIGKILL');
148+
this.checker.kill("SIGKILL");
149149
}
150150
}
151151

Diff for: src/checker/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export { Checker } from './checker';
1+
export { Checker } from "./checker";

Diff for: src/checker/protocol.ts

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import { LoaderConfig, CompilerInfo, TsConfig } from '../interfaces';
1+
import { LoaderConfig, CompilerInfo, TsConfig } from "../interfaces";
22
export { CompilerInfo, LoaderConfig, TsConfig }
33

4-
export type MessageType = 'Init' | 'UpdateFile' | 'Diagnostics' | 'EmitFile' | 'Files' | 'RemoveFile'
4+
export type MessageType = "Init" | "UpdateFile" | "Diagnostics" | "EmitFile" | "Files" | "RemoveFile"
55
export const MessageType = {
6-
Init: 'Init' as 'Init',
7-
Files: 'Files' as 'Files',
8-
UpdateFile: 'UpdateFile' as 'UpdateFile',
9-
RemoveFile: 'RemoveFile' as 'RemoveFile',
10-
Diagnostics: 'Diagnostics' as 'Diagnostics',
11-
EmitFile: 'EmitFile' as 'EmitFile',
6+
Init: "Init" as "Init",
7+
Files: "Files" as "Files",
8+
UpdateFile: "UpdateFile" as "UpdateFile",
9+
RemoveFile: "RemoveFile" as "RemoveFile",
10+
Diagnostics: "Diagnostics" as "Diagnostics",
11+
EmitFile: "EmitFile" as "EmitFile",
1212
};
1313

1414
export interface ReqBase {
@@ -44,7 +44,7 @@ export namespace Init {
4444
}
4545

4646
export interface Request extends ReqBase {
47-
type: 'Init';
47+
type: "Init";
4848
payload: Payload;
4949
}
5050

@@ -59,7 +59,7 @@ export namespace UpdateFile {
5959
}
6060

6161
export interface Request extends ReqBase {
62-
type: 'UpdateFile';
62+
type: "UpdateFile";
6363
payload: Payload;
6464
}
6565

@@ -77,7 +77,7 @@ export namespace RemoveFile {
7777
}
7878

7979
export interface Request extends ReqBase {
80-
type: 'RemoveFile';
80+
type: "RemoveFile";
8181
payload: Payload;
8282
}
8383

@@ -94,7 +94,7 @@ export namespace EmitFile {
9494
}
9595

9696
export interface Request extends ReqBase {
97-
type: 'EmitFile';
97+
type: "EmitFile";
9898
payload: ReqPayload;
9999
}
100100

@@ -114,7 +114,7 @@ export namespace EmitFile {
114114

115115
export namespace Files {
116116
export interface Request extends ReqBase {
117-
type: 'Files';
117+
type: "Files";
118118
}
119119

120120
export interface Response {
@@ -126,7 +126,7 @@ export namespace Files {
126126

127127
export namespace Diagnostics {
128128
export interface Request extends ReqBase {
129-
type: 'Diagnostics';
129+
type: "Diagnostics";
130130
}
131131

132132
export interface Response {

0 commit comments

Comments
 (0)