Expose readConfigFile and parseConfigFile

This commit is contained in:
Mohamed Hegazy
2015-03-31 10:52:21 -07:00
parent e13dc1d354
commit 18d8fedbf5
10 changed files with 154 additions and 1 deletions

View File

@@ -111,6 +111,7 @@ var definitionsRoots = [
"compiler/parser.d.ts",
"compiler/checker.d.ts",
"compiler/program.d.ts",
"compiler/commandLineParser.d.ts",
"services/services.d.ts",
];

View File

@@ -4,6 +4,7 @@
/// <reference path="scanner.ts"/>
module ts {
/* @internal */
export var optionDeclarations: CommandLineOption[] = [
{
name: "charset",
@@ -153,7 +154,8 @@ module ts {
description: Diagnostics.Watch_input_files,
}
];
/* @internal */
export function parseCommandLine(commandLine: string[]): ParsedCommandLine {
var options: CompilerOptions = {};
var fileNames: string[] = [];
@@ -263,6 +265,10 @@ module ts {
}
}
/**
* Read tsconfig.json file
* @param fileName The path to the config file
*/
export function readConfigFile(fileName: string): any {
try {
var text = sys.readFile(fileName);
@@ -272,6 +278,12 @@ module ts {
}
}
/**
* 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
*/
export function parseConfigFile(json: any, basePath?: string): ParsedCommandLine {
var errors: Diagnostic[] = [];

View File

@@ -1489,6 +1489,20 @@ declare module "typescript" {
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
}
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" {
/** The version of the language service API */
let servicesVersion: string;

View File

@@ -4796,6 +4796,27 @@ declare module "typescript" {
>TupleType : TupleType
>ObjectType : ObjectType
elementTypes: Type[];
>elementTypes : Type[]
>Type : Type
baseArrayType: TypeReference;
>baseArrayType : TypeReference
>TypeReference : TypeReference
}
interface UnionType extends Type {
>UnionType : UnionType
>Type : Type
types: Type[];
>types : Type[]
>Type : Type
resolvedProperties: SymbolTable;
>resolvedProperties : SymbolTable

View File

@@ -1520,6 +1520,20 @@ declare module "typescript" {
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
}
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" {
/** The version of the language service API */
let servicesVersion: string;

View File

@@ -4942,6 +4942,27 @@ declare module "typescript" {
>TupleType : TupleType
>ObjectType : ObjectType
elementTypes: Type[];
>elementTypes : Type[]
>Type : Type
baseArrayType: TypeReference;
>baseArrayType : TypeReference
>TypeReference : TypeReference
}
interface UnionType extends Type {
>UnionType : UnionType
>Type : Type
types: Type[];
>types : Type[]
>Type : Type
resolvedProperties: SymbolTable;
>resolvedProperties : SymbolTable

View File

@@ -1521,6 +1521,20 @@ declare module "typescript" {
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
}
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" {
/** The version of the language service API */
let servicesVersion: string;

View File

@@ -4892,6 +4892,27 @@ declare module "typescript" {
>TupleType : TupleType
>ObjectType : ObjectType
elementTypes: Type[];
>elementTypes : Type[]
>Type : Type
baseArrayType: TypeReference;
>baseArrayType : TypeReference
>TypeReference : TypeReference
}
interface UnionType extends Type {
>UnionType : UnionType
>Type : Type
types: Type[];
>types : Type[]
>Type : Type
resolvedProperties: SymbolTable;
>resolvedProperties : SymbolTable

View File

@@ -1558,6 +1558,20 @@ declare module "typescript" {
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program;
}
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" {
/** The version of the language service API */
let servicesVersion: string;

View File

@@ -5065,6 +5065,27 @@ declare module "typescript" {
>TupleType : TupleType
>ObjectType : ObjectType
elementTypes: Type[];
>elementTypes : Type[]
>Type : Type
baseArrayType: TypeReference;
>baseArrayType : TypeReference
>TypeReference : TypeReference
}
interface UnionType extends Type {
>UnionType : UnionType
>Type : Type
types: Type[];
>types : Type[]
>Type : Type
resolvedProperties: SymbolTable;
>resolvedProperties : SymbolTable