From 9ab6be331416138c531f79f49f2ca1f27f3622bd Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Wed, 15 Apr 2015 17:41:32 -0700 Subject: [PATCH] Don't run typewriter tests on the APISamples. It's too noisy. --- src/harness/compilerRunner.ts | 4 + .../reference/APISample_compile.symbols | 131 ------ .../reference/APISample_compile.types | 168 ------- .../reference/APISample_linter.symbols | 260 ---------- .../reference/APISample_linter.types | 312 ------------ .../reference/APISample_transform.symbols | 37 -- .../reference/APISample_transform.types | 44 -- .../reference/APISample_watcher.symbols | 322 ------------- .../reference/APISample_watcher.types | 443 ------------------ 9 files changed, 4 insertions(+), 1717 deletions(-) delete mode 100644 tests/baselines/reference/APISample_compile.symbols delete mode 100644 tests/baselines/reference/APISample_compile.types delete mode 100644 tests/baselines/reference/APISample_linter.symbols delete mode 100644 tests/baselines/reference/APISample_linter.types delete mode 100644 tests/baselines/reference/APISample_transform.symbols delete mode 100644 tests/baselines/reference/APISample_transform.types delete mode 100644 tests/baselines/reference/APISample_watcher.symbols delete mode 100644 tests/baselines/reference/APISample_watcher.types diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index d796ef23328..42a0cabe48c 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -253,6 +253,10 @@ class CompilerBaselineRunner extends RunnerBase { }); it('Correct type baselines for ' + fileName, () => { + if (fileName.indexOf("APISample") >= 0) { + return; + } + // NEWTODO: Type baselines if (result.errors.length === 0) { // The full walker simulates the types that you would get from doing a full diff --git a/tests/baselines/reference/APISample_compile.symbols b/tests/baselines/reference/APISample_compile.symbols deleted file mode 100644 index 5ff913f0a8d..00000000000 --- a/tests/baselines/reference/APISample_compile.symbols +++ /dev/null @@ -1,131 +0,0 @@ -=== tests/cases/compiler/APISample_compile.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : Symbol(process, Decl(APISample_compile.ts, 7, 11)) - -declare var console: any; ->console : Symbol(console, Decl(APISample_compile.ts, 8, 11)) - -declare var os: any; ->os : Symbol(os, Decl(APISample_compile.ts, 9, 11)) - -import ts = require("typescript"); ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) - -export function compile(fileNames: string[], options: ts.CompilerOptions): void { ->compile : Symbol(compile, Decl(APISample_compile.ts, 11, 34)) ->fileNames : Symbol(fileNames, Decl(APISample_compile.ts, 13, 24)) ->options : Symbol(options, Decl(APISample_compile.ts, 13, 44)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->CompilerOptions : Symbol(ts.CompilerOptions, Decl(typescript.d.ts, 1074, 5)) - - var program = ts.createProgram(fileNames, options); ->program : Symbol(program, Decl(APISample_compile.ts, 14, 7)) ->ts.createProgram : Symbol(ts.createProgram, Decl(typescript.d.ts, 1225, 113)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->createProgram : Symbol(ts.createProgram, Decl(typescript.d.ts, 1225, 113)) ->fileNames : Symbol(fileNames, Decl(APISample_compile.ts, 13, 24)) ->options : Symbol(options, Decl(APISample_compile.ts, 13, 44)) - - var emitResult = program.emit(); ->emitResult : Symbol(emitResult, Decl(APISample_compile.ts, 15, 7)) ->program.emit : Symbol(ts.Program.emit, Decl(typescript.d.ts, 767, 39)) ->program : Symbol(program, Decl(APISample_compile.ts, 14, 7)) ->emit : Symbol(ts.Program.emit, Decl(typescript.d.ts, 767, 39)) - - var allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics); ->allDiagnostics : Symbol(allDiagnostics, Decl(APISample_compile.ts, 17, 7)) ->ts.getPreEmitDiagnostics(program).concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->ts.getPreEmitDiagnostics : Symbol(ts.getPreEmitDiagnostics, Decl(typescript.d.ts, 1223, 98)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->getPreEmitDiagnostics : Symbol(ts.getPreEmitDiagnostics, Decl(typescript.d.ts, 1223, 98)) ->program : Symbol(program, Decl(APISample_compile.ts, 14, 7)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->emitResult.diagnostics : Symbol(ts.EmitResult.diagnostics, Decl(typescript.d.ts, 820, 29)) ->emitResult : Symbol(emitResult, Decl(APISample_compile.ts, 15, 7)) ->diagnostics : Symbol(ts.EmitResult.diagnostics, Decl(typescript.d.ts, 820, 29)) - - allDiagnostics.forEach(diagnostic => { ->allDiagnostics.forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->allDiagnostics : Symbol(allDiagnostics, Decl(APISample_compile.ts, 17, 7)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->diagnostic : Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27)) - - var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); ->line : Symbol(line, Decl(APISample_compile.ts, 20, 13)) ->character : Symbol(character, Decl(APISample_compile.ts, 20, 19)) ->diagnostic.file.getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->diagnostic.file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->diagnostic : Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27)) ->file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->diagnostic.start : Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25)) ->diagnostic : Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27)) ->start : Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25)) - - var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); ->message : Symbol(message, Decl(APISample_compile.ts, 21, 11)) ->ts.flattenDiagnosticMessageText : Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1224, 67)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->flattenDiagnosticMessageText : Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1224, 67)) ->diagnostic.messageText : Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23)) ->diagnostic : Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27)) ->messageText : Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23)) - - console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); ->console : Symbol(console, Decl(APISample_compile.ts, 8, 11)) ->diagnostic.file.fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->diagnostic.file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->diagnostic : Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27)) ->file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->line : Symbol(line, Decl(APISample_compile.ts, 20, 13)) ->character : Symbol(character, Decl(APISample_compile.ts, 20, 19)) ->message : Symbol(message, Decl(APISample_compile.ts, 21, 11)) - - }); - - var exitCode = emitResult.emitSkipped ? 1 : 0; ->exitCode : Symbol(exitCode, Decl(APISample_compile.ts, 25, 7)) ->emitResult.emitSkipped : Symbol(ts.EmitResult.emitSkipped, Decl(typescript.d.ts, 819, 26)) ->emitResult : Symbol(emitResult, Decl(APISample_compile.ts, 15, 7)) ->emitSkipped : Symbol(ts.EmitResult.emitSkipped, Decl(typescript.d.ts, 819, 26)) - - console.log(`Process exiting with code '${exitCode}'.`); ->console : Symbol(console, Decl(APISample_compile.ts, 8, 11)) ->exitCode : Symbol(exitCode, Decl(APISample_compile.ts, 25, 7)) - - process.exit(exitCode); ->process : Symbol(process, Decl(APISample_compile.ts, 7, 11)) ->exitCode : Symbol(exitCode, Decl(APISample_compile.ts, 25, 7)) -} - -compile(process.argv.slice(2), { ->compile : Symbol(compile, Decl(APISample_compile.ts, 11, 34)) ->process : Symbol(process, Decl(APISample_compile.ts, 7, 11)) - - noEmitOnError: true, noImplicitAny: true, ->noEmitOnError : Symbol(noEmitOnError, Decl(APISample_compile.ts, 30, 32)) ->noImplicitAny : Symbol(noImplicitAny, Decl(APISample_compile.ts, 31, 24)) - - target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS ->target : Symbol(target, Decl(APISample_compile.ts, 31, 45)) ->ts.ScriptTarget.ES5 : Symbol(ts.ScriptTarget.ES5, Decl(typescript.d.ts, 1117, 16)) ->ts.ScriptTarget : Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->ScriptTarget : Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5)) ->ES5 : Symbol(ts.ScriptTarget.ES5, Decl(typescript.d.ts, 1117, 16)) ->module : Symbol(module, Decl(APISample_compile.ts, 32, 32)) ->ts.ModuleKind.CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) ->ts.ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->ts : Symbol(ts, Decl(APISample_compile.ts, 9, 20)) ->ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) - -}); diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types deleted file mode 100644 index 2e40e805fda..00000000000 --- a/tests/baselines/reference/APISample_compile.types +++ /dev/null @@ -1,168 +0,0 @@ -=== tests/cases/compiler/APISample_compile.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : any - -declare var console: any; ->console : any - -declare var os: any; ->os : any - -import ts = require("typescript"); ->ts : typeof ts - -export function compile(fileNames: string[], options: ts.CompilerOptions): void { ->compile : (fileNames: string[], options: ts.CompilerOptions) => void ->fileNames : string[] ->options : ts.CompilerOptions ->ts : any ->CompilerOptions : ts.CompilerOptions - - var program = ts.createProgram(fileNames, options); ->program : ts.Program ->ts.createProgram(fileNames, options) : ts.Program ->ts.createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program ->ts : typeof ts ->createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program ->fileNames : string[] ->options : ts.CompilerOptions - - var emitResult = program.emit(); ->emitResult : ts.EmitResult ->program.emit() : ts.EmitResult ->program.emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult ->program : ts.Program ->emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult - - var allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics); ->allDiagnostics : ts.Diagnostic[] ->ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics) : ts.Diagnostic[] ->ts.getPreEmitDiagnostics(program).concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->ts.getPreEmitDiagnostics(program) : ts.Diagnostic[] ->ts.getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[] ->ts : typeof ts ->getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[] ->program : ts.Program ->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->emitResult.diagnostics : ts.Diagnostic[] ->emitResult : ts.EmitResult ->diagnostics : ts.Diagnostic[] - - allDiagnostics.forEach(diagnostic => { ->allDiagnostics.forEach(diagnostic => { var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); }) : void ->allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void ->allDiagnostics : ts.Diagnostic[] ->forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void ->diagnostic => { var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } : (diagnostic: ts.Diagnostic) => void ->diagnostic : ts.Diagnostic - - var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); ->line : number ->character : number ->diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start) : ts.LineAndCharacter ->diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->diagnostic.file : ts.SourceFile ->diagnostic : ts.Diagnostic ->file : ts.SourceFile ->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->diagnostic.start : number ->diagnostic : ts.Diagnostic ->start : number - - var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); ->message : string ->ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n') : string ->ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string ->ts : typeof ts ->flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string ->diagnostic.messageText : string | ts.DiagnosticMessageChain ->diagnostic : ts.Diagnostic ->messageText : string | ts.DiagnosticMessageChain ->'\n' : string - - console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); ->console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`) : any ->console.log : any ->console : any ->log : any ->`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}` : string ->diagnostic.file.fileName : string ->diagnostic.file : ts.SourceFile ->diagnostic : ts.Diagnostic ->file : ts.SourceFile ->fileName : string ->line + 1 : number ->line : number ->1 : number ->character + 1 : number ->character : number ->1 : number ->message : string - - }); - - var exitCode = emitResult.emitSkipped ? 1 : 0; ->exitCode : number ->emitResult.emitSkipped ? 1 : 0 : number ->emitResult.emitSkipped : boolean ->emitResult : ts.EmitResult ->emitSkipped : boolean ->1 : number ->0 : number - - console.log(`Process exiting with code '${exitCode}'.`); ->console.log(`Process exiting with code '${exitCode}'.`) : any ->console.log : any ->console : any ->log : any ->`Process exiting with code '${exitCode}'.` : string ->exitCode : number - - process.exit(exitCode); ->process.exit(exitCode) : any ->process.exit : any ->process : any ->exit : any ->exitCode : number -} - -compile(process.argv.slice(2), { ->compile(process.argv.slice(2), { noEmitOnError: true, noImplicitAny: true, target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS}) : void ->compile : (fileNames: string[], options: ts.CompilerOptions) => void ->process.argv.slice(2) : any ->process.argv.slice : any ->process.argv : any ->process : any ->argv : any ->slice : any ->2 : number ->{ noEmitOnError: true, noImplicitAny: true, target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS} : { [x: string]: boolean | ts.ScriptTarget | ts.ModuleKind; noEmitOnError: boolean; noImplicitAny: boolean; target: ts.ScriptTarget; module: ts.ModuleKind; } - - noEmitOnError: true, noImplicitAny: true, ->noEmitOnError : boolean ->true : boolean ->noImplicitAny : boolean ->true : boolean - - target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS ->target : ts.ScriptTarget ->ts.ScriptTarget.ES5 : ts.ScriptTarget ->ts.ScriptTarget : typeof ts.ScriptTarget ->ts : typeof ts ->ScriptTarget : typeof ts.ScriptTarget ->ES5 : ts.ScriptTarget ->module : ts.ModuleKind ->ts.ModuleKind.CommonJS : ts.ModuleKind ->ts.ModuleKind : typeof ts.ModuleKind ->ts : typeof ts ->ModuleKind : typeof ts.ModuleKind ->CommonJS : ts.ModuleKind - -}); diff --git a/tests/baselines/reference/APISample_linter.symbols b/tests/baselines/reference/APISample_linter.symbols deleted file mode 100644 index a094165d24f..00000000000 --- a/tests/baselines/reference/APISample_linter.symbols +++ /dev/null @@ -1,260 +0,0 @@ -=== tests/cases/compiler/APISample_linter.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : Symbol(process, Decl(APISample_linter.ts, 7, 11)) - -declare var console: any; ->console : Symbol(console, Decl(APISample_linter.ts, 8, 11)) - -declare var readFileSync: any; ->readFileSync : Symbol(readFileSync, Decl(APISample_linter.ts, 9, 11)) - -import * as ts from "typescript"; ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) - -export function delint(sourceFile: ts.SourceFile) { ->delint : Symbol(delint, Decl(APISample_linter.ts, 11, 33)) ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SourceFile : Symbol(ts.SourceFile, Decl(typescript.d.ts, 740, 5), Decl(typescript.d.ts, 1285, 5)) - - delintNode(sourceFile); ->delintNode : Symbol(delintNode, Decl(APISample_linter.ts, 14, 27)) ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23)) - - function delintNode(node: ts.Node) { ->delintNode : Symbol(delintNode, Decl(APISample_linter.ts, 14, 27)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->Node : Symbol(ts.Node, Decl(typescript.d.ts, 296, 5), Decl(typescript.d.ts, 1245, 32)) - - switch (node.kind) { ->node.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) - - case ts.SyntaxKind.ForStatement: ->ts.SyntaxKind.ForStatement : Symbol(ts.SyntaxKind.ForStatement, Decl(typescript.d.ts, 209, 29)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ForStatement : Symbol(ts.SyntaxKind.ForStatement, Decl(typescript.d.ts, 209, 29)) - - case ts.SyntaxKind.ForInStatement: ->ts.SyntaxKind.ForInStatement : Symbol(ts.SyntaxKind.ForInStatement, Decl(typescript.d.ts, 210, 27)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ForInStatement : Symbol(ts.SyntaxKind.ForInStatement, Decl(typescript.d.ts, 210, 27)) - - case ts.SyntaxKind.WhileStatement: ->ts.SyntaxKind.WhileStatement : Symbol(ts.SyntaxKind.WhileStatement, Decl(typescript.d.ts, 208, 26)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->WhileStatement : Symbol(ts.SyntaxKind.WhileStatement, Decl(typescript.d.ts, 208, 26)) - - case ts.SyntaxKind.DoStatement: ->ts.SyntaxKind.DoStatement : Symbol(ts.SyntaxKind.DoStatement, Decl(typescript.d.ts, 207, 26)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->DoStatement : Symbol(ts.SyntaxKind.DoStatement, Decl(typescript.d.ts, 207, 26)) - - if ((node).statement.kind !== ts.SyntaxKind.Block) { ->(node).statement.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->(node).statement : Symbol(ts.IterationStatement.statement, Decl(typescript.d.ts, 589, 52)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->IterationStatement : Symbol(ts.IterationStatement, Decl(typescript.d.ts, 588, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) ->statement : Symbol(ts.IterationStatement.statement, Decl(typescript.d.ts, 589, 52)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ts.SyntaxKind.Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) - - report(node, "A looping statement's contents should be wrapped in a block body."); ->report : Symbol(report, Decl(APISample_linter.ts, 48, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) - } - break; - - case ts.SyntaxKind.IfStatement: ->ts.SyntaxKind.IfStatement : Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->IfStatement : Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34)) - - let ifStatement = (node); ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->IfStatement : Symbol(ts.IfStatement, Decl(typescript.d.ts, 583, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) - - if (ifStatement.thenStatement.kind !== ts.SyntaxKind.Block) { ->ifStatement.thenStatement.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ifStatement.thenStatement : Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->thenStatement : Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ts.SyntaxKind.Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) - - report(ifStatement.thenStatement, "An if statement's contents should be wrapped in a block body."); ->report : Symbol(report, Decl(APISample_linter.ts, 48, 5)) ->ifStatement.thenStatement : Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->thenStatement : Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31)) - } - if (ifStatement.elseStatement && ->ifStatement.elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) - - ifStatement.elseStatement.kind !== ts.SyntaxKind.Block && ->ifStatement.elseStatement.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ifStatement.elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ts.SyntaxKind.Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->Block : Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36)) - - ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement) { ->ifStatement.elseStatement.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ifStatement.elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->ts.SyntaxKind.IfStatement : Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->IfStatement : Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34)) - - report(ifStatement.elseStatement, "An else statement's contents should be wrapped in a block body."); ->report : Symbol(report, Decl(APISample_linter.ts, 48, 5)) ->ifStatement.elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) ->ifStatement : Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19)) ->elseStatement : Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33)) - } - break; - - case ts.SyntaxKind.BinaryExpression: ->ts.SyntaxKind.BinaryExpression : Symbol(ts.SyntaxKind.BinaryExpression, Decl(typescript.d.ts, 192, 37)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->BinaryExpression : Symbol(ts.SyntaxKind.BinaryExpression, Decl(typescript.d.ts, 192, 37)) - - let op = (node).operatorToken.kind; ->op : Symbol(op, Decl(APISample_linter.ts, 40, 19)) ->(node).operatorToken.kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) ->(node).operatorToken : Symbol(ts.BinaryExpression.operatorToken, Decl(typescript.d.ts, 497, 25)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->BinaryExpression : Symbol(ts.BinaryExpression, Decl(typescript.d.ts, 495, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) ->operatorToken : Symbol(ts.BinaryExpression.operatorToken, Decl(typescript.d.ts, 497, 25)) ->kind : Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38)) - - if (op === ts.SyntaxKind.EqualsEqualsToken || op == ts.SyntaxKind.ExclamationEqualsToken) { ->op : Symbol(op, Decl(APISample_linter.ts, 40, 19)) ->ts.SyntaxKind.EqualsEqualsToken : Symbol(ts.SyntaxKind.EqualsEqualsToken, Decl(typescript.d.ts, 51, 36)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->EqualsEqualsToken : Symbol(ts.SyntaxKind.EqualsEqualsToken, Decl(typescript.d.ts, 51, 36)) ->op : Symbol(op, Decl(APISample_linter.ts, 40, 19)) ->ts.SyntaxKind.ExclamationEqualsToken : Symbol(ts.SyntaxKind.ExclamationEqualsToken, Decl(typescript.d.ts, 52, 31)) ->ts.SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->SyntaxKind : Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5)) ->ExclamationEqualsToken : Symbol(ts.SyntaxKind.ExclamationEqualsToken, Decl(typescript.d.ts, 52, 31)) - - report(node, "Use '===' and '!=='.") ->report : Symbol(report, Decl(APISample_linter.ts, 48, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) - } - break; - } - - ts.forEachChild(node, delintNode); ->ts.forEachChild : Symbol(ts.forEachChild, Decl(typescript.d.ts, 1214, 48)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->forEachChild : Symbol(ts.forEachChild, Decl(typescript.d.ts, 1214, 48)) ->node : Symbol(node, Decl(APISample_linter.ts, 16, 24)) ->delintNode : Symbol(delintNode, Decl(APISample_linter.ts, 14, 27)) - } - - function report(node: ts.Node, message: string) { ->report : Symbol(report, Decl(APISample_linter.ts, 48, 5)) ->node : Symbol(node, Decl(APISample_linter.ts, 50, 20)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->Node : Symbol(ts.Node, Decl(typescript.d.ts, 296, 5), Decl(typescript.d.ts, 1245, 32)) ->message : Symbol(message, Decl(APISample_linter.ts, 50, 34)) - - let { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart()); ->line : Symbol(line, Decl(APISample_linter.ts, 51, 13)) ->character : Symbol(character, Decl(APISample_linter.ts, 51, 19)) ->sourceFile.getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23)) ->getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->node.getStart : Symbol(ts.Node.getStart, Decl(typescript.d.ts, 1250, 53)) ->node : Symbol(node, Decl(APISample_linter.ts, 50, 20)) ->getStart : Symbol(ts.Node.getStart, Decl(typescript.d.ts, 1250, 53)) - - console.log(`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}`); ->console : Symbol(console, Decl(APISample_linter.ts, 8, 11)) ->sourceFile.fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23)) ->fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->line : Symbol(line, Decl(APISample_linter.ts, 51, 13)) ->character : Symbol(character, Decl(APISample_linter.ts, 51, 19)) ->message : Symbol(message, Decl(APISample_linter.ts, 50, 34)) - } -} - -const fileNames = process.argv.slice(2); ->fileNames : Symbol(fileNames, Decl(APISample_linter.ts, 56, 5)) ->process : Symbol(process, Decl(APISample_linter.ts, 7, 11)) - -fileNames.forEach(fileName => { ->fileNames : Symbol(fileNames, Decl(APISample_linter.ts, 56, 5)) ->fileName : Symbol(fileName, Decl(APISample_linter.ts, 57, 18)) - - // Parse a file - let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 59, 7)) ->ts.createSourceFile : Symbol(ts.createSourceFile, Decl(typescript.d.ts, 1215, 107)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->createSourceFile : Symbol(ts.createSourceFile, Decl(typescript.d.ts, 1215, 107)) ->fileName : Symbol(fileName, Decl(APISample_linter.ts, 57, 18)) ->readFileSync : Symbol(readFileSync, Decl(APISample_linter.ts, 9, 11)) ->fileName : Symbol(fileName, Decl(APISample_linter.ts, 57, 18)) ->ts.ScriptTarget.ES6 : Symbol(ts.ScriptTarget.ES6, Decl(typescript.d.ts, 1118, 16)) ->ts.ScriptTarget : Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5)) ->ts : Symbol(ts, Decl(APISample_linter.ts, 11, 6)) ->ScriptTarget : Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5)) ->ES6 : Symbol(ts.ScriptTarget.ES6, Decl(typescript.d.ts, 1118, 16)) - - // delint it - delint(sourceFile); ->delint : Symbol(delint, Decl(APISample_linter.ts, 11, 33)) ->sourceFile : Symbol(sourceFile, Decl(APISample_linter.ts, 59, 7)) - -}); diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types deleted file mode 100644 index 15f5a25fd43..00000000000 --- a/tests/baselines/reference/APISample_linter.types +++ /dev/null @@ -1,312 +0,0 @@ -=== tests/cases/compiler/APISample_linter.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : any - -declare var console: any; ->console : any - -declare var readFileSync: any; ->readFileSync : any - -import * as ts from "typescript"; ->ts : typeof ts - -export function delint(sourceFile: ts.SourceFile) { ->delint : (sourceFile: ts.SourceFile) => void ->sourceFile : ts.SourceFile ->ts : any ->SourceFile : ts.SourceFile - - delintNode(sourceFile); ->delintNode(sourceFile) : void ->delintNode : (node: ts.Node) => void ->sourceFile : ts.SourceFile - - function delintNode(node: ts.Node) { ->delintNode : (node: ts.Node) => void ->node : ts.Node ->ts : any ->Node : ts.Node - - switch (node.kind) { ->node.kind : ts.SyntaxKind ->node : ts.Node ->kind : ts.SyntaxKind - - case ts.SyntaxKind.ForStatement: ->ts.SyntaxKind.ForStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->ForStatement : ts.SyntaxKind - - case ts.SyntaxKind.ForInStatement: ->ts.SyntaxKind.ForInStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->ForInStatement : ts.SyntaxKind - - case ts.SyntaxKind.WhileStatement: ->ts.SyntaxKind.WhileStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->WhileStatement : ts.SyntaxKind - - case ts.SyntaxKind.DoStatement: ->ts.SyntaxKind.DoStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->DoStatement : ts.SyntaxKind - - if ((node).statement.kind !== ts.SyntaxKind.Block) { ->(node).statement.kind !== ts.SyntaxKind.Block : boolean ->(node).statement.kind : ts.SyntaxKind ->(node).statement : ts.Statement ->(node) : ts.IterationStatement ->node : ts.IterationStatement ->ts : any ->IterationStatement : ts.IterationStatement ->node : ts.Node ->statement : ts.Statement ->kind : ts.SyntaxKind ->ts.SyntaxKind.Block : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->Block : ts.SyntaxKind - - report(node, "A looping statement's contents should be wrapped in a block body."); ->report(node, "A looping statement's contents should be wrapped in a block body.") : void ->report : (node: ts.Node, message: string) => void ->node : ts.Node ->"A looping statement's contents should be wrapped in a block body." : string - } - break; - - case ts.SyntaxKind.IfStatement: ->ts.SyntaxKind.IfStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->IfStatement : ts.SyntaxKind - - let ifStatement = (node); ->ifStatement : ts.IfStatement ->(node) : ts.IfStatement ->node : ts.IfStatement ->ts : any ->IfStatement : ts.IfStatement ->node : ts.Node - - if (ifStatement.thenStatement.kind !== ts.SyntaxKind.Block) { ->ifStatement.thenStatement.kind !== ts.SyntaxKind.Block : boolean ->ifStatement.thenStatement.kind : ts.SyntaxKind ->ifStatement.thenStatement : ts.Statement ->ifStatement : ts.IfStatement ->thenStatement : ts.Statement ->kind : ts.SyntaxKind ->ts.SyntaxKind.Block : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->Block : ts.SyntaxKind - - report(ifStatement.thenStatement, "An if statement's contents should be wrapped in a block body."); ->report(ifStatement.thenStatement, "An if statement's contents should be wrapped in a block body.") : void ->report : (node: ts.Node, message: string) => void ->ifStatement.thenStatement : ts.Statement ->ifStatement : ts.IfStatement ->thenStatement : ts.Statement ->"An if statement's contents should be wrapped in a block body." : string - } - if (ifStatement.elseStatement && ->ifStatement.elseStatement && ifStatement.elseStatement.kind !== ts.SyntaxKind.Block && ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement : boolean ->ifStatement.elseStatement && ifStatement.elseStatement.kind !== ts.SyntaxKind.Block : boolean ->ifStatement.elseStatement : ts.Statement ->ifStatement : ts.IfStatement ->elseStatement : ts.Statement - - ifStatement.elseStatement.kind !== ts.SyntaxKind.Block && ->ifStatement.elseStatement.kind !== ts.SyntaxKind.Block : boolean ->ifStatement.elseStatement.kind : ts.SyntaxKind ->ifStatement.elseStatement : ts.Statement ->ifStatement : ts.IfStatement ->elseStatement : ts.Statement ->kind : ts.SyntaxKind ->ts.SyntaxKind.Block : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->Block : ts.SyntaxKind - - ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement) { ->ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement : boolean ->ifStatement.elseStatement.kind : ts.SyntaxKind ->ifStatement.elseStatement : ts.Statement ->ifStatement : ts.IfStatement ->elseStatement : ts.Statement ->kind : ts.SyntaxKind ->ts.SyntaxKind.IfStatement : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->IfStatement : ts.SyntaxKind - - report(ifStatement.elseStatement, "An else statement's contents should be wrapped in a block body."); ->report(ifStatement.elseStatement, "An else statement's contents should be wrapped in a block body.") : void ->report : (node: ts.Node, message: string) => void ->ifStatement.elseStatement : ts.Statement ->ifStatement : ts.IfStatement ->elseStatement : ts.Statement ->"An else statement's contents should be wrapped in a block body." : string - } - break; - - case ts.SyntaxKind.BinaryExpression: ->ts.SyntaxKind.BinaryExpression : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->BinaryExpression : ts.SyntaxKind - - let op = (node).operatorToken.kind; ->op : ts.SyntaxKind ->(node).operatorToken.kind : ts.SyntaxKind ->(node).operatorToken : ts.Node ->(node) : ts.BinaryExpression ->node : ts.BinaryExpression ->ts : any ->BinaryExpression : ts.BinaryExpression ->node : ts.Node ->operatorToken : ts.Node ->kind : ts.SyntaxKind - - if (op === ts.SyntaxKind.EqualsEqualsToken || op == ts.SyntaxKind.ExclamationEqualsToken) { ->op === ts.SyntaxKind.EqualsEqualsToken || op == ts.SyntaxKind.ExclamationEqualsToken : boolean ->op === ts.SyntaxKind.EqualsEqualsToken : boolean ->op : ts.SyntaxKind ->ts.SyntaxKind.EqualsEqualsToken : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->EqualsEqualsToken : ts.SyntaxKind ->op == ts.SyntaxKind.ExclamationEqualsToken : boolean ->op : ts.SyntaxKind ->ts.SyntaxKind.ExclamationEqualsToken : ts.SyntaxKind ->ts.SyntaxKind : typeof ts.SyntaxKind ->ts : typeof ts ->SyntaxKind : typeof ts.SyntaxKind ->ExclamationEqualsToken : ts.SyntaxKind - - report(node, "Use '===' and '!=='.") ->report(node, "Use '===' and '!=='.") : void ->report : (node: ts.Node, message: string) => void ->node : ts.Node ->"Use '===' and '!=='." : string - } - break; - } - - ts.forEachChild(node, delintNode); ->ts.forEachChild(node, delintNode) : void ->ts.forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T ->ts : typeof ts ->forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T ->node : ts.Node ->delintNode : (node: ts.Node) => void - } - - function report(node: ts.Node, message: string) { ->report : (node: ts.Node, message: string) => void ->node : ts.Node ->ts : any ->Node : ts.Node ->message : string - - let { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart()); ->line : number ->character : number ->sourceFile.getLineAndCharacterOfPosition(node.getStart()) : ts.LineAndCharacter ->sourceFile.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->sourceFile : ts.SourceFile ->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->node.getStart() : number ->node.getStart : (sourceFile?: ts.SourceFile) => number ->node : ts.Node ->getStart : (sourceFile?: ts.SourceFile) => number - - console.log(`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}`); ->console.log(`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}`) : any ->console.log : any ->console : any ->log : any ->`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}` : string ->sourceFile.fileName : string ->sourceFile : ts.SourceFile ->fileName : string ->line + 1 : number ->line : number ->1 : number ->character + 1 : number ->character : number ->1 : number ->message : string - } -} - -const fileNames = process.argv.slice(2); ->fileNames : any ->process.argv.slice(2) : any ->process.argv.slice : any ->process.argv : any ->process : any ->argv : any ->slice : any ->2 : number - -fileNames.forEach(fileName => { ->fileNames.forEach(fileName => { // Parse a file let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); // delint it delint(sourceFile);}) : any ->fileNames.forEach : any ->fileNames : any ->forEach : any ->fileName => { // Parse a file let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); // delint it delint(sourceFile);} : (fileName: any) => void ->fileName : any - - // Parse a file - let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); ->sourceFile : ts.SourceFile ->ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true) : ts.SourceFile ->ts.createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile ->ts : typeof ts ->createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile ->fileName : any ->readFileSync(fileName).toString() : any ->readFileSync(fileName).toString : any ->readFileSync(fileName) : any ->readFileSync : any ->fileName : any ->toString : any ->ts.ScriptTarget.ES6 : ts.ScriptTarget ->ts.ScriptTarget : typeof ts.ScriptTarget ->ts : typeof ts ->ScriptTarget : typeof ts.ScriptTarget ->ES6 : ts.ScriptTarget ->true : boolean - - // delint it - delint(sourceFile); ->delint(sourceFile) : void ->delint : (sourceFile: ts.SourceFile) => void ->sourceFile : ts.SourceFile - -}); diff --git a/tests/baselines/reference/APISample_transform.symbols b/tests/baselines/reference/APISample_transform.symbols deleted file mode 100644 index af35dd5dbb7..00000000000 --- a/tests/baselines/reference/APISample_transform.symbols +++ /dev/null @@ -1,37 +0,0 @@ -=== tests/cases/compiler/APISample_transform.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var console: any; ->console : Symbol(console, Decl(APISample_transform.ts, 7, 11)) - -import * as ts from "typescript"; ->ts : Symbol(ts, Decl(APISample_transform.ts, 9, 6)) - -const source = "let x: string = 'string'"; ->source : Symbol(source, Decl(APISample_transform.ts, 11, 5)) - -let result = ts.transpile(source, { module: ts.ModuleKind.CommonJS }); ->result : Symbol(result, Decl(APISample_transform.ts, 13, 3)) ->ts.transpile : Symbol(ts.transpile, Decl(typescript.d.ts, 1752, 5)) ->ts : Symbol(ts, Decl(APISample_transform.ts, 9, 6)) ->transpile : Symbol(ts.transpile, Decl(typescript.d.ts, 1752, 5)) ->source : Symbol(source, Decl(APISample_transform.ts, 11, 5)) ->module : Symbol(module, Decl(APISample_transform.ts, 13, 35)) ->ts.ModuleKind.CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) ->ts.ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->ts : Symbol(ts, Decl(APISample_transform.ts, 9, 6)) ->ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) - -console.log(JSON.stringify(result)); ->console : Symbol(console, Decl(APISample_transform.ts, 7, 11)) ->JSON.stringify : Symbol(JSON.stringify, Decl(lib.d.ts, 964, 70), Decl(lib.d.ts, 969, 34), Decl(lib.d.ts, 975, 78), Decl(lib.d.ts, 981, 51), Decl(lib.d.ts, 988, 90)) ->JSON : Symbol(JSON, Decl(lib.d.ts, 955, 42), Decl(lib.d.ts, 1000, 11)) ->stringify : Symbol(JSON.stringify, Decl(lib.d.ts, 964, 70), Decl(lib.d.ts, 969, 34), Decl(lib.d.ts, 975, 78), Decl(lib.d.ts, 981, 51), Decl(lib.d.ts, 988, 90)) ->result : Symbol(result, Decl(APISample_transform.ts, 13, 3)) - diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types deleted file mode 100644 index 43470a7835a..00000000000 --- a/tests/baselines/reference/APISample_transform.types +++ /dev/null @@ -1,44 +0,0 @@ -=== tests/cases/compiler/APISample_transform.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var console: any; ->console : any - -import * as ts from "typescript"; ->ts : typeof ts - -const source = "let x: string = 'string'"; ->source : string ->"let x: string = 'string'" : string - -let result = ts.transpile(source, { module: ts.ModuleKind.CommonJS }); ->result : string ->ts.transpile(source, { module: ts.ModuleKind.CommonJS }) : string ->ts.transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string ->ts : typeof ts ->transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string ->source : string ->{ module: ts.ModuleKind.CommonJS } : { [x: string]: ts.ModuleKind; module: ts.ModuleKind; } ->module : ts.ModuleKind ->ts.ModuleKind.CommonJS : ts.ModuleKind ->ts.ModuleKind : typeof ts.ModuleKind ->ts : typeof ts ->ModuleKind : typeof ts.ModuleKind ->CommonJS : ts.ModuleKind - -console.log(JSON.stringify(result)); ->console.log(JSON.stringify(result)) : any ->console.log : any ->console : any ->log : any ->JSON.stringify(result) : string ->JSON.stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } ->JSON : JSON ->stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } ->result : string - diff --git a/tests/baselines/reference/APISample_watcher.symbols b/tests/baselines/reference/APISample_watcher.symbols deleted file mode 100644 index 4510dd10356..00000000000 --- a/tests/baselines/reference/APISample_watcher.symbols +++ /dev/null @@ -1,322 +0,0 @@ -=== tests/cases/compiler/APISample_watcher.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : Symbol(process, Decl(APISample_watcher.ts, 7, 11)) - -declare var console: any; ->console : Symbol(console, Decl(APISample_watcher.ts, 8, 11)) - -declare var fs: any; ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) - -declare var path: any; ->path : Symbol(path, Decl(APISample_watcher.ts, 10, 11)) - -import * as ts from "typescript"; ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) - -function watch(rootFileNames: string[], options: ts.CompilerOptions) { ->watch : Symbol(watch, Decl(APISample_watcher.ts, 12, 33)) ->rootFileNames : Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15)) ->options : Symbol(options, Decl(APISample_watcher.ts, 14, 39)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->CompilerOptions : Symbol(ts.CompilerOptions, Decl(typescript.d.ts, 1074, 5)) - - const files: ts.Map<{ version: number }> = {}; ->files : Symbol(files, Decl(APISample_watcher.ts, 15, 9)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->Map : Symbol(ts.Map, Decl(typescript.d.ts, 15, 29)) ->version : Symbol(version, Decl(APISample_watcher.ts, 15, 25)) - - // initialize the list of files - rootFileNames.forEach(fileName => { ->rootFileNames.forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->rootFileNames : Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 18, 26)) - - files[fileName] = { version: 0 }; ->files : Symbol(files, Decl(APISample_watcher.ts, 15, 9)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 18, 26)) ->version : Symbol(version, Decl(APISample_watcher.ts, 19, 27)) - - }); - - // Create the language service host to allow the LS to communicate with the host - const servicesHost: ts.LanguageServiceHost = { ->servicesHost : Symbol(servicesHost, Decl(APISample_watcher.ts, 23, 9)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->LanguageServiceHost : Symbol(ts.LanguageServiceHost, Decl(typescript.d.ts, 1318, 5)) - - getScriptFileNames: () => rootFileNames, ->getScriptFileNames : Symbol(getScriptFileNames, Decl(APISample_watcher.ts, 23, 50)) ->rootFileNames : Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15)) - - getScriptVersion: (fileName) => files[fileName] && files[fileName].version.toString(), ->getScriptVersion : Symbol(getScriptVersion, Decl(APISample_watcher.ts, 24, 48)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 25, 27)) ->files : Symbol(files, Decl(APISample_watcher.ts, 15, 9)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 25, 27)) ->files[fileName].version.toString : Symbol(Number.toString, Decl(lib.d.ts, 458, 18)) ->files[fileName].version : Symbol(version, Decl(APISample_watcher.ts, 15, 25)) ->files : Symbol(files, Decl(APISample_watcher.ts, 15, 9)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 25, 27)) ->version : Symbol(version, Decl(APISample_watcher.ts, 15, 25)) ->toString : Symbol(Number.toString, Decl(lib.d.ts, 458, 18)) - - getScriptSnapshot: (fileName) => { ->getScriptSnapshot : Symbol(getScriptSnapshot, Decl(APISample_watcher.ts, 25, 94)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 26, 28)) - - if (!fs.existsSync(fileName)) { ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 26, 28)) - - return undefined; ->undefined : Symbol(undefined) - } - - return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); ->ts.ScriptSnapshot.fromString : Symbol(ts.ScriptSnapshot.fromString, Decl(typescript.d.ts, 1311, 27)) ->ts.ScriptSnapshot : Symbol(ts.ScriptSnapshot, Decl(typescript.d.ts, 1310, 5)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->ScriptSnapshot : Symbol(ts.ScriptSnapshot, Decl(typescript.d.ts, 1310, 5)) ->fromString : Symbol(ts.ScriptSnapshot.fromString, Decl(typescript.d.ts, 1311, 27)) ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 26, 28)) - - }, - getCurrentDirectory: () => process.cwd(), ->getCurrentDirectory : Symbol(getCurrentDirectory, Decl(APISample_watcher.ts, 32, 10)) ->process : Symbol(process, Decl(APISample_watcher.ts, 7, 11)) - - getCompilationSettings: () => options, ->getCompilationSettings : Symbol(getCompilationSettings, Decl(APISample_watcher.ts, 33, 49)) ->options : Symbol(options, Decl(APISample_watcher.ts, 14, 39)) - - getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options), ->getDefaultLibFileName : Symbol(getDefaultLibFileName, Decl(APISample_watcher.ts, 34, 46)) ->options : Symbol(options, Decl(APISample_watcher.ts, 35, 32)) ->ts.getDefaultLibFilePath : Symbol(ts.getDefaultLibFilePath, Decl(typescript.d.ts, 1760, 44)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->getDefaultLibFilePath : Symbol(ts.getDefaultLibFilePath, Decl(typescript.d.ts, 1760, 44)) ->options : Symbol(options, Decl(APISample_watcher.ts, 35, 32)) - - }; - - // Create the language service files - const services = ts.createLanguageService(servicesHost, ts.createDocumentRegistry()) ->services : Symbol(services, Decl(APISample_watcher.ts, 39, 9)) ->ts.createLanguageService : Symbol(ts.createLanguageService, Decl(typescript.d.ts, 1758, 97)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->createLanguageService : Symbol(ts.createLanguageService, Decl(typescript.d.ts, 1758, 97)) ->servicesHost : Symbol(servicesHost, Decl(APISample_watcher.ts, 23, 9)) ->ts.createDocumentRegistry : Symbol(ts.createDocumentRegistry, Decl(typescript.d.ts, 1756, 193)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->createDocumentRegistry : Symbol(ts.createDocumentRegistry, Decl(typescript.d.ts, 1756, 193)) - - // Now let's watch the files - rootFileNames.forEach(fileName => { ->rootFileNames.forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->rootFileNames : Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 42, 26)) - - // First time around, emit all files - emitFile(fileName); ->emitFile : Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 42, 26)) - - // Add a watch on the file to handle next change - fs.watchFile(fileName, ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 42, 26)) - - { persistent: true, interval: 250 }, ->persistent : Symbol(persistent, Decl(APISample_watcher.ts, 48, 13)) ->interval : Symbol(interval, Decl(APISample_watcher.ts, 48, 31)) - - (curr, prev) => { ->curr : Symbol(curr, Decl(APISample_watcher.ts, 49, 13)) ->prev : Symbol(prev, Decl(APISample_watcher.ts, 49, 18)) - - // Check timestamp - if (+curr.mtime <= +prev.mtime) { ->curr : Symbol(curr, Decl(APISample_watcher.ts, 49, 13)) ->prev : Symbol(prev, Decl(APISample_watcher.ts, 49, 18)) - - return; - } - - // Update the version to signal a change in the file - files[fileName].version++; ->files[fileName].version : Symbol(version, Decl(APISample_watcher.ts, 15, 25)) ->files : Symbol(files, Decl(APISample_watcher.ts, 15, 9)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 42, 26)) ->version : Symbol(version, Decl(APISample_watcher.ts, 15, 25)) - - // write the changes to disk - emitFile(fileName); ->emitFile : Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 42, 26)) - - }); - }); - - function emitFile(fileName: string) { ->emitFile : Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 63, 22)) - - let output = services.getEmitOutput(fileName); ->output : Symbol(output, Decl(APISample_watcher.ts, 64, 11)) ->services.getEmitOutput : Symbol(ts.LanguageService.getEmitOutput, Decl(typescript.d.ts, 1362, 132)) ->services : Symbol(services, Decl(APISample_watcher.ts, 39, 9)) ->getEmitOutput : Symbol(ts.LanguageService.getEmitOutput, Decl(typescript.d.ts, 1362, 132)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 63, 22)) - - if (!output.emitSkipped) { ->output.emitSkipped : Symbol(ts.EmitOutput.emitSkipped, Decl(typescript.d.ts, 1565, 34)) ->output : Symbol(output, Decl(APISample_watcher.ts, 64, 11)) ->emitSkipped : Symbol(ts.EmitOutput.emitSkipped, Decl(typescript.d.ts, 1565, 34)) - - console.log(`Emitting ${fileName}`); ->console : Symbol(console, Decl(APISample_watcher.ts, 8, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 63, 22)) - } - else { - console.log(`Emitting ${fileName} failed`); ->console : Symbol(console, Decl(APISample_watcher.ts, 8, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 63, 22)) - - logErrors(fileName); ->logErrors : Symbol(logErrors, Decl(APISample_watcher.ts, 77, 5)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 63, 22)) - } - - output.outputFiles.forEach(o => { ->output.outputFiles.forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->output.outputFiles : Symbol(ts.EmitOutput.outputFiles, Decl(typescript.d.ts, 1564, 26)) ->output : Symbol(output, Decl(APISample_watcher.ts, 64, 11)) ->outputFiles : Symbol(ts.EmitOutput.outputFiles, Decl(typescript.d.ts, 1564, 26)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->o : Symbol(o, Decl(APISample_watcher.ts, 74, 35)) - - fs.writeFileSync(o.name, o.text, "utf8"); ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) ->o.name : Symbol(ts.OutputFile.name, Decl(typescript.d.ts, 1573, 26)) ->o : Symbol(o, Decl(APISample_watcher.ts, 74, 35)) ->name : Symbol(ts.OutputFile.name, Decl(typescript.d.ts, 1573, 26)) ->o.text : Symbol(ts.OutputFile.text, Decl(typescript.d.ts, 1575, 36)) ->o : Symbol(o, Decl(APISample_watcher.ts, 74, 35)) ->text : Symbol(ts.OutputFile.text, Decl(typescript.d.ts, 1575, 36)) - - }); - } - - function logErrors(fileName: string) { ->logErrors : Symbol(logErrors, Decl(APISample_watcher.ts, 77, 5)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 79, 23)) - - let allDiagnostics = services.getCompilerOptionsDiagnostics() ->allDiagnostics : Symbol(allDiagnostics, Decl(APISample_watcher.ts, 80, 11)) ->services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->services.getCompilerOptionsDiagnostics() .concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->services.getCompilerOptionsDiagnostics : Symbol(ts.LanguageService.getCompilerOptionsDiagnostics, Decl(typescript.d.ts, 1336, 63)) ->services : Symbol(services, Decl(APISample_watcher.ts, 39, 9)) ->getCompilerOptionsDiagnostics : Symbol(ts.LanguageService.getCompilerOptionsDiagnostics, Decl(typescript.d.ts, 1336, 63)) - - .concat(services.getSyntacticDiagnostics(fileName)) ->concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->services.getSyntacticDiagnostics : Symbol(ts.LanguageService.getSyntacticDiagnostics, Decl(typescript.d.ts, 1334, 37)) ->services : Symbol(services, Decl(APISample_watcher.ts, 39, 9)) ->getSyntacticDiagnostics : Symbol(ts.LanguageService.getSyntacticDiagnostics, Decl(typescript.d.ts, 1334, 37)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 79, 23)) - - .concat(services.getSemanticDiagnostics(fileName)); ->concat : Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46)) ->services.getSemanticDiagnostics : Symbol(ts.LanguageService.getSemanticDiagnostics, Decl(typescript.d.ts, 1335, 64)) ->services : Symbol(services, Decl(APISample_watcher.ts, 39, 9)) ->getSemanticDiagnostics : Symbol(ts.LanguageService.getSemanticDiagnostics, Decl(typescript.d.ts, 1335, 64)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 79, 23)) - - allDiagnostics.forEach(diagnostic => { ->allDiagnostics.forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->allDiagnostics : Symbol(allDiagnostics, Decl(APISample_watcher.ts, 80, 11)) ->forEach : Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) - - let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); ->message : Symbol(message, Decl(APISample_watcher.ts, 85, 15)) ->ts.flattenDiagnosticMessageText : Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1224, 67)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->flattenDiagnosticMessageText : Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1224, 67)) ->diagnostic.messageText : Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) ->messageText : Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23)) - - if (diagnostic.file) { ->diagnostic.file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) ->file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) - - let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); ->line : Symbol(line, Decl(APISample_watcher.ts, 87, 21)) ->character : Symbol(character, Decl(APISample_watcher.ts, 87, 27)) ->diagnostic.file.getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->diagnostic.file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) ->file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->getLineAndCharacterOfPosition : Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1286, 26)) ->diagnostic.start : Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) ->start : Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25)) - - console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); ->console : Symbol(console, Decl(APISample_watcher.ts, 8, 11)) ->diagnostic.file.fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->diagnostic.file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->diagnostic : Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31)) ->file : Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26)) ->fileName : Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29)) ->line : Symbol(line, Decl(APISample_watcher.ts, 87, 21)) ->character : Symbol(character, Decl(APISample_watcher.ts, 87, 27)) ->message : Symbol(message, Decl(APISample_watcher.ts, 85, 15)) - } - else { - console.log(` Error: ${message}`); ->console : Symbol(console, Decl(APISample_watcher.ts, 8, 11)) ->message : Symbol(message, Decl(APISample_watcher.ts, 85, 15)) - } - }); - } -} - -// Initialize files constituting the program as all .ts files in the current directory -const currentDirectoryFiles = fs.readdirSync(process.cwd()). ->currentDirectoryFiles : Symbol(currentDirectoryFiles, Decl(APISample_watcher.ts, 98, 5)) ->fs : Symbol(fs, Decl(APISample_watcher.ts, 9, 11)) ->process : Symbol(process, Decl(APISample_watcher.ts, 7, 11)) - - filter(fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts"); ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 99, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 99, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 99, 11)) ->fileName : Symbol(fileName, Decl(APISample_watcher.ts, 99, 11)) - -// Start the watcher -watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS }); ->watch : Symbol(watch, Decl(APISample_watcher.ts, 12, 33)) ->currentDirectoryFiles : Symbol(currentDirectoryFiles, Decl(APISample_watcher.ts, 98, 5)) ->module : Symbol(module, Decl(APISample_watcher.ts, 102, 30)) ->ts.ModuleKind.CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) ->ts.ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->ts : Symbol(ts, Decl(APISample_watcher.ts, 12, 6)) ->ModuleKind : Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5)) ->CommonJS : Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17)) - diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types deleted file mode 100644 index 6277f6ce94c..00000000000 --- a/tests/baselines/reference/APISample_watcher.types +++ /dev/null @@ -1,443 +0,0 @@ -=== tests/cases/compiler/APISample_watcher.ts === - -/* - * Note: This test is a public API sample. The sample sources can be found - at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services - * Please log a "breaking change" issue for any API breaking change affecting this issue - */ - -declare var process: any; ->process : any - -declare var console: any; ->console : any - -declare var fs: any; ->fs : any - -declare var path: any; ->path : any - -import * as ts from "typescript"; ->ts : typeof ts - -function watch(rootFileNames: string[], options: ts.CompilerOptions) { ->watch : (rootFileNames: string[], options: ts.CompilerOptions) => void ->rootFileNames : string[] ->options : ts.CompilerOptions ->ts : any ->CompilerOptions : ts.CompilerOptions - - const files: ts.Map<{ version: number }> = {}; ->files : ts.Map<{ version: number; }> ->ts : any ->Map : ts.Map ->version : number ->{} : { [x: string]: undefined; } - - // initialize the list of files - rootFileNames.forEach(fileName => { ->rootFileNames.forEach(fileName => { files[fileName] = { version: 0 }; }) : void ->rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void ->rootFileNames : string[] ->forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void ->fileName => { files[fileName] = { version: 0 }; } : (fileName: string) => void ->fileName : string - - files[fileName] = { version: 0 }; ->files[fileName] = { version: 0 } : { version: number; } ->files[fileName] : { version: number; } ->files : ts.Map<{ version: number; }> ->fileName : string ->{ version: 0 } : { version: number; } ->version : number ->0 : number - - }); - - // Create the language service host to allow the LS to communicate with the host - const servicesHost: ts.LanguageServiceHost = { ->servicesHost : ts.LanguageServiceHost ->ts : any ->LanguageServiceHost : ts.LanguageServiceHost ->{ getScriptFileNames: () => rootFileNames, getScriptVersion: (fileName) => files[fileName] && files[fileName].version.toString(), getScriptSnapshot: (fileName) => { if (!fs.existsSync(fileName)) { return undefined; } return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); }, getCurrentDirectory: () => process.cwd(), getCompilationSettings: () => options, getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options), } : { getScriptFileNames: () => string[]; getScriptVersion: (fileName: string) => string; getScriptSnapshot: (fileName: string) => ts.IScriptSnapshot; getCurrentDirectory: () => any; getCompilationSettings: () => ts.CompilerOptions; getDefaultLibFileName: (options: ts.CompilerOptions) => string; } - - getScriptFileNames: () => rootFileNames, ->getScriptFileNames : () => string[] ->() => rootFileNames : () => string[] ->rootFileNames : string[] - - getScriptVersion: (fileName) => files[fileName] && files[fileName].version.toString(), ->getScriptVersion : (fileName: string) => string ->(fileName) => files[fileName] && files[fileName].version.toString() : (fileName: string) => string ->fileName : string ->files[fileName] && files[fileName].version.toString() : string ->files[fileName] : { version: number; } ->files : ts.Map<{ version: number; }> ->fileName : string ->files[fileName].version.toString() : string ->files[fileName].version.toString : (radix?: number) => string ->files[fileName].version : number ->files[fileName] : { version: number; } ->files : ts.Map<{ version: number; }> ->fileName : string ->version : number ->toString : (radix?: number) => string - - getScriptSnapshot: (fileName) => { ->getScriptSnapshot : (fileName: string) => ts.IScriptSnapshot ->(fileName) => { if (!fs.existsSync(fileName)) { return undefined; } return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); } : (fileName: string) => ts.IScriptSnapshot ->fileName : string - - if (!fs.existsSync(fileName)) { ->!fs.existsSync(fileName) : boolean ->fs.existsSync(fileName) : any ->fs.existsSync : any ->fs : any ->existsSync : any ->fileName : string - - return undefined; ->undefined : undefined - } - - return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); ->ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()) : ts.IScriptSnapshot ->ts.ScriptSnapshot.fromString : (text: string) => ts.IScriptSnapshot ->ts.ScriptSnapshot : typeof ts.ScriptSnapshot ->ts : typeof ts ->ScriptSnapshot : typeof ts.ScriptSnapshot ->fromString : (text: string) => ts.IScriptSnapshot ->fs.readFileSync(fileName).toString() : any ->fs.readFileSync(fileName).toString : any ->fs.readFileSync(fileName) : any ->fs.readFileSync : any ->fs : any ->readFileSync : any ->fileName : string ->toString : any - - }, - getCurrentDirectory: () => process.cwd(), ->getCurrentDirectory : () => any ->() => process.cwd() : () => any ->process.cwd() : any ->process.cwd : any ->process : any ->cwd : any - - getCompilationSettings: () => options, ->getCompilationSettings : () => ts.CompilerOptions ->() => options : () => ts.CompilerOptions ->options : ts.CompilerOptions - - getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options), ->getDefaultLibFileName : (options: ts.CompilerOptions) => string ->(options) => ts.getDefaultLibFilePath(options) : (options: ts.CompilerOptions) => string ->options : ts.CompilerOptions ->ts.getDefaultLibFilePath(options) : string ->ts.getDefaultLibFilePath : (options: ts.CompilerOptions) => string ->ts : typeof ts ->getDefaultLibFilePath : (options: ts.CompilerOptions) => string ->options : ts.CompilerOptions - - }; - - // Create the language service files - const services = ts.createLanguageService(servicesHost, ts.createDocumentRegistry()) ->services : ts.LanguageService ->ts.createLanguageService(servicesHost, ts.createDocumentRegistry()) : ts.LanguageService ->ts.createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService ->ts : typeof ts ->createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService ->servicesHost : ts.LanguageServiceHost ->ts.createDocumentRegistry() : ts.DocumentRegistry ->ts.createDocumentRegistry : () => ts.DocumentRegistry ->ts : typeof ts ->createDocumentRegistry : () => ts.DocumentRegistry - - // Now let's watch the files - rootFileNames.forEach(fileName => { ->rootFileNames.forEach(fileName => { // First time around, emit all files emitFile(fileName); // Add a watch on the file to handle next change fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }); }) : void ->rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void ->rootFileNames : string[] ->forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void ->fileName => { // First time around, emit all files emitFile(fileName); // Add a watch on the file to handle next change fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }); } : (fileName: string) => void ->fileName : string - - // First time around, emit all files - emitFile(fileName); ->emitFile(fileName) : void ->emitFile : (fileName: string) => void ->fileName : string - - // Add a watch on the file to handle next change - fs.watchFile(fileName, ->fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }) : any ->fs.watchFile : any ->fs : any ->watchFile : any ->fileName : string - - { persistent: true, interval: 250 }, ->{ persistent: true, interval: 250 } : { persistent: boolean; interval: number; } ->persistent : boolean ->true : boolean ->interval : number ->250 : number - - (curr, prev) => { ->(curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); } : (curr: any, prev: any) => void ->curr : any ->prev : any - - // Check timestamp - if (+curr.mtime <= +prev.mtime) { ->+curr.mtime <= +prev.mtime : boolean ->+curr.mtime : number ->curr.mtime : any ->curr : any ->mtime : any ->+prev.mtime : number ->prev.mtime : any ->prev : any ->mtime : any - - return; - } - - // Update the version to signal a change in the file - files[fileName].version++; ->files[fileName].version++ : number ->files[fileName].version : number ->files[fileName] : { version: number; } ->files : ts.Map<{ version: number; }> ->fileName : string ->version : number - - // write the changes to disk - emitFile(fileName); ->emitFile(fileName) : void ->emitFile : (fileName: string) => void ->fileName : string - - }); - }); - - function emitFile(fileName: string) { ->emitFile : (fileName: string) => void ->fileName : string - - let output = services.getEmitOutput(fileName); ->output : ts.EmitOutput ->services.getEmitOutput(fileName) : ts.EmitOutput ->services.getEmitOutput : (fileName: string) => ts.EmitOutput ->services : ts.LanguageService ->getEmitOutput : (fileName: string) => ts.EmitOutput ->fileName : string - - if (!output.emitSkipped) { ->!output.emitSkipped : boolean ->output.emitSkipped : boolean ->output : ts.EmitOutput ->emitSkipped : boolean - - console.log(`Emitting ${fileName}`); ->console.log(`Emitting ${fileName}`) : any ->console.log : any ->console : any ->log : any ->`Emitting ${fileName}` : string ->fileName : string - } - else { - console.log(`Emitting ${fileName} failed`); ->console.log(`Emitting ${fileName} failed`) : any ->console.log : any ->console : any ->log : any ->`Emitting ${fileName} failed` : string ->fileName : string - - logErrors(fileName); ->logErrors(fileName) : void ->logErrors : (fileName: string) => void ->fileName : string - } - - output.outputFiles.forEach(o => { ->output.outputFiles.forEach(o => { fs.writeFileSync(o.name, o.text, "utf8"); }) : void ->output.outputFiles.forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void ->output.outputFiles : ts.OutputFile[] ->output : ts.EmitOutput ->outputFiles : ts.OutputFile[] ->forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void ->o => { fs.writeFileSync(o.name, o.text, "utf8"); } : (o: ts.OutputFile) => void ->o : ts.OutputFile - - fs.writeFileSync(o.name, o.text, "utf8"); ->fs.writeFileSync(o.name, o.text, "utf8") : any ->fs.writeFileSync : any ->fs : any ->writeFileSync : any ->o.name : string ->o : ts.OutputFile ->name : string ->o.text : string ->o : ts.OutputFile ->text : string ->"utf8" : string - - }); - } - - function logErrors(fileName: string) { ->logErrors : (fileName: string) => void ->fileName : string - - let allDiagnostics = services.getCompilerOptionsDiagnostics() ->allDiagnostics : ts.Diagnostic[] ->services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat(services.getSemanticDiagnostics(fileName)) : ts.Diagnostic[] ->services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) : ts.Diagnostic[] ->services.getCompilerOptionsDiagnostics() .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->services.getCompilerOptionsDiagnostics() : ts.Diagnostic[] ->services.getCompilerOptionsDiagnostics : () => ts.Diagnostic[] ->services : ts.LanguageService ->getCompilerOptionsDiagnostics : () => ts.Diagnostic[] - - .concat(services.getSyntacticDiagnostics(fileName)) ->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->services.getSyntacticDiagnostics(fileName) : ts.Diagnostic[] ->services.getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[] ->services : ts.LanguageService ->getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[] ->fileName : string - - .concat(services.getSemanticDiagnostics(fileName)); ->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; } ->services.getSemanticDiagnostics(fileName) : ts.Diagnostic[] ->services.getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[] ->services : ts.LanguageService ->getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[] ->fileName : string - - allDiagnostics.forEach(diagnostic => { ->allDiagnostics.forEach(diagnostic => { let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); if (diagnostic.file) { let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } else { console.log(` Error: ${message}`); } }) : void ->allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void ->allDiagnostics : ts.Diagnostic[] ->forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void ->diagnostic => { let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); if (diagnostic.file) { let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } else { console.log(` Error: ${message}`); } } : (diagnostic: ts.Diagnostic) => void ->diagnostic : ts.Diagnostic - - let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); ->message : string ->ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n") : string ->ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string ->ts : typeof ts ->flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string ->diagnostic.messageText : string | ts.DiagnosticMessageChain ->diagnostic : ts.Diagnostic ->messageText : string | ts.DiagnosticMessageChain ->"\n" : string - - if (diagnostic.file) { ->diagnostic.file : ts.SourceFile ->diagnostic : ts.Diagnostic ->file : ts.SourceFile - - let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); ->line : number ->character : number ->diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start) : ts.LineAndCharacter ->diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->diagnostic.file : ts.SourceFile ->diagnostic : ts.Diagnostic ->file : ts.SourceFile ->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter ->diagnostic.start : number ->diagnostic : ts.Diagnostic ->start : number - - console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); ->console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`) : any ->console.log : any ->console : any ->log : any ->` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}` : string ->diagnostic.file.fileName : string ->diagnostic.file : ts.SourceFile ->diagnostic : ts.Diagnostic ->file : ts.SourceFile ->fileName : string ->line + 1 : number ->line : number ->1 : number ->character + 1 : number ->character : number ->1 : number ->message : string - } - else { - console.log(` Error: ${message}`); ->console.log(` Error: ${message}`) : any ->console.log : any ->console : any ->log : any ->` Error: ${message}` : string ->message : string - } - }); - } -} - -// Initialize files constituting the program as all .ts files in the current directory -const currentDirectoryFiles = fs.readdirSync(process.cwd()). ->currentDirectoryFiles : any ->fs.readdirSync(process.cwd()). filter(fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts") : any ->fs.readdirSync(process.cwd()). filter : any ->fs.readdirSync(process.cwd()) : any ->fs.readdirSync : any ->fs : any ->readdirSync : any ->process.cwd() : any ->process.cwd : any ->process : any ->cwd : any - - filter(fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts"); ->filter : any ->fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts" : (fileName: any) => boolean ->fileName : any ->fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts" : boolean ->fileName.length >= 3 : boolean ->fileName.length : any ->fileName : any ->length : any ->3 : number ->fileName.substr(fileName.length - 3, 3) === ".ts" : boolean ->fileName.substr(fileName.length - 3, 3) : any ->fileName.substr : any ->fileName : any ->substr : any ->fileName.length - 3 : number ->fileName.length : any ->fileName : any ->length : any ->3 : number ->3 : number ->".ts" : string - -// Start the watcher -watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS }); ->watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS }) : void ->watch : (rootFileNames: string[], options: ts.CompilerOptions) => void ->currentDirectoryFiles : any ->{ module: ts.ModuleKind.CommonJS } : { [x: string]: ts.ModuleKind; module: ts.ModuleKind; } ->module : ts.ModuleKind ->ts.ModuleKind.CommonJS : ts.ModuleKind ->ts.ModuleKind : typeof ts.ModuleKind ->ts : typeof ts ->ModuleKind : typeof ts.ModuleKind ->CommonJS : ts.ModuleKind -