Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use binary message RPC protocol for plugin API #42

Closed
wants to merge 11 commits into from
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@
"args": [
"--no-timeouts",
"--colors",
"--opts",
"${workspaceFolder}/configs/mocha.opts",
"--config",
"${workspaceFolder}/configs/mocharc.yml",
"**/${fileBasenameNoExtension}.js"
],
"env": {
Expand Down
37 changes: 30 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,45 @@

- [Previous Changelogs](https://github.com/eclipse-theia/theia/tree/master/doc/changelogs/)

## v1.31.0

- [plugin] added support for the `InlineValues` feature [#11729](https://github.com/eclipse-theia/theia/pull/11729) - Contributed on behalf of STMicroelectronics
- [plugin] Added support for `resolveTreeItem` of `TreeDataProvider` [#11708](https://github.com/eclipse-theia/theia/pull/11708) - Contributed on behalf of STMicroelectronics
## v1.31.0 - 10/27/2022

- [debug] added confirmation message for debug exit [#11546](https://github.com/eclipse-theia/theia/pull/11546)
- [git] fixed the implementation of the `unstage all` command [#11805](https://github.com/eclipse-theia/theia/pull/11805)
- [messages] fixed transparent notifications issue [#11714](https://github.com/eclipse-theia/theia/pull/11714)
- [monaco] fixed issue with `editor-*` preferences not being applied properly [#11711](https://github.com/eclipse-theia/theia/pull/11711)
- [output] fixed issue with channel selector [#11727](https://github.com/eclipse-theia/theia/pull/11727)
- [plugin] added handling to check if commands registered via `registerTextEditorCommand` are declared in the `package.json` [#11764](https://github.com/eclipse-theia/theia/pull/11764)
- [plugin] added stubs for the `Tests` VS Code API [#11717](https://github.com/eclipse-theia/theia/pull/11717)
- [plugin] added support for the `InlayHints` VS Code API [#11736](https://github.com/eclipse-theia/theia/pull/11736)
- [plugin] added support for the `InlineValues` VS Code API [#11729](https://github.com/eclipse-theia/theia/pull/11729) - Contributed on behalf of STMicroelectronics
- [plugin] added support for the `RelativePattern.baseUri` VS Code API [#11670](https://github.com/eclipse-theia/theia/pull/11670)
- [plugin] added support for the `Terminal.state` VS Code API [#11733](https://github.com/eclipse-theia/theia/pull/11733)
- [plugin] added support for the `TerminalLinkProviders` VS Code API [#11552](https://github.com/eclipse-theia/theia/pull/11552) - Contributed on behalf of STMicroelectronics
- [plugin] added support for the `TerminalOptions.hideFromUser` VS Code API [#11630](https://github.com/eclipse-theia/theia/pull/11630)
- [plugin] added support for the `TreeDataProvider.resolveTreeItem` VS Code API [#11708](https://github.com/eclipse-theia/theia/pull/11708) - Contributed on behalf of STMicroelectronics
- [plugin] added support for the `TypeHierarchy` VS Code API [#11694](https://github.com/eclipse-theia/theia/pull/11694)
- [plugin] fixed issues when registering VS Code menus to corresponding internal menus [#11741](https://github.com/eclipse-theia/theia/pull/11741)
- [plugin] improved extensibility of `HostedPluginSupport` [#11755](https://github.com/eclipse-theia/theia/pull/11755)
- [plugin] improved support for VS Code web extensions [#11752](https://github.com/eclipse-theia/theia/pull/11752)
- [plugin] introduced `theia-extra.d.ts` for plugin APIs specific to Theia [#11684](https://github.com/eclipse-theia/theia/pull/11684)
- [process] fixed issue where an incorrect terminal is attached when switching workspaces [#11440](https://github.com/eclipse-theia/theia/pull/11440)
- [repo] added automated license check reviews through `dash-licenses` [#11766](https://github.com/eclipse-theia/theia/pull/11766)
- [repo] performed `yarn upgrade` [#11773](https://github.com/eclipse-theia/theia/pull/11773)
- [repo] updated CI runners from `ubuntu-18.04` to `ubuntu-latest` [#11731](https://github.com/eclipse-theia/theia/pull/11731)
- [repo] upgraded `lerna` to `v5.5.4` [#11738](https://github.com/eclipse-theia/theia/pull/11738)
- [terminal] added secondary window support to extract terminals [#11707](https://github.com/eclipse-theia/theia/pull/11707)

<a name="breaking_changes_1.31.0">[Breaking Changes:](#breaking_changes_1.31.0)</a>

- [core] the generated webpack configuration (`gen-webpack.config.js`) now exports an array of two webpack configs instead of a single one: the first contains the config for
- [core] the generated webpack configuration (`gen-webpack.config.js`) now exports an array of two webpack configs instead of a single one: the first contains the config for
generating the main code bundle (as before), the second serves to generate a *.css file for inclusion into `secondaryWindow.html` [#11707](https://github.com/eclipse-theia/theia/pull/11707)
- [plugin-ext] `when` clauses removed from `codeToTheiaMappings` [#11741](https://github.com/eclipse-theia/theia/pull/#11741)
- [terminal] The `AbstractCmdClickTerminalContribution` API has been removed in favor of the `TerminalLinkProvider` interface [#11552](https://github.com/eclipse-theia/theia/pull/11552) - Contributed on behalf of STMicroelectronics
- [terminal] the `AbstractCmdClickTerminalContribution` API has been removed in favor of the `TerminalLinkProvider` interface [#11552](https://github.com/eclipse-theia/theia/pull/11552) - Contributed on behalf of STMicroelectronics
- [typehierarchy] - Adding Support of vscode TypeHierarchy API with the following breaking changes: [#11694](https://github.com/eclipse-theia/theia/pull/11694)
- [plugin-ext/main] The file `callhierarchy-type-converters.ts` was renamed to `hierarchy-types-converters.ts`
- The method `toDefinition` was renamed to `toItemHierarchyDefinition` and the overloaded signatures were removed.
- The method `fromDefinition` was replaced for `fromItemHierarchyDefinition` to convert both `TypeHierarchyItem` and `CallHierarchyItem` to a common `HierarchyItem`.
- [plugin-ext/plugin] - `thype-converters.ts #fromCallHierarchyItem` was replaced by `fromHierarchyItem` to convert from `CallHierarchyItem` or `TypeHierarchyItem` to `HierarchyItem`.
- [plugin-ext/plugin] - `type-converters.ts #fromCallHierarchyItem` was replaced by `fromHierarchyItem` to convert from `CallHierarchyItem` or `TypeHierarchyItem` to `HierarchyItem`.

## v1.30.0 - 9/29/2022

Expand Down
5 changes: 0 additions & 5 deletions configs/mocha.opts

This file was deleted.

7 changes: 7 additions & 0 deletions configs/mocharc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require:
- 'ignore-styles'
- 'reflect-metadata/Reflect'
reporter: 'spec'
watch-files:
- '**/*.js'
exit: true
10 changes: 5 additions & 5 deletions dev-packages/application-manager/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/application-manager",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia application manager API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -33,21 +33,21 @@
"@babel/plugin-transform-classes": "^7.10.0",
"@babel/plugin-transform-runtime": "^7.10.0",
"@babel/preset-env": "^7.10.0",
"@theia/application-package": "1.30.0",
"@theia/ffmpeg": "1.30.0",
"@theia/application-package": "1.31.0",
"@theia/ffmpeg": "1.31.0",
"@types/fs-extra": "^4.0.2",
"@types/semver": "^7.3.8",
"babel-loader": "^8.2.2",
"buffer": "^6.0.3",
"circular-dependency-plugin": "^5.2.2",
"compression-webpack-plugin": "^9.0.0",
"copy-webpack-plugin": "^8.1.1",
"mini-css-extract-plugin": "^2.6.1",
"css-loader": "^6.2.0",
"electron-rebuild": "^3.2.7",
"fs-extra": "^4.0.2",
"ignore-loader": "^0.1.2",
"less": "^3.0.3",
"mini-css-extract-plugin": "^2.6.1",
"node-abi": "*",
"path-browserify": "^1.0.1",
"semver": "^7.3.5",
Expand All @@ -72,7 +72,7 @@
}
},
"devDependencies": {
"@theia/ext-scripts": "1.30.0",
"@theia/ext-scripts": "1.31.0",
"@types/node-abi": "*"
},
"nyc": {
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/application-package/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/application-package",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia application package API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -42,7 +42,7 @@
"write-json-file": "^2.2.0"
},
"devDependencies": {
"@theia/ext-scripts": "1.30.0"
"@theia/ext-scripts": "1.31.0"
},
"nyc": {
"extends": "../../configs/nyc.json"
Expand Down
20 changes: 10 additions & 10 deletions dev-packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/cli",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia CLI.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -30,30 +30,30 @@
"clean": "theiaext clean"
},
"dependencies": {
"@theia/application-manager": "1.30.0",
"@theia/application-package": "1.30.0",
"@theia/ffmpeg": "1.30.0",
"@theia/localization-manager": "1.30.0",
"@theia/ovsx-client": "1.30.0",
"@theia/request": "1.30.0",
"@theia/application-manager": "1.31.0",
"@theia/application-package": "1.31.0",
"@theia/ffmpeg": "1.31.0",
"@theia/localization-manager": "1.31.0",
"@theia/ovsx-client": "1.31.0",
"@theia/request": "1.31.0",
"@types/chai": "^4.2.7",
"@types/mocha": "^5.2.7",
"@types/mocha": "^10.0.0",
"@types/node-fetch": "^2.5.7",
"@types/puppeteer": "^2.0.0",
"chai": "^4.2.0",
"chalk": "4.0.0",
"decompress": "^4.2.1",
"glob": "^8.0.3",
"log-update": "^4.0.0",
"mocha": "^7.0.0",
"mocha": "^10.1.0",
"puppeteer": "^2.0.0",
"puppeteer-to-istanbul": "^1.2.2",
"temp": "^0.9.1",
"yargs": "^15.3.1"
},
"devDependencies": {
"@types/chai": "^4.2.7",
"@types/mocha": "^5.2.7",
"@types/mocha": "^10.0.0",
"@types/node-fetch": "^2.5.7",
"@types/proxy-from-env": "^1.0.1",
"@types/puppeteer": "^2.0.0"
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/cli/src/test-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,9 @@ export default async function newTestPage(options: TestPageOptions): Promise<pup
mocha.setup({
reporter: 'spec',
ui: 'bdd',
useColors: true,
color: true,
retries: 5
} as MochaSetupOptions);
});
});

if (onWillRun) {
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/ffmpeg/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/ffmpeg",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia FFMPEG reader utility.",
"publishConfig": {
"access": "public"
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/localization-manager/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/localization-manager",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia localization manager API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -39,7 +39,7 @@
"typescript": "~4.5.5"
},
"devDependencies": {
"@theia/ext-scripts": "1.30.0"
"@theia/ext-scripts": "1.31.0"
},
"nyc": {
"extends": "../../configs/nyc.json"
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/ovsx-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/ovsx-client",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia Open-VSX Client",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -29,7 +29,7 @@
"watch": "theiaext watch"
},
"dependencies": {
"@theia/request": "1.30.0",
"@theia/request": "1.31.0",
"semver": "^5.4.1"
}
}
8 changes: 4 additions & 4 deletions dev-packages/private-eslint-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"private": true,
"name": "@theia/eslint-plugin",
"version": "1.30.0",
"version": "1.31.0",
"description": "Custom ESLint rules for developing Theia extensions and applications",
"main": "index.js",
"scripts": {
"prepare": "tsc -b"
},
"dependencies": {
"@theia/core": "1.30.0",
"@theia/ext-scripts": "1.30.0",
"@theia/re-exports": "1.30.0",
"@theia/core": "1.31.0",
"@theia/ext-scripts": "1.31.0",
"@theia/re-exports": "1.31.0",
"js-levenshtein": "^1.1.6"
}
}
6 changes: 3 additions & 3 deletions dev-packages/private-ext-scripts/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@theia/ext-scripts",
"version": "1.30.0",
"version": "1.31.0",
"license": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0",
"description": "NPM scripts for Theia packages.",
"bin": {
Expand All @@ -19,8 +19,8 @@
"ext:lint:clean": "rimraf .eslintcache",
"ext:watch": "concurrently --kill-others -n cleanup,tsc -c magenta,red \"ts-clean -w\" \"tsc -b -w --preserveWatchOutput\"",
"ext:watch:fast": "tsc -p -w",
"ext:test": "nyc mocha --opts ../../configs/mocha.opts \"./lib/**/*.*spec.js\"",
"ext:test:watch": "mocha -w --opts ../../configs/mocha.opts \"./lib/**/*.*spec.js\"",
"ext:test": "nyc mocha --config ../../configs/mocharc.yml \"./lib/**/*.*spec.js\"",
"ext:test:watch": "mocha -w --config ../../configs/mocharc.yml \"./lib/**/*.*spec.js\"",
"ext:test:clean": "rimraf .nyc_output coverage"
}
}
2 changes: 1 addition & 1 deletion dev-packages/private-re-exports/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@theia/re-exports",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia re-export helper functions and scripts.",
"main": "lib/index.js",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/request/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@theia/request",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia Proxy-Aware Request Service",
"publishConfig": {
"access": "public"
Expand Down
17 changes: 15 additions & 2 deletions doc/Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ Please see the latest version (`master`) for the most up-to-date information. Pl

### General

Due to a [colors.js](https://github.com/Marak/colors.js) issue, a [resolution](https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/) may be necessary for your application in order to workaround the problem:
Prior to [`v1.31.1`](https://github.com/eclipse-theia/theia/releases/tag/v1.31.1), a [resolution](https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/) might be necessary to work-around a recently discovered [critical vulnerability](https://security.snyk.io/vuln/SNYK-JS-SOCKETIOPARSER-3091012) in one of our runtime dependencies [socket.io-parser](https://github.com/socketio/socket.io-parser).

For example:

```json
"resolutions": {
"**/colors": "<=1.4.0"
"**/socket.io": "^4.5.3",
"**/socket.io-client": "^4.5.3"
}
```

Expand Down Expand Up @@ -109,6 +110,18 @@ For more details, see the socket.io documentation about [using multiple nodes](h

### v1.22.0

#### Resolutions

Due to a [colors.js](https://github.com/Marak/colors.js) issue, a [resolution](https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/) may be necessary for your application in order to workaround the problem:

For example:

```json
"resolutions": {
"**/colors": "<=1.4.0"
}
```

#### Electron Update

Electron got updated from 9 to 15, this might involve some modifications in your code based on the new APIs.
Expand Down
22 changes: 11 additions & 11 deletions examples/api-samples/package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"private": true,
"name": "@theia/api-samples",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia - Example code to demonstrate Theia API",
"dependencies": {
"@theia/core": "1.30.0",
"@theia/file-search": "1.30.0",
"@theia/filesystem": "1.30.0",
"@theia/monaco": "1.30.0",
"@theia/core": "1.31.0",
"@theia/file-search": "1.31.0",
"@theia/filesystem": "1.31.0",
"@theia/monaco": "1.31.0",
"@theia/monaco-editor-core": "1.67.2",
"@theia/output": "1.30.0",
"@theia/search-in-workspace": "1.30.0",
"@theia/toolbar": "1.30.0",
"@theia/vsx-registry": "1.30.0",
"@theia/workspace": "1.30.0"
"@theia/output": "1.31.0",
"@theia/search-in-workspace": "1.31.0",
"@theia/toolbar": "1.31.0",
"@theia/vsx-registry": "1.31.0",
"@theia/workspace": "1.31.0"
},
"theiaExtensions": [
{
Expand Down Expand Up @@ -52,6 +52,6 @@
"clean": "theiaext clean"
},
"devDependencies": {
"@theia/ext-scripts": "1.30.0"
"@theia/ext-scripts": "1.31.0"
}
}
4 changes: 2 additions & 2 deletions examples/api-tests/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "@theia/api-tests",
"version": "1.30.0",
"version": "1.31.0",
"description": "Theia API tests",
"dependencies": {
"@theia/core": "1.30.0"
"@theia/core": "1.31.0"
},
"license": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0",
"repository": {
Expand Down
Loading