From e6dab8cd556b453eff671c6a1bc29c52b7e67db3 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 6 Nov 2017 14:41:23 -0800 Subject: [PATCH] Move css extension to strict Updates the css extension to use strict mode TypeScript --- extensions/css/client/src/typings/color-convert.d.ts | 11 ----------- extensions/css/client/tsconfig.json | 3 ++- extensions/css/server/src/cssServerMain.ts | 11 +++++++---- extensions/css/server/src/languageModelCache.ts | 2 +- extensions/css/server/tsconfig.json | 3 ++- 5 files changed, 12 insertions(+), 18 deletions(-) delete mode 100644 extensions/css/client/src/typings/color-convert.d.ts diff --git a/extensions/css/client/src/typings/color-convert.d.ts b/extensions/css/client/src/typings/color-convert.d.ts deleted file mode 100644 index a88de674d2d..00000000000 --- a/extensions/css/client/src/typings/color-convert.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -declare module "color-convert" { - module convert { - module rgb { - function hex(r: number, g: number, b: number); - function hsl(r: number, g: number, b: number); - function hvs(r: number, g: number, b: number); - } - } - - export = convert; -} \ No newline at end of file diff --git a/extensions/css/client/tsconfig.json b/extensions/css/client/tsconfig.json index e87d1a805a1..d8d9b703ad1 100644 --- a/extensions/css/client/tsconfig.json +++ b/extensions/css/client/tsconfig.json @@ -5,7 +5,8 @@ "outDir": "./out", "lib": [ "es5", "es2015.promise" - ] + ], + "strict": true }, "include": [ "src/**/*" diff --git a/extensions/css/server/src/cssServerMain.ts b/extensions/css/server/src/cssServerMain.ts index 28837487764..a8ced353349 100644 --- a/extensions/css/server/src/cssServerMain.ts +++ b/extensions/css/server/src/cssServerMain.ts @@ -49,7 +49,7 @@ let scopedSettingsSupport = false; connection.onInitialize((params: InitializeParams): InitializeResult => { function hasClientCapability(name: string) { let keys = name.split('.'); - let c = params.capabilities; + let c: any = params.capabilities; for (let i = 0; c && i < keys.length; i++) { c = c[keys[i]]; } @@ -60,7 +60,7 @@ connection.onInitialize((params: InitializeParams): InitializeResult => { let capabilities: ServerCapabilities & CPServerCapabilities = { // Tell the client that the server works in FULL text document sync mode textDocumentSync: documents.syncKind, - completionProvider: snippetSupport ? { resolveProvider: false } : null, + completionProvider: snippetSupport ? { resolveProvider: false } : undefined, hoverProvider: true, documentSymbolProvider: true, referencesProvider: true, @@ -93,7 +93,7 @@ let documentSettings: { [key: string]: Thenable } = {}; documents.onDidClose(e => { delete documentSettings[e.document.uri]; }); -function getDocumentSettings(textDocument: TextDocument): Thenable { +function getDocumentSettings(textDocument: TextDocument): Thenable | undefined { if (scopedSettingsSupport) { let promise = documentSettings[textDocument.uri]; if (!promise) { @@ -113,7 +113,7 @@ connection.onDidChangeConfiguration(change => { function updateConfiguration(settings: Settings) { for (let languageId in languageServices) { - languageServices[languageId].configure(settings[languageId]); + languageServices[languageId].configure((settings as any)[languageId]); } // reset all document settings documentSettings = {}; @@ -154,6 +154,9 @@ function triggerValidation(textDocument: TextDocument): void { function validateTextDocument(textDocument: TextDocument): void { let settingsPromise = getDocumentSettings(textDocument); + if (!settingsPromise) { + return; + } let stylesheet = stylesheets.get(textDocument); settingsPromise.then(settings => { let diagnostics = getLanguageService(textDocument).doValidation(textDocument, stylesheet, settings); diff --git a/extensions/css/server/src/languageModelCache.ts b/extensions/css/server/src/languageModelCache.ts index b12f77b52a6..7496244c3bb 100644 --- a/extensions/css/server/src/languageModelCache.ts +++ b/extensions/css/server/src/languageModelCache.ts @@ -16,7 +16,7 @@ export function getLanguageModelCache(maxEntries: number, cleanupIntervalTime let languageModels: { [uri: string]: { version: number, languageId: string, cTime: number, languageModel: T } } = {}; let nModels = 0; - let cleanupInterval = void 0; + let cleanupInterval: NodeJS.Timer | undefined = void 0; if (cleanupIntervalTimeInSec > 0) { cleanupInterval = setInterval(() => { let cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000; diff --git a/extensions/css/server/tsconfig.json b/extensions/css/server/tsconfig.json index 8e862f02646..8d9940ccd14 100644 --- a/extensions/css/server/tsconfig.json +++ b/extensions/css/server/tsconfig.json @@ -5,7 +5,8 @@ "outDir": "./out", "lib": [ "es5" - ] + ], + "strict": true }, "include": [ "src/**/*"