From de73d50ee926632590bf05f78bb701249817ac6d Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Wed, 10 Dec 2014 09:03:12 -0800 Subject: [PATCH] Remove compiletionSettings handeling from shims --- src/compiler/types.ts | 12 +-- src/harness/fourslash.ts | 20 ++-- src/harness/harnessLanguageService.ts | 4 +- src/services/shims.ts | 131 +------------------------- 4 files changed, 20 insertions(+), 147 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ac5dff627d..9fd6d3d396 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1425,9 +1425,9 @@ module ts { } export const enum ModuleKind { - None, - CommonJS, - AMD, + None = 0, + CommonJS = 1, + AMD = 2, } export interface LineAndCharacter { @@ -1440,9 +1440,9 @@ module ts { export const enum ScriptTarget { - ES3, - ES5, - ES6, + ES3 = 0, + ES5 = 1, + ES6 = 2, Latest = ES6, } diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index ac64e4c906..a732a1de55 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -145,14 +145,14 @@ module FourSlash { testOptMetadataNames.mapRoot, testOptMetadataNames.module, testOptMetadataNames.out, testOptMetadataNames.outDir, testOptMetadataNames.sourceMap, testOptMetadataNames.sourceRoot] - function convertGlobalOptionsToCompilationSettings(globalOptions: { [idx: string]: string }): ts.CompilationSettings { - var settings: ts.CompilationSettings = {}; + function convertGlobalOptionsToCompilerOptions(globalOptions: { [idx: string]: string }): ts.CompilerOptions { + var settings: ts.CompilerOptions = {}; // Convert all property in globalOptions into ts.CompilationSettings for (var prop in globalOptions) { if (globalOptions.hasOwnProperty(prop)) { switch (prop) { case testOptMetadataNames.declaration: - settings.generateDeclarationFiles = true; + settings.declaration = true; break; case testOptMetadataNames.mapRoot: settings.mapRoot = globalOptions[prop]; @@ -161,24 +161,24 @@ module FourSlash { // create appropriate external module target for CompilationSettings switch (globalOptions[prop]) { case "AMD": - settings.moduleGenTarget = ts.ModuleGenTarget.Asynchronous; + settings.module = ts.ModuleKind.AMD; break; case "CommonJS": - settings.moduleGenTarget = ts.ModuleGenTarget.Synchronous; + settings.module = ts.ModuleKind.CommonJS; break; default: - settings.moduleGenTarget = ts.ModuleGenTarget.Unspecified; + settings.module = ts.ModuleKind.None; break; } break; case testOptMetadataNames.out: - settings.outFileOption = globalOptions[prop]; + settings.out = globalOptions[prop]; break; case testOptMetadataNames.outDir: - settings.outDirOption = globalOptions[prop]; + settings.outDir = globalOptions[prop]; break; case testOptMetadataNames.sourceMap: - settings.mapSourceFiles = true; + settings.sourceMap = true; break; case testOptMetadataNames.sourceRoot: settings.sourceRoot = globalOptions[prop]; @@ -300,7 +300,7 @@ module FourSlash { this.cancellationToken = new TestCancellationToken(); this.languageServiceShimHost = new Harness.LanguageService.TypeScriptLS(this.cancellationToken); - var compilationSettings = convertGlobalOptionsToCompilationSettings(this.testData.globalOptions); + var compilationSettings = convertGlobalOptionsToCompilerOptions(this.testData.globalOptions); this.languageServiceShimHost.setCompilationSettings(compilationSettings); var startResolveFileRef: FourSlashFile = undefined; diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index a093c75829..0aa1415cc9 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -137,7 +137,7 @@ module Harness.LanguageService { private ls: ts.LanguageServiceShim = null; private fileNameToScript: ts.Map = {}; - private settings: ts.CompilationSettings = {}; + private settings: ts.CompilerOptions = {}; constructor(private cancellationToken: ts.CancellationToken = CancellationToken.None) { } @@ -251,7 +251,7 @@ module Harness.LanguageService { return this.ls; } - public setCompilationSettings(settings: ts.CompilationSettings) { + public setCompilationSettings(settings: ts.CompilerOptions) { for (var key in settings) { if (settings.hasOwnProperty(key)) { this.settings[key] = settings[key]; diff --git a/src/services/shims.ts b/src/services/shims.ts index dfec12d0f7..710906430c 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -169,131 +169,6 @@ module ts { getDefaultCompilationSettings(): string; } - /// TODO: delete this, it is only needed until the VS interface is updated - export const enum LanguageVersion { - EcmaScript3 = 0, - EcmaScript5 = 1, - EcmaScript6 = 2, - } - - export const enum ModuleGenTarget { - Unspecified = 0, - Synchronous = 1, - Asynchronous = 2, - } - - export interface CompilationSettings { - propagateEnumConstants?: boolean; - removeComments?: boolean; - watch?: boolean; - noResolve?: boolean; - allowAutomaticSemicolonInsertion?: boolean; - noImplicitAny?: boolean; - noLib?: boolean; - codeGenTarget?: LanguageVersion; - moduleGenTarget?: ModuleGenTarget; - outFileOption?: string; - outDirOption?: string; - mapSourceFiles?: boolean; - mapRoot?: string; - sourceRoot?: string; - generateDeclarationFiles?: boolean; - useCaseSensitiveFileResolution?: boolean; - gatherDiagnostics?: boolean; - codepage?: number; - emitBOM?: boolean; - - // Declare indexer signature - [index: string]: any; - } - - function languageVersionToScriptTarget(languageVersion: LanguageVersion): ScriptTarget { - if (typeof languageVersion === "undefined") return undefined; - - switch (languageVersion) { - case LanguageVersion.EcmaScript3: return ScriptTarget.ES3 - case LanguageVersion.EcmaScript5: return ScriptTarget.ES5; - case LanguageVersion.EcmaScript6: return ScriptTarget.ES6; - default: throw Error("unsupported LanguageVersion value: " + languageVersion); - } - } - - function moduleGenTargetToModuleKind(moduleGenTarget: ModuleGenTarget): ModuleKind { - if (typeof moduleGenTarget === "undefined") return undefined; - - switch (moduleGenTarget) { - case ModuleGenTarget.Asynchronous: return ModuleKind.AMD; - case ModuleGenTarget.Synchronous: return ModuleKind.CommonJS; - case ModuleGenTarget.Unspecified: return ModuleKind.None; - default: throw Error("unsupported ModuleGenTarget value: " + moduleGenTarget); - } - } - - function scriptTargetTolanguageVersion(scriptTarget: ScriptTarget): LanguageVersion { - if (typeof scriptTarget === "undefined") return undefined; - - switch (scriptTarget) { - case ScriptTarget.ES3: return LanguageVersion.EcmaScript3; - case ScriptTarget.ES5: return LanguageVersion.EcmaScript5; - case ScriptTarget.ES6: return LanguageVersion.EcmaScript6; - default: throw Error("unsupported ScriptTarget value: " + scriptTarget); - } - } - - function moduleKindToModuleGenTarget(moduleKind: ModuleKind): ModuleGenTarget { - if (typeof moduleKind === "undefined") return undefined; - - switch (moduleKind) { - case ModuleKind.AMD: return ModuleGenTarget.Asynchronous; - case ModuleKind.CommonJS: return ModuleGenTarget.Synchronous; - case ModuleKind.None: return ModuleGenTarget.Unspecified; - default: throw Error("unsupported ModuleKind value: " + moduleKind); - } - } - - function compilationSettingsToCompilerOptions(settings: CompilationSettings): CompilerOptions { - // TODO: we should not be converting, but use options all the way - var options: CompilerOptions = {}; - //options.propagateEnumConstants = settings.propagateEnumConstants; - options.removeComments = settings.removeComments; - options.noResolve = settings.noResolve; - options.noImplicitAny = settings.noImplicitAny; - options.noLib = settings.noLib; - options.target = languageVersionToScriptTarget(settings.codeGenTarget); - options.module = moduleGenTargetToModuleKind(settings.moduleGenTarget); - options.out = settings.outFileOption; - options.outDir = settings.outDirOption; - options.sourceMap = settings.mapSourceFiles; - options.mapRoot = settings.mapRoot; - options.sourceRoot = settings.sourceRoot; - options.declaration = settings.generateDeclarationFiles; - //options.useCaseSensitiveFileResolution = settings.useCaseSensitiveFileResolution; - options.codepage = settings.codepage; - options.emitBOM = settings.emitBOM; - return options; - } - - function compilerOptionsToCompilationSettings(options: CompilerOptions): CompilationSettings { - var settings: CompilationSettings = {}; - //options.propagateEnumConstants = settings.propagateEnumConstants; - settings.removeComments = options.removeComments; - settings.noResolve = options.noResolve; - settings.noImplicitAny = options.noImplicitAny; - settings.noLib = options.noLib; - settings.codeGenTarget = scriptTargetTolanguageVersion(options.target); - settings.moduleGenTarget = moduleKindToModuleGenTarget(options.module); - settings.outFileOption = options.out; - settings.outDirOption = options.outDir; - settings.mapSourceFiles = options.sourceMap; - settings.mapRoot = options.mapRoot; - settings.sourceRoot = options.sourceRoot; - settings.generateDeclarationFiles = options.declaration; - // settings.useCaseSensitiveFileResolution = options.useCaseSensitiveFileResolution; - settings.codepage = options.codepage; - settings.emitBOM = options.emitBOM; - return settings; - } - function logInternalError(logger: Logger, err: Error) { logger.log("*INTERNAL ERROR* - Exception in typescript services: " + err.message); } @@ -355,9 +230,7 @@ module ts { throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings"); return null; } - var options = compilationSettingsToCompilerOptions(JSON.parse(settingsJson)); - - return options; + return JSON.parse(settingsJson); } public getScriptFileNames(): string[] { @@ -858,7 +731,7 @@ module ts { return this.forwardJSONCall( "getDefaultCompilationSettings()", () => { - return compilerOptionsToCompilationSettings(getDefaultCompilerOptions()); + return getDefaultCompilerOptions(); }); } }