From f37a51537be1e0f615399d7df5be24e4103e70fc Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Thu, 24 Nov 2016 18:42:31 +0100 Subject: [PATCH] [html] adopt SnippetString (#15573) and update to TS 2.0 --- extensions/html/OSSREADME.json | 2 +- extensions/html/client/src/htmlMain.ts | 6 +- extensions/html/client/src/typings/ref.d.ts | 7 +- extensions/html/client/tsconfig.json | 11 +- extensions/html/npm-shrinkwrap.json | 14 +-- extensions/html/package.json | 8 +- extensions/html/server/npm-shrinkwrap.json | 24 ++-- extensions/html/server/package.json | 16 ++- extensions/html/server/src/htmlServerMain.ts | 2 +- extensions/html/server/src/test/ref.d.ts | 1 + .../html/server/src/typings/promise.d.ts | 112 ------------------ extensions/html/server/src/typings/ref.d.ts | 8 -- extensions/html/server/tsconfig.json | 11 +- 13 files changed, 52 insertions(+), 170 deletions(-) create mode 100644 extensions/html/server/src/test/ref.d.ts delete mode 100644 extensions/html/server/src/typings/promise.d.ts delete mode 100644 extensions/html/server/src/typings/ref.d.ts diff --git a/extensions/html/OSSREADME.json b/extensions/html/OSSREADME.json index c2825ad5e53..9949448fbcb 100644 --- a/extensions/html/OSSREADME.json +++ b/extensions/html/OSSREADME.json @@ -1,7 +1,7 @@ // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: [{ "name": "js-beautify", - "version": "1.6.2", + "version": "1.6.4", "license": "MIT", "repositoryURL": "https://github.com/beautify-web/js-beautify" },{ diff --git a/extensions/html/client/src/htmlMain.ts b/extensions/html/client/src/htmlMain.ts index 834f4075400..79de03d9f87 100644 --- a/extensions/html/client/src/htmlMain.ts +++ b/extensions/html/client/src/htmlMain.ts @@ -7,7 +7,7 @@ import * as path from 'path'; import { languages, workspace, ExtensionContext, IndentAction } from 'vscode'; -import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind, Range, RequestType, Protocol2Code } from 'vscode-languageclient'; +import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind, Range, RequestType } from 'vscode-languageclient'; import { EMPTY_ELEMENTS } from './htmlEmptyTagsShared'; import { activateColorDecorations } from './colorDecorators'; @@ -15,7 +15,7 @@ import * as nls from 'vscode-nls'; let localize = nls.loadMessageBundle(); namespace ColorSymbolRequest { - export const type: RequestType = { get method() { return 'css/colorSymbols'; } }; + export const type: RequestType = { get method() { return 'css/colorSymbols'; }, _: null }; } export function activate(context: ExtensionContext) { @@ -56,7 +56,7 @@ export function activate(context: ExtensionContext) { context.subscriptions.push(disposable); let colorRequestor = (uri: string) => { - return client.sendRequest(ColorSymbolRequest.type, uri).then(ranges => ranges.map(Protocol2Code.asRange)); + return client.sendRequest(ColorSymbolRequest.type, uri).then(ranges => ranges.map(client.protocol2CodeConverter.asRange)); }; disposable = activateColorDecorations(colorRequestor, { html: true, handlebars: true, razor: true }); context.subscriptions.push(disposable); diff --git a/extensions/html/client/src/typings/ref.d.ts b/extensions/html/client/src/typings/ref.d.ts index 25ca0850b75..7c0805ba6c3 100644 --- a/extensions/html/client/src/typings/ref.d.ts +++ b/extensions/html/client/src/typings/ref.d.ts @@ -3,9 +3,4 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -/// -/// -/// -/// -/// -/// \ No newline at end of file +/// \ No newline at end of file diff --git a/extensions/html/client/tsconfig.json b/extensions/html/client/tsconfig.json index 8cb16334377..31c07df105b 100644 --- a/extensions/html/client/tsconfig.json +++ b/extensions/html/client/tsconfig.json @@ -1,11 +1,10 @@ { "compilerOptions": { - "noLib": true, "target": "es5", "module": "commonjs", - "outDir": "./out" - }, - "exclude": [ - "node_modules" - ] + "outDir": "./out", + "lib": [ + "es5", "es2015.promise" + ] + } } \ No newline at end of file diff --git a/extensions/html/npm-shrinkwrap.json b/extensions/html/npm-shrinkwrap.json index 0288034b88f..b368f41dbf9 100644 --- a/extensions/html/npm-shrinkwrap.json +++ b/extensions/html/npm-shrinkwrap.json @@ -3,19 +3,19 @@ "version": "0.1.0", "dependencies": { "vscode-jsonrpc": { - "version": "2.4.0", - "from": "vscode-jsonrpc@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-2.4.0.tgz" + "version": "3.0.1-alpha.2", + "from": "vscode-jsonrpc@>=3.0.1-alpha.2 <4.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.0.1-alpha.2.tgz" }, "vscode-languageclient": { - "version": "2.6.4-next.1", + "version": "3.0.1-alpha.2", "from": "vscode-languageclient@next", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-2.6.4-next.1.tgz" + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.0.1-alpha.2.tgz" }, "vscode-languageserver-types": { - "version": "1.0.5-next.1", + "version": "3.0.1-alpha.2", "from": "vscode-languageserver-types@next", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-1.0.5-next.1.tgz" + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.0.1-alpha.2.tgz" }, "vscode-nls": { "version": "1.0.7", diff --git a/extensions/html/package.json b/extensions/html/package.json index d2463f92da6..91f765da500 100644 --- a/extensions/html/package.json +++ b/extensions/html/package.json @@ -143,8 +143,12 @@ } }, "dependencies": { - "vscode-languageclient": "^2.6.4-next.1", - "vscode-languageserver-types": "^1.0.5-next.1", + "vscode-languageclient": "^3.0.1-alpha.2", + "vscode-languageserver-types": "^3.0.1-alpha.2", "vscode-nls": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^6.0.51", + "@types/mocha": "^2.2.33" } } diff --git a/extensions/html/server/npm-shrinkwrap.json b/extensions/html/server/npm-shrinkwrap.json index 97e582e4cdb..27420e241aa 100644 --- a/extensions/html/server/npm-shrinkwrap.json +++ b/extensions/html/server/npm-shrinkwrap.json @@ -3,29 +3,29 @@ "version": "1.0.0", "dependencies": { "vscode-css-languageservice": { - "version": "2.0.0-next.3", + "version": "2.0.0-next.5", "from": "vscode-css-languageservice@next", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.0.0-next.3.tgz" + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.0.0-next.5.tgz" }, "vscode-html-languageservice": { - "version": "1.0.1-next.4", + "version": "2.0.0-next.1", "from": "vscode-html-languageservice@next", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-1.0.1-next.4.tgz" + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.0.0-next.1.tgz" }, "vscode-jsonrpc": { - "version": "2.4.0", - "from": "vscode-jsonrpc@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-2.4.0.tgz" + "version": "3.0.1-alpha.2", + "from": "vscode-jsonrpc@>=3.0.1-alpha.2 <4.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.0.1-alpha.2.tgz" }, "vscode-languageserver": { - "version": "2.6.2-next.1", + "version": "3.0.1-alpha.2", "from": "vscode-languageserver@next", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-2.6.2-next.1.tgz" + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.0.1-alpha.2.tgz" }, "vscode-languageserver-types": { - "version": "1.0.5-next.1", - "from": "vscode-languageserver-types@>=1.0.5-next.1 <2.0.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-1.0.5-next.1.tgz" + "version": "3.0.1-alpha.2", + "from": "vscode-languageserver-types@>=3.0.1-alpha.2 <4.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.0.1-alpha.2.tgz" }, "vscode-nls": { "version": "1.0.7", diff --git a/extensions/html/server/package.json b/extensions/html/server/package.json index 0b3e859b07f..7805ca18099 100644 --- a/extensions/html/server/package.json +++ b/extensions/html/server/package.json @@ -8,15 +8,19 @@ "node": "*" }, "dependencies": { - "vscode-css-languageservice": "^2.0.0-next.3", - "vscode-html-languageservice": "^1.0.1-next.4", - "vscode-languageserver": "^2.6.2-next.1", - "vscode-nls": "^1.0.4", + "vscode-css-languageservice": "^2.0.0-next.5", + "vscode-html-languageservice": "^2.0.0-next.1", + "vscode-languageserver": "^3.0.1-alpha.2", + "vscode-nls": "^1.0.7", "vscode-uri": "^1.0.0" }, + "devDependencies": { + "@types/node": "^6.0.51", + "@types/mocha": "^2.2.33" + }, "scripts": { - "compile": "gulp compile-extension:json-server", - "watch": "gulp watch-extension:json-server", + "compile": "gulp compile-extension:html-server", + "watch": "gulp watch-extension:html-server", "install-service-next": "npm install vscode-css-languageservice@next -f -S && npm install vscode-html-languageservice@next -f -S", "install-service-local": "npm install ../../../../vscode-css-languageservice -f -S && npm install ../../../../vscode-html-languageservice -f -S", "install-server-next": "npm install vscode-languageserver@next -f -S", diff --git a/extensions/html/server/src/htmlServerMain.ts b/extensions/html/server/src/htmlServerMain.ts index d806a73267a..77f5ec493cd 100644 --- a/extensions/html/server/src/htmlServerMain.ts +++ b/extensions/html/server/src/htmlServerMain.ts @@ -17,7 +17,7 @@ import * as nls from 'vscode-nls'; nls.config(process.env['VSCODE_NLS_CONFIG']); namespace ColorSymbolRequest { - export const type: RequestType = { get method() { return 'css/colorSymbols'; } }; + export const type: RequestType = { get method() { return 'css/colorSymbols'; }, _: null }; } // Create a connection for the server diff --git a/extensions/html/server/src/test/ref.d.ts b/extensions/html/server/src/test/ref.d.ts new file mode 100644 index 00000000000..619436f24cc --- /dev/null +++ b/extensions/html/server/src/test/ref.d.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/extensions/html/server/src/typings/promise.d.ts b/extensions/html/server/src/typings/promise.d.ts deleted file mode 100644 index 804a76812e9..00000000000 --- a/extensions/html/server/src/typings/promise.d.ts +++ /dev/null @@ -1,112 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -/** - * The Thenable (E.g. PromiseLike) and Promise declarions are taken from TypeScript's - * lib.core.es6.d.ts file. See above Copyright notice. - */ - -/** - * Thenable is a common denominator between ES6 promises, Q, jquery.Deferred, WinJS.Promise, - * and others. This API makes no assumption about what promise libary is being used which - * enables reusing existing code without migrating to a specific promise implementation. Still, - * we recommand the use of native promises which are available in VS Code. - */ -interface Thenable { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => TResult | Thenable): Thenable; - then(onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => void): Thenable; -} - -/** - * Represents the completion of an asynchronous operation - */ -interface Promise extends Thenable { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => TResult | Thenable): Promise; - then(onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => void): Promise; - - /** - * Attaches a callback for only the rejection of the Promise. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of the callback. - */ - catch(onrejected?: (reason: any) => T | Thenable): Promise; -} - -interface PromiseConstructor { - /** - * Creates a new Promise. - * @param executor A callback used to initialize the promise. This callback is passed two arguments: - * a resolve callback used resolve the promise with a value or the result of another promise, - * and a reject callback used to reject the promise with a provided reason or error. - */ - new (executor: (resolve: (value?: T | Thenable) => void, reject: (reason?: any) => void) => void): Promise; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: Array>): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: Array>): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new resolved promise for the provided value. - * @param value A promise. - * @returns A promise whose internal state matches the provided promise. - */ - resolve(value: T | Thenable): Promise; - - /** - * Creates a new resolved promise . - * @returns A resolved promise. - */ - resolve(): Promise; -} - -declare var Promise: PromiseConstructor; diff --git a/extensions/html/server/src/typings/ref.d.ts b/extensions/html/server/src/typings/ref.d.ts deleted file mode 100644 index c55bcba02fc..00000000000 --- a/extensions/html/server/src/typings/ref.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -/// -/// -/// -/// \ No newline at end of file diff --git a/extensions/html/server/tsconfig.json b/extensions/html/server/tsconfig.json index 8cb16334377..31c07df105b 100644 --- a/extensions/html/server/tsconfig.json +++ b/extensions/html/server/tsconfig.json @@ -1,11 +1,10 @@ { "compilerOptions": { - "noLib": true, "target": "es5", "module": "commonjs", - "outDir": "./out" - }, - "exclude": [ - "node_modules" - ] + "outDir": "./out", + "lib": [ + "es5", "es2015.promise" + ] + } } \ No newline at end of file