Update packages plus improved import. (#806)

This commit is contained in:
Dirk Bäumer
2023-01-18 14:43:52 +01:00
committed by GitHub
parent 31979a1cdd
commit dec963c83a
12 changed files with 1843 additions and 769 deletions

View File

@ -8,7 +8,6 @@
"name": "Launch Client",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}"],
"autoAttachChildProcesses": true,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/client/out/**/*.js"],
"preLaunchTask": "npm: watch:client"

File diff suppressed because it is too large Load Diff

View File

@ -10,15 +10,18 @@
"url": "https://github.com/Microsoft/vscode-extension-samples"
},
"engines": {
"vscode": "^1.26.0"
"vscode": "^1.74.0"
},
"scripts": {},
"dependencies": {
"vscode-languageclient": "^5.1.0-next.9",
"ws": "^6.2.2"
"vscode-languageclient": "8.1.0-next.6",
"ws": "8.12.0"
},
"devDependencies": {
"@types/ws": "^6.0.0",
"vscode": "^1.1.34"
"@types/ws": "8.5.4",
"@types/vscode": "1.74.0",
"@types/glob": "8.0.0",
"@vscode/test-electron": "2.2.2",
"glob": "8.1.0"
}
}

View File

@ -5,18 +5,18 @@
import * as path from 'path';
import { workspace, commands, ExtensionContext, OutputChannel } from 'vscode';
import * as WebSocket from 'ws';
import { WebSocket } from 'ws';
import {
LanguageClient,
LanguageClientOptions,
ServerOptions,
TransportKind
} from 'vscode-languageclient';
} from 'vscode-languageclient/node';
let client: LanguageClient;
export function activate(context: ExtensionContext) {
export async function activate(context: ExtensionContext) {
const socketPort = workspace.getConfiguration('languageServerExample').get('port', 7000);
let socket: WebSocket | null = null;
@ -60,7 +60,8 @@ export function activate(context: ExtensionContext) {
clear() { /* empty */ },
show() { /* empty */ },
hide() { /* empty */ },
dispose() { /* empty */ }
dispose() { /* empty */ },
replace() { /* empty */ }
};
// Options to control the language client
@ -84,7 +85,7 @@ export function activate(context: ExtensionContext) {
);
// Start the client. This will also launch the server
client.start();
await client.start();
}
export function deactivate(): Thenable<void> {

View File

@ -3,12 +3,42 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import * as testRunner from 'vscode/lib/testrunner';
import * as path from 'path';
import * as Mocha from 'mocha';
import * as glob from 'glob';
testRunner.configure({
ui: 'bdd',
useColors: true,
timeout: 100000
});
export function run(): Promise<void> {
// Create the mocha test
const mocha = new Mocha({
ui: 'bdd',
color: true,
timeout: 5000
});
module.exports = testRunner;
const testsRoot = path.resolve(__dirname, '..');
return new Promise((c, e) => {
glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
if (err) {
return e(err);
}
// Add files to the test suite
files.forEach(f => mocha.addFile(path.resolve(testsRoot, f)));
try {
// Run the mocha test
mocha.run(failures => {
if (failures > 0) {
e(new Error(`${failures} tests failed.`));
} else {
c();
}
});
} catch (err) {
console.error(err);
e(err);
}
});
});
}

View File

@ -0,0 +1,23 @@
import * as path from 'path';
import { runTests } from '@vscode/test-electron';
async function main() {
try {
// The folder containing the Extension Manifest package.json
// Passed to `--extensionDevelopmentPath`
const extensionDevelopmentPath = path.resolve(__dirname, '../../../');
// The path to the extension test script
// Passed to --extensionTestsPath
const extensionTestsPath = path.resolve(__dirname, './index');
// Download VS Code, unzip it and run the integration test
await runTests({ extensionDevelopmentPath, extensionTestsPath });
} catch (err) {
console.error('Failed to run tests');
process.exit(1);
}
}
main();

File diff suppressed because it is too large Load Diff

View File

@ -84,11 +84,12 @@
"test": "sh ./scripts/e2e.sh"
},
"devDependencies": {
"@types/mocha": "^5.2.0",
"@types/mocha": "^10.0.1",
"@types/node": "^16.11.7",
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"@typescript-eslint/parser": "^5.48.2",
"eslint": "^8.26.0",
"typescript": "^4.8.4"
"mocha": "^10.2.0",
"typescript": "^4.9.4"
}
}

View File

@ -3,4 +3,4 @@
export CODE_TESTS_PATH="$(pwd)/client/out/test"
export CODE_TESTS_WORKSPACE="$(pwd)/client/testFixture"
node "$(pwd)/client/node_modules/vscode/bin/test"
node "$(pwd)/client/out/test/runTest.js"

View File

@ -9,85 +9,84 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"vscode-languageserver": "^5.1.0-next.5"
"vscode-languageserver": "8.1.0-next.6",
"vscode-languageserver-textdocument": "1.0.8"
},
"engines": {
"node": "*"
}
},
"node_modules/vscode-jsonrpc": {
"version": "3.7.0-next.1",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.7.0-next.1.tgz",
"integrity": "sha512-Xlex/7wGhPHqzEy2wPOybsCG6r55j3DPYLX5Ezu81OyNpt5Nm0d7n6rs27RtEqPYocufpYPn5n6XdePPCCW03g==",
"version": "8.1.0-next.7",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz",
"integrity": "sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==",
"engines": {
"node": ">=4.0.0 || >=6.0.0"
"node": ">=14.0.0"
}
},
"node_modules/vscode-languageserver": {
"version": "5.1.0-next.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.1.0-next.5.tgz",
"integrity": "sha512-XnMdubLzlHFw9KvP6srnTjHfqzjxyK0Tv/E0O5LWqoSlivN2siJQPZHkCywhZbN4s3nmD3Wt5N1b9vvG86xn8Q==",
"version": "8.1.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz",
"integrity": "sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==",
"dependencies": {
"vscode-languageserver-protocol": "^3.13.0-next.1",
"vscode-uri": "^1.0.5"
"vscode-languageserver-protocol": "3.17.3-next.6"
},
"bin": {
"installServerIntoExtension": "bin/installServerIntoExtension"
}
},
"node_modules/vscode-languageserver-protocol": {
"version": "3.13.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.13.0-next.2.tgz",
"integrity": "sha512-iJ4A5ILn/MSnRQnFOnyaGuAABGDVzgco5ExqPeHpUSuhJiFZ++I+TIhIByk0Yw3z/KZZsM+/ik5mQNZt31l0jA==",
"version": "3.17.3-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz",
"integrity": "sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==",
"dependencies": {
"vscode-jsonrpc": "^3.7.0-next.1",
"vscode-languageserver-types": "^3.13.0-next.1"
"vscode-jsonrpc": "8.1.0-next.7",
"vscode-languageserver-types": "3.17.3-next.3"
}
},
"node_modules/vscode-languageserver-types": {
"version": "3.13.0-next.1",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.13.0-next.1.tgz",
"integrity": "sha512-Z6ZbWN+67dKjbTjKNohi/uoUS4vBIvzWIfOASdy5uhRqswIIywOU/SESdr4fWh94p+nsy9609SO6nSprgv9oJw=="
"node_modules/vscode-languageserver-textdocument": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
},
"node_modules/vscode-uri": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz",
"integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww=="
"node_modules/vscode-languageserver-types": {
"version": "3.17.3-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz",
"integrity": "sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A=="
}
},
"dependencies": {
"vscode-jsonrpc": {
"version": "3.7.0-next.1",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.7.0-next.1.tgz",
"integrity": "sha512-Xlex/7wGhPHqzEy2wPOybsCG6r55j3DPYLX5Ezu81OyNpt5Nm0d7n6rs27RtEqPYocufpYPn5n6XdePPCCW03g=="
"version": "8.1.0-next.7",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz",
"integrity": "sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ=="
},
"vscode-languageserver": {
"version": "5.1.0-next.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.1.0-next.5.tgz",
"integrity": "sha512-XnMdubLzlHFw9KvP6srnTjHfqzjxyK0Tv/E0O5LWqoSlivN2siJQPZHkCywhZbN4s3nmD3Wt5N1b9vvG86xn8Q==",
"version": "8.1.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz",
"integrity": "sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==",
"requires": {
"vscode-languageserver-protocol": "^3.13.0-next.1",
"vscode-uri": "^1.0.5"
"vscode-languageserver-protocol": "3.17.3-next.6"
}
},
"vscode-languageserver-protocol": {
"version": "3.13.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.13.0-next.2.tgz",
"integrity": "sha512-iJ4A5ILn/MSnRQnFOnyaGuAABGDVzgco5ExqPeHpUSuhJiFZ++I+TIhIByk0Yw3z/KZZsM+/ik5mQNZt31l0jA==",
"version": "3.17.3-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz",
"integrity": "sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==",
"requires": {
"vscode-jsonrpc": "^3.7.0-next.1",
"vscode-languageserver-types": "^3.13.0-next.1"
"vscode-jsonrpc": "8.1.0-next.7",
"vscode-languageserver-types": "3.17.3-next.3"
}
},
"vscode-languageserver-types": {
"version": "3.13.0-next.1",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.13.0-next.1.tgz",
"integrity": "sha512-Z6ZbWN+67dKjbTjKNohi/uoUS4vBIvzWIfOASdy5uhRqswIIywOU/SESdr4fWh94p+nsy9609SO6nSprgv9oJw=="
"vscode-languageserver-textdocument": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
},
"vscode-uri": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz",
"integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww=="
"vscode-languageserver-types": {
"version": "3.17.3-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz",
"integrity": "sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A=="
}
}
}

View File

@ -12,7 +12,8 @@
"url": "https://github.com/Microsoft/vscode-extension-samples"
},
"dependencies": {
"vscode-languageserver": "^5.1.0-next.5"
"vscode-languageserver-textdocument": "1.0.8",
"vscode-languageserver": "8.1.0-next.6"
},
"scripts": {}
}

View File

@ -6,7 +6,6 @@
import {
createConnection,
TextDocuments,
TextDocument,
Diagnostic,
DiagnosticSeverity,
ProposedFeatures,
@ -14,16 +13,19 @@ import {
DidChangeConfigurationNotification,
CompletionItem,
CompletionItemKind,
TextDocumentPositionParams
} from 'vscode-languageserver';
TextDocumentPositionParams,
TextDocumentSyncKind
} from 'vscode-languageserver/node';
import {
TextDocument
} from 'vscode-languageserver-textdocument';
// Create a connection for the server. The connection uses Node's IPC as a transport.
// Also include all preview / proposed LSP features.
const connection = createConnection(ProposedFeatures.all);
// Create a simple text document manager. The text document manager
// supports full document sync only
const documents: TextDocuments = new TextDocuments();
const documents: TextDocuments<TextDocument> = new TextDocuments(TextDocument);
let hasConfigurationCapability = false;
let hasWorkspaceFolderCapability = false;
@ -45,7 +47,7 @@ connection.onInitialize((params: InitializeParams) => {
return {
capabilities: {
textDocumentSync: documents.syncKind,
textDocumentSync: TextDocumentSyncKind.Incremental,
// Tell the client that the server supports code completion
completionProvider: {
resolveProvider: true