typescript
Advanced tools
Comparing version 1.4.1 to 1.5.0-alpha
@@ -182,3 +182,3 @@ /*! ***************************************************************************** | ||
*/ | ||
seal(o: any): any; | ||
seal<T>(o: T): T; | ||
@@ -189,3 +189,3 @@ /** | ||
*/ | ||
freeze(o: any): any; | ||
freeze<T>(o: T): T; | ||
@@ -196,3 +196,3 @@ /** | ||
*/ | ||
preventExtensions(o: any): any; | ||
preventExtensions<T>(o: T): T; | ||
@@ -431,2 +431,5 @@ /** | ||
/** Returns the primitive value of the specified object. */ | ||
valueOf(): string; | ||
[index: number]: string; | ||
@@ -448,2 +451,4 @@ } | ||
interface Boolean { | ||
/** Returns the primitive value of the specified object. */ | ||
valueOf(): boolean; | ||
} | ||
@@ -483,2 +488,5 @@ | ||
toPrecision(precision?: number): string; | ||
/** Returns the primitive value of the specified object. */ | ||
valueOf(): number; | ||
} | ||
@@ -1171,1 +1179,15 @@ | ||
declare var Array: ArrayConstructor; | ||
interface TypedPropertyDescriptor<T> { | ||
enumerable?: boolean; | ||
configurable?: boolean; | ||
writable?: boolean; | ||
value?: T; | ||
get?: () => T; | ||
set?: (value: T) => void; | ||
} | ||
declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void; | ||
declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; | ||
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void; | ||
declare type ParameterDecorator = (target: Function, propertyKey: string | symbol, parameterIndex: number) => void; |
@@ -23,4 +23,8 @@ /*! ***************************************************************************** | ||
declare var ActiveXObject: { new (s: string): any; }; | ||
interface ActiveXObject { | ||
new (s: string): any; | ||
} | ||
declare var ActiveXObject: ActiveXObject; | ||
interface ITextWriter { | ||
@@ -32,9 +36,155 @@ Write(s: string): void; | ||
interface TextStreamBase { | ||
/** | ||
* The column number of the current character position in an input stream. | ||
*/ | ||
Column: number; | ||
/** | ||
* The current line number in an input stream. | ||
*/ | ||
Line: number; | ||
/** | ||
* Closes a text stream. | ||
* It is not necessary to close standard streams; they close automatically when the process ends. If you close a standard stream, be aware that any other pointers to that standard stream become invalid. | ||
*/ | ||
Close(): void; | ||
} | ||
interface TextStreamWriter extends TextStreamBase { | ||
/** | ||
* Sends a string to an output stream. | ||
*/ | ||
Write(s: string): void; | ||
/** | ||
* Sends a specified number of blank lines (newline characters) to an output stream. | ||
*/ | ||
WriteBlankLines(intLines: number): void; | ||
/** | ||
* Sends a string followed by a newline character to an output stream. | ||
*/ | ||
WriteLine(s: string): void; | ||
} | ||
interface TextStreamReader extends TextStreamBase { | ||
/** | ||
* Returns a specified number of characters from an input stream, beginning at the current pointer position. | ||
* Does not return until the ENTER key is pressed. | ||
* Can only be used on a stream in reading mode; causes an error in writing or appending mode. | ||
*/ | ||
Read(characters: number): string; | ||
/** | ||
* Returns all characters from an input stream. | ||
* Can only be used on a stream in reading mode; causes an error in writing or appending mode. | ||
*/ | ||
ReadAll(): string; | ||
/** | ||
* Returns an entire line from an input stream. | ||
* Although this method extracts the newline character, it does not add it to the returned string. | ||
* Can only be used on a stream in reading mode; causes an error in writing or appending mode. | ||
*/ | ||
ReadLine(): string; | ||
/** | ||
* Skips a specified number of characters when reading from an input text stream. | ||
* Can only be used on a stream in reading mode; causes an error in writing or appending mode. | ||
* @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) | ||
*/ | ||
Skip(characters: number): void; | ||
/** | ||
* Skips the next line when reading from an input text stream. | ||
* Can only be used on a stream in reading mode, not writing or appending mode. | ||
*/ | ||
SkipLine(): void; | ||
/** | ||
* Indicates whether the stream pointer position is at the end of a line. | ||
*/ | ||
AtEndOfLine: boolean; | ||
/** | ||
* Indicates whether the stream pointer position is at the end of a stream. | ||
*/ | ||
AtEndOfStream: boolean; | ||
} | ||
declare var WScript: { | ||
/** | ||
* Outputs text to either a message box (under WScript.exe) or the command console window followed by a newline (under CScript.ext). | ||
*/ | ||
Echo(s: any): void; | ||
StdErr: ITextWriter; | ||
StdOut: ITextWriter; | ||
/** | ||
* Exposes the write-only error output stream for the current script. | ||
* Can be accessed only while using CScript.exe. | ||
*/ | ||
StdErr: TextStreamWriter; | ||
/** | ||
* Exposes the write-only output stream for the current script. | ||
* Can be accessed only while using CScript.exe. | ||
*/ | ||
StdOut: TextStreamWriter; | ||
Arguments: { length: number; Item(n: number): string; }; | ||
/** | ||
* The full path of the currently running script. | ||
*/ | ||
ScriptFullName: string; | ||
/** | ||
* Forces the script to stop immediately, with an optional exit code. | ||
*/ | ||
Quit(exitCode?: number): number; | ||
} | ||
/** | ||
* The Windows Script Host build version number. | ||
*/ | ||
BuildVersion: number; | ||
/** | ||
* Fully qualified path of the host executable. | ||
*/ | ||
FullName: string; | ||
/** | ||
* Gets/sets the script mode - interactive(true) or batch(false). | ||
*/ | ||
Interactive: boolean; | ||
/** | ||
* The name of the host executable (WScript.exe or CScript.exe). | ||
*/ | ||
Name: string; | ||
/** | ||
* Path of the directory containing the host executable. | ||
*/ | ||
Path: string; | ||
/** | ||
* The filename of the currently running script. | ||
*/ | ||
ScriptName: string; | ||
/** | ||
* Exposes the read-only input stream for the current script. | ||
* Can be accessed only while using CScript.exe. | ||
*/ | ||
StdIn: TextStreamReader; | ||
/** | ||
* Windows Script Host version | ||
*/ | ||
Version: string; | ||
/** | ||
* Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. | ||
*/ | ||
ConnectObject(objEventSource: any, strPrefix: string): void; | ||
/** | ||
* Creates a COM object. | ||
* @param strProgiID | ||
* @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. | ||
*/ | ||
CreateObject(strProgID: string, strPrefix?: string): any; | ||
/** | ||
* Disconnects a COM object from its event sources. | ||
*/ | ||
DisconnectObject(obj: any): void; | ||
/** | ||
* Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. | ||
* @param strPathname Fully qualified path to the file containing the object persisted to disk. For objects in memory, pass a zero-length string. | ||
* @param strProgID | ||
* @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. | ||
*/ | ||
GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; | ||
/** | ||
* Suspends script execution for a specified length of time, then continues execution. | ||
* @param intTime Interval (in milliseconds) to suspend script execution. | ||
*/ | ||
Sleep(intTime: number): void; | ||
}; |
@@ -761,3 +761,3 @@ /*! ***************************************************************************** | ||
formatMatcher?: string; | ||
hour12: boolean; | ||
hour12?: boolean; | ||
} | ||
@@ -764,0 +764,0 @@ |
@@ -29,3 +29,3 @@ /*! ***************************************************************************** | ||
} | ||
function forEach<T, U>(array: T[], callback: (element: T) => U): U; | ||
function forEach<T, U>(array: T[], callback: (element: T, index: number) => U): U; | ||
function contains<T>(array: T[], value: T): boolean; | ||
@@ -39,2 +39,3 @@ function indexOf<T>(array: T[], value: T): number; | ||
function sum(array: any[], prop: string): number; | ||
function addRange<T>(to: T[], from: T[]): void; | ||
/** | ||
@@ -45,2 +46,6 @@ * Returns the last element of an array if non-empty, undefined otherwise. | ||
function binarySearch(array: number[], value: number): number; | ||
function reduceLeft<T>(array: T[], f: (a: T, x: T) => T): T; | ||
function reduceLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U; | ||
function reduceRight<T>(array: T[], f: (a: T, x: T) => T): T; | ||
function reduceRight<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U; | ||
function hasProperty<T>(map: Map<T>, key: string): boolean; | ||
@@ -50,6 +55,7 @@ function getProperty<T>(map: Map<T>, key: string): T; | ||
function clone<T>(object: T): T; | ||
function extend<T>(first: Map<T>, second: Map<T>): Map<T>; | ||
function forEachValue<T, U>(map: Map<T>, callback: (value: T) => U): U; | ||
function forEachKey<T, U>(map: Map<T>, callback: (key: string) => U): U; | ||
function lookUp<T>(map: Map<T>, key: string): T; | ||
function mapToArray<T>(map: Map<T>): T[]; | ||
function copyMap<T>(source: Map<T>, target: Map<T>): void; | ||
/** | ||
@@ -66,3 +72,3 @@ * Creates a map from the elements of an array. | ||
function arrayToMap<T>(array: T[], makeKey: (value: T) => string): Map<T>; | ||
var localizedDiagnosticMessages: Map<string>; | ||
let localizedDiagnosticMessages: Map<string>; | ||
function getLocaleSpecificMessage(message: string): string; | ||
@@ -73,9 +79,9 @@ function createFileDiagnostic(file: SourceFile, start: number, length: number, message: DiagnosticMessage, ...args: any[]): Diagnostic; | ||
function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain; | ||
function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic; | ||
function compareValues<T>(a: T, b: T): Comparison; | ||
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number; | ||
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison; | ||
function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; | ||
function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; | ||
function normalizeSlashes(path: string): string; | ||
function getRootLength(path: string): number; | ||
var directorySeparator: string; | ||
let directorySeparator: string; | ||
function normalizePath(path: string): string; | ||
@@ -86,12 +92,10 @@ function getDirectoryPath(path: string): string; | ||
function getNormalizedPathComponents(path: string, currentDirectory: string): string[]; | ||
function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string; | ||
function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string; | ||
function getNormalizedPathFromPathComponents(pathComponents: string[]): string; | ||
function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string; | ||
function getBaseFilename(path: string): string; | ||
function getBaseFileName(path: string): string; | ||
function combinePaths(path1: string, path2: string): string; | ||
function fileExtensionIs(path: string, extension: string): boolean; | ||
function removeFileExtension(path: string): string; | ||
/** NOTE: This *does not* support the full escape characters, it only supports the subset that can be used in file names | ||
* or string literals. If the information encoded in the map changes, this needs to be revisited. */ | ||
function escapeString(s: string): string; | ||
function getDefaultLibFileName(options: CompilerOptions): string; | ||
interface ObjectAllocator { | ||
@@ -103,3 +107,3 @@ getNodeConstructor(kind: SyntaxKind): new () => Node; | ||
} | ||
var objectAllocator: ObjectAllocator; | ||
let objectAllocator: ObjectAllocator; | ||
const enum AssertionLevel { | ||
@@ -132,2 +136,3 @@ None = 0, | ||
getCurrentDirectory(): string; | ||
readDirectory(path: string, extension?: string): string[]; | ||
getMemoryUsage?(): number; | ||
@@ -147,2 +152,7 @@ exit(exitCode?: number): void; | ||
} | ||
interface SynthesizedNode extends Node { | ||
leadingCommentRanges?: CommentRange[]; | ||
trailingCommentRanges?: CommentRange[]; | ||
startsOnNewLine: boolean; | ||
} | ||
function getDeclarationOfKind(symbol: Symbol, kind: SyntaxKind): Declaration; | ||
@@ -152,11 +162,19 @@ interface StringSymbolWriter extends SymbolWriter { | ||
} | ||
interface EmitHost extends ScriptReferenceHost { | ||
getSourceFiles(): SourceFile[]; | ||
getCommonSourceDirectory(): string; | ||
getCanonicalFileName(fileName: string): string; | ||
getNewLine(): string; | ||
writeFile: WriteFileCallback; | ||
} | ||
function getSingleLineStringWriter(): StringSymbolWriter; | ||
function releaseStringWriter(writer: StringSymbolWriter): void; | ||
function getFullWidth(node: Node): number; | ||
function hasFlag(val: number, flag: number): boolean; | ||
function containsParseError(node: Node): boolean; | ||
function getSourceFileOfNode(node: Node): SourceFile; | ||
function getStartPositionOfLine(line: number, sourceFile: SourceFile): number; | ||
function nodePosToString(node: Node): string; | ||
function getStartPosOfNode(node: Node): number; | ||
function isMissingNode(node: Node): boolean; | ||
function nodeIsMissing(node: Node): boolean; | ||
function nodeIsPresent(node: Node): boolean; | ||
function getTokenPosOfNode(node: Node, sourceFile?: SourceFile): number; | ||
@@ -168,17 +186,22 @@ function getSourceTextOfNodeFromSourceFile(sourceFile: SourceFile, node: Node): string; | ||
function unescapeIdentifier(identifier: string): string; | ||
function makeIdentifierFromModuleName(moduleName: string): string; | ||
function isBlockOrCatchScoped(declaration: Declaration): boolean; | ||
function getEnclosingBlockScopeContainer(node: Node): Node; | ||
function isCatchClauseVariableDeclaration(declaration: Declaration): boolean; | ||
function declarationNameToString(name: DeclarationName): string; | ||
function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic; | ||
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic; | ||
function getErrorSpanForNode(node: Node): Node; | ||
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic; | ||
function getErrorSpanForNode(sourceFile: SourceFile, node: Node): TextSpan; | ||
function isExternalModule(file: SourceFile): boolean; | ||
function isDeclarationFile(file: SourceFile): boolean; | ||
function isConstEnumDeclaration(node: Node): boolean; | ||
function getCombinedNodeFlags(node: Node): NodeFlags; | ||
function isConst(node: Node): boolean; | ||
function isLet(node: Node): boolean; | ||
function isPrologueDirective(node: Node): boolean; | ||
function getLeadingCommentRangesOfNode(node: Node, sourceFileOfNode?: SourceFile): CommentRange[]; | ||
function getLeadingCommentRangesOfNode(node: Node, sourceFileOfNode: SourceFile): CommentRange[]; | ||
function getJsDocComments(node: Node, sourceFileOfNode: SourceFile): CommentRange[]; | ||
var fullTripleSlashReferencePathRegEx: RegExp; | ||
let fullTripleSlashReferencePathRegEx: RegExp; | ||
function forEachReturnStatement<T>(body: Block, visitor: (stmt: ReturnStatement) => T): T; | ||
function isAnyFunction(node: Node): boolean; | ||
function isFunctionLike(node: Node): boolean; | ||
function isFunctionBlock(node: Node): boolean; | ||
@@ -188,8 +211,14 @@ function isObjectLiteralMethod(node: Node): boolean; | ||
function getThisContainer(node: Node, includeArrowFunctions: boolean): Node; | ||
function getSuperContainer(node: Node): Node; | ||
function getSuperContainer(node: Node, includeFunctions: boolean): Node; | ||
function getInvokedExpression(node: CallLikeExpression): Expression; | ||
function nodeCanBeDecorated(node: Node): boolean; | ||
function nodeIsDecorated(node: Node): boolean; | ||
function childIsDecorated(node: Node): boolean; | ||
function nodeOrChildIsDecorated(node: Node): boolean; | ||
function isExpression(node: Node): boolean; | ||
function isExternalModuleImportDeclaration(node: Node): boolean; | ||
function getExternalModuleImportDeclarationExpression(node: Node): Expression; | ||
function isInternalModuleImportDeclaration(node: Node): boolean; | ||
function isInstantiatedModule(node: ModuleDeclaration, preserveConstEnums: boolean): boolean; | ||
function isExternalModuleImportEqualsDeclaration(node: Node): boolean; | ||
function getExternalModuleImportEqualsDeclarationExpression(node: Node): Expression; | ||
function isInternalModuleImportEqualsDeclaration(node: Node): boolean; | ||
function getExternalModuleName(node: Node): Expression; | ||
function hasDotDotDotToken(node: Node): boolean; | ||
@@ -201,11 +230,14 @@ function hasQuestionToken(node: Node): boolean; | ||
function isTemplateLiteralKind(kind: SyntaxKind): boolean; | ||
function isBindingPattern(node: Node): boolean; | ||
function isInAmbientContext(node: Node): boolean; | ||
function isDeclaration(node: Node): boolean; | ||
function isStatement(n: Node): boolean; | ||
function isDeclarationOrFunctionExpressionOrCatchVariableName(name: Node): boolean; | ||
function getClassBaseTypeNode(node: ClassDeclaration): TypeReferenceNode; | ||
function getClassImplementedTypeNodes(node: ClassDeclaration): NodeArray<TypeReferenceNode>; | ||
function getInterfaceBaseTypeNodes(node: InterfaceDeclaration): NodeArray<TypeReferenceNode>; | ||
function isClassElement(n: Node): boolean; | ||
function isDeclarationName(name: Node): boolean; | ||
function isAliasSymbolDeclaration(node: Node): boolean; | ||
function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration): HeritageClauseElement; | ||
function getClassImplementsHeritageClauseElements(node: ClassDeclaration): NodeArray<HeritageClauseElement>; | ||
function getInterfaceBaseTypeNodes(node: InterfaceDeclaration): NodeArray<HeritageClauseElement>; | ||
function getHeritageClause(clauses: NodeArray<HeritageClause>, kind: SyntaxKind): HeritageClause; | ||
function tryResolveScriptReference(program: Program, sourceFile: SourceFile, reference: FileReference): SourceFile; | ||
function tryResolveScriptReference(host: ScriptReferenceHost, sourceFile: SourceFile, reference: FileReference): SourceFile; | ||
function getAncestor(node: Node, kind: SyntaxKind): Node; | ||
@@ -215,5 +247,109 @@ function getFileReferenceFromReferencePath(comment: string, commentRange: CommentRange): ReferencePathMatchResult; | ||
function isTrivia(token: SyntaxKind): boolean; | ||
/** | ||
* A declaration has a dynamic name if both of the following are true: | ||
* 1. The declaration has a computed property name | ||
* 2. The computed name is *not* expressed as Symbol.<name>, where name | ||
* is a property of the Symbol constructor that denotes a built in | ||
* Symbol. | ||
*/ | ||
function hasDynamicName(declaration: Declaration): boolean; | ||
/** | ||
* Checks if the expression is of the form: | ||
* Symbol.name | ||
* where Symbol is literally the word "Symbol", and name is any identifierName | ||
*/ | ||
function isWellKnownSymbolSyntactically(node: Expression): boolean; | ||
function getPropertyNameForPropertyNameNode(name: DeclarationName): string; | ||
function getPropertyNameForKnownSymbolName(symbolName: string): string; | ||
/** | ||
* Includes the word "Symbol" with unicode escapes | ||
*/ | ||
function isESSymbolIdentifier(node: Node): boolean; | ||
function isModifier(token: SyntaxKind): boolean; | ||
function textSpanEnd(span: TextSpan): number; | ||
function textSpanIsEmpty(span: TextSpan): boolean; | ||
function textSpanContainsPosition(span: TextSpan, position: number): boolean; | ||
function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; | ||
function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; | ||
function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; | ||
function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; | ||
function createTextSpan(start: number, length: number): TextSpan; | ||
function createTextSpanFromBounds(start: number, end: number): TextSpan; | ||
function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; | ||
function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; | ||
function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; | ||
let unchangedTextChangeRange: TextChangeRange; | ||
/** | ||
* Called to merge all the changes that occurred across several versions of a script snapshot | ||
* into a single change. i.e. if a user keeps making successive edits to a script we will | ||
* have a text change from V1 to V2, V2 to V3, ..., Vn. | ||
* | ||
* This function will then merge those changes into a single change range valid between V1 and | ||
* Vn. | ||
*/ | ||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; | ||
function nodeStartsNewLexicalEnvironment(n: Node): boolean; | ||
function nodeIsSynthesized(node: Node): boolean; | ||
function createSynthesizedNode(kind: SyntaxKind, startsOnNewLine?: boolean): Node; | ||
/** | ||
* Based heavily on the abstract 'Quote'/'QuoteJSONString' operation from ECMA-262 (24.3.2.2), | ||
* but augmented for a few select characters (e.g. lineSeparator, paragraphSeparator, nextLine) | ||
* Note that this doesn't actually wrap the input in double quotes. | ||
*/ | ||
function escapeString(s: string): string; | ||
function escapeNonAsciiCharacters(s: string): string; | ||
interface EmitTextWriter { | ||
write(s: string): void; | ||
writeTextOfNode(sourceFile: SourceFile, node: Node): void; | ||
writeLine(): void; | ||
increaseIndent(): void; | ||
decreaseIndent(): void; | ||
getText(): string; | ||
rawWrite(s: string): void; | ||
writeLiteral(s: string): void; | ||
getTextPos(): number; | ||
getLine(): number; | ||
getColumn(): number; | ||
getIndent(): number; | ||
} | ||
function getIndentString(level: number): string; | ||
function getIndentSize(): number; | ||
function createTextWriter(newLine: String): EmitTextWriter; | ||
function getOwnEmitOutputFilePath(sourceFile: SourceFile, host: EmitHost, extension: string): string; | ||
function getSourceFilePathInNewDir(sourceFile: SourceFile, host: EmitHost, newDirPath: string): string; | ||
function writeFile(host: EmitHost, diagnostics: Diagnostic[], fileName: string, data: string, writeByteOrderMark: boolean): void; | ||
function getLineOfLocalPosition(currentSourceFile: SourceFile, pos: number): number; | ||
function getFirstConstructorWithBody(node: ClassLikeDeclaration): ConstructorDeclaration; | ||
function shouldEmitToOwnFile(sourceFile: SourceFile, compilerOptions: CompilerOptions): boolean; | ||
function getAllAccessorDeclarations(declarations: NodeArray<Declaration>, accessor: AccessorDeclaration): { | ||
firstAccessor: AccessorDeclaration; | ||
secondAccessor: AccessorDeclaration; | ||
getAccessor: AccessorDeclaration; | ||
setAccessor: AccessorDeclaration; | ||
}; | ||
function emitNewLineBeforeLeadingComments(currentSourceFile: SourceFile, writer: EmitTextWriter, node: TextRange, leadingComments: CommentRange[]): void; | ||
function emitComments(currentSourceFile: SourceFile, writer: EmitTextWriter, comments: CommentRange[], trailingSeparator: boolean, newLine: string, writeComment: (currentSourceFile: SourceFile, writer: EmitTextWriter, comment: CommentRange, newLine: string) => void): void; | ||
function writeCommentRange(currentSourceFile: SourceFile, writer: EmitTextWriter, comment: CommentRange, newLine: string): void; | ||
function isSupportedHeritageClauseElement(node: HeritageClauseElement): boolean; | ||
function isRightSideOfQualifiedNameOrPropertyAccess(node: Node): boolean; | ||
function getLocalSymbolForExportDefault(symbol: Symbol): Symbol; | ||
} | ||
declare module "typescript" { | ||
/** | ||
* Read tsconfig.json file | ||
* @param fileName The path to the config file | ||
*/ | ||
function readConfigFile(fileName: string): any; | ||
/** | ||
* Parse the contents of a config file (tsconfig.json). | ||
* @param json The contents of the config file to parse | ||
* @param basePath A root directory to resolve relative path entries in the config | ||
* file to. e.g. outDir | ||
*/ | ||
function parseConfigFile(json: any, basePath?: string): ParsedCommandLine; | ||
} | ||
declare module "typescript" { | ||
interface ListItemInfo { | ||
@@ -224,4 +360,3 @@ listItemIndex: number; | ||
function getEndLinePosition(line: number, sourceFile: SourceFile): number; | ||
function getStartPositionOfLine(line: number, sourceFile: SourceFile): number; | ||
function getStartLinePositionForPosition(position: number, sourceFile: SourceFile): number; | ||
function getLineStartPositionForPosition(position: number, sourceFile: SourceFile): number; | ||
function rangeContainsRange(r1: TextRange, r2: TextRange): boolean; | ||
@@ -232,3 +367,6 @@ function startEndContainsRange(start: number, end: number, range: TextRange): boolean; | ||
function startEndOverlapsWithStartEnd(start1: number, end1: number, start2: number, end2: number): boolean; | ||
function positionBelongsToNode(candidate: Node, position: number, sourceFile: SourceFile): boolean; | ||
function isCompletedNode(n: Node, sourceFile: SourceFile): boolean; | ||
function findListItemInfo(node: Node): ListItemInfo; | ||
function hasChildOfKind(n: Node, kind: SyntaxKind, sourceFile?: SourceFile): boolean; | ||
function findChildOfKind(n: Node, kind: SyntaxKind, sourceFile?: SourceFile): Node; | ||
@@ -256,5 +394,7 @@ function findContainingList(node: Node): Node; | ||
function isToken(n: Node): boolean; | ||
function isWord(kind: SyntaxKind): boolean; | ||
function isComment(kind: SyntaxKind): boolean; | ||
function isPunctuation(kind: SyntaxKind): boolean; | ||
function isInsideTemplateLiteral(node: LiteralExpression, position: number): boolean; | ||
function isAccessibilityModifier(kind: SyntaxKind): boolean; | ||
function compareDataObjects(dst: any, src: any): boolean; | ||
@@ -270,2 +410,3 @@ } | ||
function operatorPart(kind: SyntaxKind): SymbolDisplayPart; | ||
function textOrKeywordPart(text: string): SymbolDisplayPart; | ||
function textPart(text: string): SymbolDisplayPart; | ||
@@ -272,0 +413,0 @@ function lineBreakPart(): SymbolDisplayPart; |
@@ -29,3 +29,3 @@ /*! ***************************************************************************** | ||
} | ||
function forEach<T, U>(array: T[], callback: (element: T) => U): U; | ||
function forEach<T, U>(array: T[], callback: (element: T, index: number) => U): U; | ||
function contains<T>(array: T[], value: T): boolean; | ||
@@ -39,2 +39,3 @@ function indexOf<T>(array: T[], value: T): number; | ||
function sum(array: any[], prop: string): number; | ||
function addRange<T>(to: T[], from: T[]): void; | ||
/** | ||
@@ -45,2 +46,6 @@ * Returns the last element of an array if non-empty, undefined otherwise. | ||
function binarySearch(array: number[], value: number): number; | ||
function reduceLeft<T>(array: T[], f: (a: T, x: T) => T): T; | ||
function reduceLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U; | ||
function reduceRight<T>(array: T[], f: (a: T, x: T) => T): T; | ||
function reduceRight<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U; | ||
function hasProperty<T>(map: Map<T>, key: string): boolean; | ||
@@ -50,6 +55,7 @@ function getProperty<T>(map: Map<T>, key: string): T; | ||
function clone<T>(object: T): T; | ||
function extend<T>(first: Map<T>, second: Map<T>): Map<T>; | ||
function forEachValue<T, U>(map: Map<T>, callback: (value: T) => U): U; | ||
function forEachKey<T, U>(map: Map<T>, callback: (key: string) => U): U; | ||
function lookUp<T>(map: Map<T>, key: string): T; | ||
function mapToArray<T>(map: Map<T>): T[]; | ||
function copyMap<T>(source: Map<T>, target: Map<T>): void; | ||
/** | ||
@@ -66,3 +72,3 @@ * Creates a map from the elements of an array. | ||
function arrayToMap<T>(array: T[], makeKey: (value: T) => string): Map<T>; | ||
var localizedDiagnosticMessages: Map<string>; | ||
let localizedDiagnosticMessages: Map<string>; | ||
function getLocaleSpecificMessage(message: string): string; | ||
@@ -73,9 +79,9 @@ function createFileDiagnostic(file: SourceFile, start: number, length: number, message: DiagnosticMessage, ...args: any[]): Diagnostic; | ||
function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain; | ||
function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic; | ||
function compareValues<T>(a: T, b: T): Comparison; | ||
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number; | ||
function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison; | ||
function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; | ||
function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; | ||
function normalizeSlashes(path: string): string; | ||
function getRootLength(path: string): number; | ||
var directorySeparator: string; | ||
let directorySeparator: string; | ||
function normalizePath(path: string): string; | ||
@@ -86,12 +92,10 @@ function getDirectoryPath(path: string): string; | ||
function getNormalizedPathComponents(path: string, currentDirectory: string): string[]; | ||
function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string; | ||
function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string; | ||
function getNormalizedPathFromPathComponents(pathComponents: string[]): string; | ||
function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string; | ||
function getBaseFilename(path: string): string; | ||
function getBaseFileName(path: string): string; | ||
function combinePaths(path1: string, path2: string): string; | ||
function fileExtensionIs(path: string, extension: string): boolean; | ||
function removeFileExtension(path: string): string; | ||
/** NOTE: This *does not* support the full escape characters, it only supports the subset that can be used in file names | ||
* or string literals. If the information encoded in the map changes, this needs to be revisited. */ | ||
function escapeString(s: string): string; | ||
function getDefaultLibFileName(options: CompilerOptions): string; | ||
interface ObjectAllocator { | ||
@@ -103,3 +107,3 @@ getNodeConstructor(kind: SyntaxKind): new () => Node; | ||
} | ||
var objectAllocator: ObjectAllocator; | ||
let objectAllocator: ObjectAllocator; | ||
const enum AssertionLevel { | ||
@@ -132,2 +136,3 @@ None = 0, | ||
getCurrentDirectory(): string; | ||
readDirectory(path: string, extension?: string): string[]; | ||
getMemoryUsage?(): number; | ||
@@ -147,2 +152,7 @@ exit(exitCode?: number): void; | ||
} | ||
interface SynthesizedNode extends Node { | ||
leadingCommentRanges?: CommentRange[]; | ||
trailingCommentRanges?: CommentRange[]; | ||
startsOnNewLine: boolean; | ||
} | ||
function getDeclarationOfKind(symbol: Symbol, kind: SyntaxKind): Declaration; | ||
@@ -152,11 +162,19 @@ interface StringSymbolWriter extends SymbolWriter { | ||
} | ||
interface EmitHost extends ScriptReferenceHost { | ||
getSourceFiles(): SourceFile[]; | ||
getCommonSourceDirectory(): string; | ||
getCanonicalFileName(fileName: string): string; | ||
getNewLine(): string; | ||
writeFile: WriteFileCallback; | ||
} | ||
function getSingleLineStringWriter(): StringSymbolWriter; | ||
function releaseStringWriter(writer: StringSymbolWriter): void; | ||
function getFullWidth(node: Node): number; | ||
function hasFlag(val: number, flag: number): boolean; | ||
function containsParseError(node: Node): boolean; | ||
function getSourceFileOfNode(node: Node): SourceFile; | ||
function getStartPositionOfLine(line: number, sourceFile: SourceFile): number; | ||
function nodePosToString(node: Node): string; | ||
function getStartPosOfNode(node: Node): number; | ||
function isMissingNode(node: Node): boolean; | ||
function nodeIsMissing(node: Node): boolean; | ||
function nodeIsPresent(node: Node): boolean; | ||
function getTokenPosOfNode(node: Node, sourceFile?: SourceFile): number; | ||
@@ -168,17 +186,22 @@ function getSourceTextOfNodeFromSourceFile(sourceFile: SourceFile, node: Node): string; | ||
function unescapeIdentifier(identifier: string): string; | ||
function makeIdentifierFromModuleName(moduleName: string): string; | ||
function isBlockOrCatchScoped(declaration: Declaration): boolean; | ||
function getEnclosingBlockScopeContainer(node: Node): Node; | ||
function isCatchClauseVariableDeclaration(declaration: Declaration): boolean; | ||
function declarationNameToString(name: DeclarationName): string; | ||
function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic; | ||
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic; | ||
function getErrorSpanForNode(node: Node): Node; | ||
function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic; | ||
function getErrorSpanForNode(sourceFile: SourceFile, node: Node): TextSpan; | ||
function isExternalModule(file: SourceFile): boolean; | ||
function isDeclarationFile(file: SourceFile): boolean; | ||
function isConstEnumDeclaration(node: Node): boolean; | ||
function getCombinedNodeFlags(node: Node): NodeFlags; | ||
function isConst(node: Node): boolean; | ||
function isLet(node: Node): boolean; | ||
function isPrologueDirective(node: Node): boolean; | ||
function getLeadingCommentRangesOfNode(node: Node, sourceFileOfNode?: SourceFile): CommentRange[]; | ||
function getLeadingCommentRangesOfNode(node: Node, sourceFileOfNode: SourceFile): CommentRange[]; | ||
function getJsDocComments(node: Node, sourceFileOfNode: SourceFile): CommentRange[]; | ||
var fullTripleSlashReferencePathRegEx: RegExp; | ||
let fullTripleSlashReferencePathRegEx: RegExp; | ||
function forEachReturnStatement<T>(body: Block, visitor: (stmt: ReturnStatement) => T): T; | ||
function isAnyFunction(node: Node): boolean; | ||
function isFunctionLike(node: Node): boolean; | ||
function isFunctionBlock(node: Node): boolean; | ||
@@ -188,8 +211,14 @@ function isObjectLiteralMethod(node: Node): boolean; | ||
function getThisContainer(node: Node, includeArrowFunctions: boolean): Node; | ||
function getSuperContainer(node: Node): Node; | ||
function getSuperContainer(node: Node, includeFunctions: boolean): Node; | ||
function getInvokedExpression(node: CallLikeExpression): Expression; | ||
function nodeCanBeDecorated(node: Node): boolean; | ||
function nodeIsDecorated(node: Node): boolean; | ||
function childIsDecorated(node: Node): boolean; | ||
function nodeOrChildIsDecorated(node: Node): boolean; | ||
function isExpression(node: Node): boolean; | ||
function isExternalModuleImportDeclaration(node: Node): boolean; | ||
function getExternalModuleImportDeclarationExpression(node: Node): Expression; | ||
function isInternalModuleImportDeclaration(node: Node): boolean; | ||
function isInstantiatedModule(node: ModuleDeclaration, preserveConstEnums: boolean): boolean; | ||
function isExternalModuleImportEqualsDeclaration(node: Node): boolean; | ||
function getExternalModuleImportEqualsDeclarationExpression(node: Node): Expression; | ||
function isInternalModuleImportEqualsDeclaration(node: Node): boolean; | ||
function getExternalModuleName(node: Node): Expression; | ||
function hasDotDotDotToken(node: Node): boolean; | ||
@@ -201,11 +230,14 @@ function hasQuestionToken(node: Node): boolean; | ||
function isTemplateLiteralKind(kind: SyntaxKind): boolean; | ||
function isBindingPattern(node: Node): boolean; | ||
function isInAmbientContext(node: Node): boolean; | ||
function isDeclaration(node: Node): boolean; | ||
function isStatement(n: Node): boolean; | ||
function isDeclarationOrFunctionExpressionOrCatchVariableName(name: Node): boolean; | ||
function getClassBaseTypeNode(node: ClassDeclaration): TypeReferenceNode; | ||
function getClassImplementedTypeNodes(node: ClassDeclaration): NodeArray<TypeReferenceNode>; | ||
function getInterfaceBaseTypeNodes(node: InterfaceDeclaration): NodeArray<TypeReferenceNode>; | ||
function isClassElement(n: Node): boolean; | ||
function isDeclarationName(name: Node): boolean; | ||
function isAliasSymbolDeclaration(node: Node): boolean; | ||
function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration): HeritageClauseElement; | ||
function getClassImplementsHeritageClauseElements(node: ClassDeclaration): NodeArray<HeritageClauseElement>; | ||
function getInterfaceBaseTypeNodes(node: InterfaceDeclaration): NodeArray<HeritageClauseElement>; | ||
function getHeritageClause(clauses: NodeArray<HeritageClause>, kind: SyntaxKind): HeritageClause; | ||
function tryResolveScriptReference(program: Program, sourceFile: SourceFile, reference: FileReference): SourceFile; | ||
function tryResolveScriptReference(host: ScriptReferenceHost, sourceFile: SourceFile, reference: FileReference): SourceFile; | ||
function getAncestor(node: Node, kind: SyntaxKind): Node; | ||
@@ -215,5 +247,109 @@ function getFileReferenceFromReferencePath(comment: string, commentRange: CommentRange): ReferencePathMatchResult; | ||
function isTrivia(token: SyntaxKind): boolean; | ||
/** | ||
* A declaration has a dynamic name if both of the following are true: | ||
* 1. The declaration has a computed property name | ||
* 2. The computed name is *not* expressed as Symbol.<name>, where name | ||
* is a property of the Symbol constructor that denotes a built in | ||
* Symbol. | ||
*/ | ||
function hasDynamicName(declaration: Declaration): boolean; | ||
/** | ||
* Checks if the expression is of the form: | ||
* Symbol.name | ||
* where Symbol is literally the word "Symbol", and name is any identifierName | ||
*/ | ||
function isWellKnownSymbolSyntactically(node: Expression): boolean; | ||
function getPropertyNameForPropertyNameNode(name: DeclarationName): string; | ||
function getPropertyNameForKnownSymbolName(symbolName: string): string; | ||
/** | ||
* Includes the word "Symbol" with unicode escapes | ||
*/ | ||
function isESSymbolIdentifier(node: Node): boolean; | ||
function isModifier(token: SyntaxKind): boolean; | ||
function textSpanEnd(span: TextSpan): number; | ||
function textSpanIsEmpty(span: TextSpan): boolean; | ||
function textSpanContainsPosition(span: TextSpan, position: number): boolean; | ||
function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan; | ||
function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean; | ||
function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean; | ||
function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean; | ||
function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan; | ||
function createTextSpan(start: number, length: number): TextSpan; | ||
function createTextSpanFromBounds(start: number, end: number): TextSpan; | ||
function textChangeRangeNewSpan(range: TextChangeRange): TextSpan; | ||
function textChangeRangeIsUnchanged(range: TextChangeRange): boolean; | ||
function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange; | ||
let unchangedTextChangeRange: TextChangeRange; | ||
/** | ||
* Called to merge all the changes that occurred across several versions of a script snapshot | ||
* into a single change. i.e. if a user keeps making successive edits to a script we will | ||
* have a text change from V1 to V2, V2 to V3, ..., Vn. | ||
* | ||
* This function will then merge those changes into a single change range valid between V1 and | ||
* Vn. | ||
*/ | ||
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange; | ||
function nodeStartsNewLexicalEnvironment(n: Node): boolean; | ||
function nodeIsSynthesized(node: Node): boolean; | ||
function createSynthesizedNode(kind: SyntaxKind, startsOnNewLine?: boolean): Node; | ||
/** | ||
* Based heavily on the abstract 'Quote'/'QuoteJSONString' operation from ECMA-262 (24.3.2.2), | ||
* but augmented for a few select characters (e.g. lineSeparator, paragraphSeparator, nextLine) | ||
* Note that this doesn't actually wrap the input in double quotes. | ||
*/ | ||
function escapeString(s: string): string; | ||
function escapeNonAsciiCharacters(s: string): string; | ||
interface EmitTextWriter { | ||
write(s: string): void; | ||
writeTextOfNode(sourceFile: SourceFile, node: Node): void; | ||
writeLine(): void; | ||
increaseIndent(): void; | ||
decreaseIndent(): void; | ||
getText(): string; | ||
rawWrite(s: string): void; | ||
writeLiteral(s: string): void; | ||
getTextPos(): number; | ||
getLine(): number; | ||
getColumn(): number; | ||
getIndent(): number; | ||
} | ||
function getIndentString(level: number): string; | ||
function getIndentSize(): number; | ||
function createTextWriter(newLine: String): EmitTextWriter; | ||
function getOwnEmitOutputFilePath(sourceFile: SourceFile, host: EmitHost, extension: string): string; | ||
function getSourceFilePathInNewDir(sourceFile: SourceFile, host: EmitHost, newDirPath: string): string; | ||
function writeFile(host: EmitHost, diagnostics: Diagnostic[], fileName: string, data: string, writeByteOrderMark: boolean): void; | ||
function getLineOfLocalPosition(currentSourceFile: SourceFile, pos: number): number; | ||
function getFirstConstructorWithBody(node: ClassLikeDeclaration): ConstructorDeclaration; | ||
function shouldEmitToOwnFile(sourceFile: SourceFile, compilerOptions: CompilerOptions): boolean; | ||
function getAllAccessorDeclarations(declarations: NodeArray<Declaration>, accessor: AccessorDeclaration): { | ||
firstAccessor: AccessorDeclaration; | ||
secondAccessor: AccessorDeclaration; | ||
getAccessor: AccessorDeclaration; | ||
setAccessor: AccessorDeclaration; | ||
}; | ||
function emitNewLineBeforeLeadingComments(currentSourceFile: SourceFile, writer: EmitTextWriter, node: TextRange, leadingComments: CommentRange[]): void; | ||
function emitComments(currentSourceFile: SourceFile, writer: EmitTextWriter, comments: CommentRange[], trailingSeparator: boolean, newLine: string, writeComment: (currentSourceFile: SourceFile, writer: EmitTextWriter, comment: CommentRange, newLine: string) => void): void; | ||
function writeCommentRange(currentSourceFile: SourceFile, writer: EmitTextWriter, comment: CommentRange, newLine: string): void; | ||
function isSupportedHeritageClauseElement(node: HeritageClauseElement): boolean; | ||
function isRightSideOfQualifiedNameOrPropertyAccess(node: Node): boolean; | ||
function getLocalSymbolForExportDefault(symbol: Symbol): Symbol; | ||
} | ||
declare module ts { | ||
/** | ||
* Read tsconfig.json file | ||
* @param fileName The path to the config file | ||
*/ | ||
function readConfigFile(fileName: string): any; | ||
/** | ||
* Parse the contents of a config file (tsconfig.json). | ||
* @param json The contents of the config file to parse | ||
* @param basePath A root directory to resolve relative path entries in the config | ||
* file to. e.g. outDir | ||
*/ | ||
function parseConfigFile(json: any, basePath?: string): ParsedCommandLine; | ||
} | ||
declare module ts { | ||
interface ListItemInfo { | ||
@@ -224,4 +360,3 @@ listItemIndex: number; | ||
function getEndLinePosition(line: number, sourceFile: SourceFile): number; | ||
function getStartPositionOfLine(line: number, sourceFile: SourceFile): number; | ||
function getStartLinePositionForPosition(position: number, sourceFile: SourceFile): number; | ||
function getLineStartPositionForPosition(position: number, sourceFile: SourceFile): number; | ||
function rangeContainsRange(r1: TextRange, r2: TextRange): boolean; | ||
@@ -232,3 +367,6 @@ function startEndContainsRange(start: number, end: number, range: TextRange): boolean; | ||
function startEndOverlapsWithStartEnd(start1: number, end1: number, start2: number, end2: number): boolean; | ||
function positionBelongsToNode(candidate: Node, position: number, sourceFile: SourceFile): boolean; | ||
function isCompletedNode(n: Node, sourceFile: SourceFile): boolean; | ||
function findListItemInfo(node: Node): ListItemInfo; | ||
function hasChildOfKind(n: Node, kind: SyntaxKind, sourceFile?: SourceFile): boolean; | ||
function findChildOfKind(n: Node, kind: SyntaxKind, sourceFile?: SourceFile): Node; | ||
@@ -256,5 +394,7 @@ function findContainingList(node: Node): Node; | ||
function isToken(n: Node): boolean; | ||
function isWord(kind: SyntaxKind): boolean; | ||
function isComment(kind: SyntaxKind): boolean; | ||
function isPunctuation(kind: SyntaxKind): boolean; | ||
function isInsideTemplateLiteral(node: LiteralExpression, position: number): boolean; | ||
function isAccessibilityModifier(kind: SyntaxKind): boolean; | ||
function compareDataObjects(dst: any, src: any): boolean; | ||
@@ -270,2 +410,3 @@ } | ||
function operatorPart(kind: SyntaxKind): SymbolDisplayPart; | ||
function textOrKeywordPart(text: string): SymbolDisplayPart; | ||
function textPart(text: string): SymbolDisplayPart; | ||
@@ -272,0 +413,0 @@ function lineBreakPart(): SymbolDisplayPart; |
@@ -12,3 +12,3 @@ ## Contributing bug fixes | ||
Please submit a Contributor License Agreement (CLA) before submitting a pull request. Download the agreement ([Microsoft Contribution License Agreement.docx](https://www.codeplex.com/Download?ProjectName=typescript&DownloadId=822190) or [Microsoft Contribution License Agreement.pdf](https://www.codeplex.com/Download?ProjectName=typescript&DownloadId=921298)), sign, scan, and email it back to <cla@microsoft.com>. Be sure to include your github user name along with the agreement. Once we have received the signed CLA, we'll review the request. Please note that we're currently only accepting pull requests of bug fixes rather than new features. | ||
Please submit a Contributor License Agreement (CLA) before submitting a pull request. You may visit https://cla.microsoft.com to sign digitally. Alternatively, download the agreement ([Microsoft Contribution License Agreement.docx](https://www.codeplex.com/Download?ProjectName=typescript&DownloadId=822190) or [Microsoft Contribution License Agreement.pdf](https://www.codeplex.com/Download?ProjectName=typescript&DownloadId=921298)), sign, scan, and email it back to <cla@microsoft.com>. Be sure to include your github user name along with the agreement. Once we have received the signed CLA, we'll review the request. Please note that we're currently only accepting pull requests of bug fixes rather than new features. | ||
@@ -15,0 +15,0 @@ ## Housekeeping |
{ | ||
"name": "typescript", | ||
"author": "Microsoft Corp.", | ||
"homepage": "http://typescriptlang.org/", | ||
"version": "1.4.1", | ||
"licenses": [ | ||
{ | ||
"type": "Apache License 2.0", | ||
"url": "https://github.com/Microsoft/TypeScript/blob/master/LICENSE.txt" | ||
} | ||
], | ||
"description": "TypeScript is a language for application scale JavaScript development", | ||
"keywords": [ | ||
"TypeScript", | ||
"Microsoft", | ||
"compiler", | ||
"language", | ||
"javascript" | ||
], | ||
"bugs": { | ||
"url" : "https://github.com/Microsoft/TypeScript/issues" | ||
}, | ||
"repository" : { | ||
"type" : "git", | ||
"url" : "https://github.com/Microsoft/TypeScript.git" | ||
}, | ||
"preferGlobal" : true, | ||
"main" : "./bin/typescriptServices.js", | ||
"bin" : { | ||
"tsc" : "./bin/tsc" | ||
}, | ||
"engines" : { | ||
"node" : ">=0.8.0" | ||
}, | ||
"devDependencies": { | ||
"jake" : "latest", | ||
"mocha" : "latest", | ||
"chai" : "latest", | ||
"browserify" : "latest", | ||
"istanbul": "latest", | ||
"codeclimate-test-reporter": "latest" | ||
}, | ||
"scripts": { | ||
"test": "jake generate-code-coverage" | ||
} | ||
"name": "typescript", | ||
"author": "Microsoft Corp.", | ||
"homepage": "http://typescriptlang.org/", | ||
"version": "1.5.0-alpha", | ||
"licenses": [ | ||
{ | ||
"type": "Apache License 2.0", | ||
"url": "https://github.com/Microsoft/TypeScript/blob/master/LICENSE.txt" | ||
} | ||
], | ||
"description": "TypeScript is a language for application scale JavaScript development", | ||
"keywords": [ | ||
"TypeScript", | ||
"Microsoft", | ||
"compiler", | ||
"language", | ||
"javascript" | ||
], | ||
"bugs": { | ||
"url": "https://github.com/Microsoft/TypeScript/issues" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/Microsoft/TypeScript.git" | ||
}, | ||
"preferGlobal": true, | ||
"main": "./bin/typescript.js", | ||
"bin": { | ||
"tsc": "./bin/tsc", | ||
"tsserver": "./bin/tsserver" | ||
}, | ||
"engines": { | ||
"node": ">=0.8.0" | ||
}, | ||
"devDependencies": { | ||
"jake": "latest", | ||
"mocha": "latest", | ||
"chai": "latest", | ||
"browserify": "latest", | ||
"istanbul": "latest" | ||
}, | ||
"scripts": { | ||
"test": "jake runtests" | ||
} | ||
} |
[![Build Status](https://travis-ci.org/Microsoft/TypeScript.svg?branch=master)](https://travis-ci.org/Microsoft/TypeScript) | ||
[![Issue Stats](http://issuestats.com/github/Microsoft/TypeScript/badge/pr)](http://issuestats.com/github/microsoft/typescript) | ||
[![Issue Stats](http://issuestats.com/github/Microsoft/TypeScript/badge/issue)](http://issuestats.com/github/microsoft/typescript) | ||
[![npm version](https://badge.fury.io/js/typescript.svg)](http://badge.fury.io/js/typescript) | ||
[![Downloads](http://img.shields.io/npm/dm/TypeScript.svg)](https://npmjs.org/package/typescript) | ||
@@ -5,0 +7,0 @@ # TypeScript |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
8970316
5
26
184448
81
0
1