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

Provide API to filter unwanted contributions #17

Closed
wants to merge 55 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
cefb980
yarn upgrade
paul-marechal Apr 29, 2021
3e5ce53
UI: Improve Styling of `Rename Symbol`
Apr 29, 2021
6a8af03
SIW: Support `search.smartCase`
DucNgn Apr 23, 2021
774f1f6
Make reviver/replacer pluggable
tsmaeder May 3, 2021
c86b82d
Introduce our own vscode.URI class and use it in plugin host
tsmaeder May 3, 2021
2560b65
vsx-registry: sanitize readme
vince-fugnitto May 3, 2021
d4642c8
Support language overrides in frontend config object
Apr 14, 2021
b4b99ce
terminal: remove process.env from browser
paul-marechal May 7, 2021
3415be0
Improve include/exclude search in workspace
alvsan09 Apr 1, 2021
2eb4319
Add ability to intercept websocket upgrades and raise events.
davewthompson May 10, 2021
fa84afa
application-manager: use Webpack v5
paul-marechal May 7, 2021
d734315
Fix applying variable updates provided by plugins
alvsan09 May 5, 2021
76f74f1
Fix enable/disable of verified breakpoints
thegecko May 13, 2021
42d2f3a
Apply FileDecoration provider API
vinokurig May 17, 2021
36d6e04
Expand support in Submenus contribution
EstherPerelman Apr 18, 2021
960a521
Support quick file-search with goto line and column
alvsan09 May 13, 2021
92a7d05
Implement extensionsUri field
tsmaeder May 4, 2021
d563b6b
Fix #2961: Output of short-lived tasks is not shown
EstherPerelman Apr 22, 2021
2fda70e
Increase specificity of output CSS variables
gbodeen May 14, 2021
38f176a
Use Monaco when creating files in DebugConfigurationManager
May 11, 2021
dab288c
vsx: update compatibility check for builtins
vince-fugnitto May 14, 2021
583220b
vsx:remove leftover '.only'
OmarSdt-EC May 25, 2021
6e15b35
8965-hosted-plugin-outfiles
danarad05 Mar 10, 2021
8343cb8
Substitute ~ for home directory in file dialog
kenneth-marut-work Apr 29, 2021
151cf8c
Use dynamic label sample only when activated
gbodeen May 24, 2021
bb87e69
Use diffUri only if replaceTerm is nonempty
gbodeen May 24, 2021
5c1a1b9
Deduplicate InMemoryTextResource
gbodeen May 19, 2021
ad44545
Open DiffUri at node.line in search-and-replace
gbodeen May 20, 2021
847c7c8
Explicitly sanitize notification content
May 26, 2021
eafb18e
Use file service in preference provider initialization
Apr 15, 2021
8ea255a
changelog: updated changelog for v1.14.0 release
vince-fugnitto May 27, 2021
31e72f2
publish v1.14.0
vince-fugnitto May 27, 2021
8eb33e3
vsx-registry: upgrade `sanitize-html` dep
vince-fugnitto May 27, 2021
2b65150
GH-9375: fix nested wrapped issue of Disposable
Apr 20, 2021
47a7cfc
Change default of goto line range to undefined
alvsan09 May 28, 2021
3f7cf88
WorkspacePreferenceProvider waits for WorkspaceService to be ready
May 28, 2021
011f76e
yarn: update 'yarn.lock'
vince-fugnitto May 31, 2021
48596e6
Don't re-open hidden tree-view after reload
alvsan09 Jun 1, 2021
1e2c702
Track index in Pref Tree to facilitate automatic scrolling
Jun 2, 2021
9b9cc2b
Open last seen editor, not last created
Jun 1, 2021
2880525
core: add BackendApplicationServer
paul-marechal May 10, 2021
f9c0311
Apply Secrets plugin API
vinokurig Jun 8, 2021
d0aadd6
Enable extensions.json
Feb 5, 2021
e8e88b7
Rewrite Editor Preview as extensions of Editor classes
Apr 15, 2021
aa4fe4a
application-package: refine config typings
paul-marechal Jun 8, 2021
93c5c8d
plugin: support prefix arguments for `quickOpen`
vince-fugnitto Jun 8, 2021
64e613f
add resizing to editor input
kenneth-marut-work May 27, 2021
b86616b
Refactor preference UI + add 'Commonly Used' section (#9439)
colin-grant-work Jun 10, 2021
1f2574b
gitpod: add libsecret to dockerfile
vince-fugnitto Jun 11, 2021
6067172
vsx-registry: add support for additional queries
vince-fugnitto Jun 9, 2021
8dd74db
core: re-export dompurify
vince-fugnitto Jun 9, 2021
a5bfd57
Enhancement : cursor/selection preserved
OmarSdt-EC May 29, 2021
739a40d
Check visible leaves for all change types
Jun 11, 2021
af9b883
Use more unique ID for non-command toolbar items
Jun 11, 2021
6583387
Provide API to filter unwanted contributions
tortmayr May 26, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitpod.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ RUN sudo apt-get update \
&& sudo apt-get install -y libgtk-3-0 libnss3 libasound2 libgbm1 \
# native-keymap
&& sudo apt-get install -y libx11-dev libxkbfile-dev \
# keytar
&& sudo apt-get install -y libsecret-1-dev \
&& sudo rm -rf /var/lib/apt/lists/*

ENV SHELL=/bin/bash
Expand Down
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,57 @@
# Change Log

## v1.15.0 - 6/24/2021

[1.15.0 Milestone](https://github.com/eclipse-theia/theia/milestone/21)

- [core] add API to filter contributions at runtime [#9317](https://github.com/eclipse-theia/theia/pull/9317) Contributed on behalf of STMicroelectronics
- [editor-preview] rewrote `editor-preview`-package classes as extensions of `editor`-package classes [#9518](https://github.com/eclipse-theia/theia/pull/9517)

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

- [editor-preview] `EditorPreviewWidget` now extends `EditorWidget` and `EditorPreviewManager` extends and overrides `EditorManager`. `instanceof` checks can no longer distinguish between preview and non-preview editors; use `.isPreview` field instead. [#9518](https://github.com/eclipse-theia/theia/pull/9517)

## v1.14.0 - 5/27/2021

[1.14.0 Milestone](https://github.com/eclipse-theia/theia/milestone/20)

- [api-samples] fixed dynamic label example [#9517](https://github.com/eclipse-theia/theia/pull/9517)
- [application-manager] upgraded to `webpack v5` [#9451](https://github.com/eclipse-theia/theia/pull/9451)
- [core] added events to notify about websocket upgrades [#9459](https://github.com/eclipse-theia/theia/pull/9459)
- [core] added support for language-specific preferences in the frontend configuration object [#9358](https://github.com/eclipse-theia/theia/pull/9358)
- [debug] fixed `Add Configurations` command behavior when an empty `launch.json` present [#9467](https://github.com/eclipse-theia/theia/pull/9467)
- [debug] fixed issue when setting non-code breakpoints [#9479](https://github.com/eclipse-theia/theia/pull/9479)
- [file-search] added support for `goto line and column` in the file search [#9478](https://github.com/eclipse-theia/theia/pull/9478)
- [filesystem] added ability to perform a `~` substitution in the browser file dialog [#9416](https://github.com/eclipse-theia/theia/pull/9416)
- [messages] added explicit handling to sanitize notification messages before rendering [#9520](https://github.com/eclipse-theia/theia/pull/9520)
- [monaco] improved styling of the `rename` input [#9419](https://github.com/eclipse-theia/theia/pull/9419)
- [output] fixed styling issue where `errors` and `warnings` were not colored [#9496](https://github.com/eclipse-theia/theia/pull/9496)
- [plugin] added support for `extensionsUri` [#9428](https://github.com/eclipse-theia/theia/pull/9428)
- [plugin] added support for `vscode.URI` APIs [#9422](https://github.com/eclipse-theia/theia/pull/9422)
- [plugin] added support for the `hosted-plugin.launchOutFiles` preference [#9176](https://github.com/eclipse-theia/theia/pull/9176)
- [plugin] aligned `FileDecoration` API with the latest version [#8911](https://github.com/eclipse-theia/theia/pull/8911)
- [plugin] improved extensibility of `replacer` and `reviver` [#9422](https://github.com/eclipse-theia/theia/pull/9422)
- [plugin] improved support for additional submenu contributions [#9371](https://github.com/eclipse-theia/theia/pull/9371)
- [preferences] updated initial reading of preference files to before the `ready` promise resolves [#9362](https://github.com/eclipse-theia/theia/pull/9362)
- [process][terminal] fixed issue where the output of short-lived tasks are not displayed [#9409](https://github.com/eclipse-theia/theia/pull/9409)
- [quality] removed duplicate implementations of `InMemoryTextResource` [#9504](https://github.com/eclipse-theia/theia/pull/9504)
- [search-in-workspace] added ability to perform searches outside workspace by specifying `include` path [#9307](https://github.com/eclipse-theia/theia/pull/9307)
- [search-in-workspace] added support for the `search.smartCase` preference to control searching behavior [#9408](https://github.com/eclipse-theia/theia/pull/9408)
- [search-in-workspace] fixed issue when revealing a result [#9504](https://github.com/eclipse-theia/theia/pull/9504)
- [search-in-workspace] improved search behavior for additional `include`/`exclude` patterns [#9307](https://github.com/eclipse-theia/theia/pull/9307)
- [search-in-workspace] updated `search and replace` to only display diff if a replace term is present [#9516](https://github.com/eclipse-theia/theia/pull/9516)
- [terminal] fixed merging of environment variables [#9437](https://github.com/eclipse-theia/theia/pull/9437)
- [terminal] removed incorrect `process.env` from the browser environment [#9452](https://github.com/eclipse-theia/theia/pull/9452)
- [vsx-registry] added handling to sanitize readme before rendering [#9424](https://github.com/eclipse-theia/theia/pull/9424)
- [vsx-registry] updated compatibility check for vscode builtins to verify compatible version rather than engine [#9486](https://github.com/eclipse-theia/theia/pull/9486)

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

- [debug] `DebugConfigurationManager` no longer `@injects()` the `FileService` and now uses `MonacoTextModelService` instead. [#9467](https://github.com/eclipse-theia/theia/pull/9467)
- [filesystem] `ReactRenderer`, `LocationListRenderer`, and `FileDialogTreeFiltersRenderer` have been made injectable/factoritized [#9416](https://github.com/eclipse-theia/theia/pull/9416)
- `FileDialog` and its children have been updated to use property injection where appropriate and initialization inside constructor has been moved to `postConstruct`
- [vsx-registry] `VSXRegistryAPI.getLatestCompatibleVersion` now accepts `VSXSearchEntry` as a parameter [#9486](https://github.com/eclipse-theia/theia/pull/9486)

## v1.13.0 - 4/29/2021

[1.13.0 Milestone](https://github.com/eclipse-theia/theia/milestone/19)
Expand Down
31 changes: 15 additions & 16 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.13.0",
"version": "1.14.0",
"description": "Theia application manager API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -32,32 +32,31 @@
"@babel/plugin-transform-classes": "^7.10.0",
"@babel/plugin-transform-runtime": "^7.10.0",
"@babel/preset-env": "^7.10.0",
"@theia/application-package": "1.13.0",
"@theia/application-package": "1.14.0",
"@theia/compression-webpack-plugin": "^3.0.0",
"@types/fs-extra": "^4.0.2",
"@types/webpack": "^4.41.2",
"babel-loader": "^8.0.6",
"circular-dependency-plugin": "^5.0.0",
"copy-webpack-plugin": "^4.5.0",
"babel-loader": "^8.2.2",
"buffer": "^6.0.3",
"circular-dependency-plugin": "^5.2.2",
"copy-webpack-plugin": "^8.1.1",
"css-loader": "^0.28.1",
"electron-rebuild": "^1.8.6",
"file-loader": "^1.1.11",
"font-awesome-webpack": "0.0.5-beta.2",
"fs-extra": "^4.0.2",
"ignore-loader": "^0.1.2",
"less": "^3.0.3",
"source-map-loader": "^0.2.1",
"source-map-support": "^0.4.18",
"style-loader": "^0.23.1",
"umd-compat-loader": "^2.1.1",
"url-loader": "^1.1.2",
"webpack": "^4.0.0",
"webpack-cli": "2.0.12",
"worker-loader": "^1.1.1",
"setimmediate": "^1.0.5",
"source-map-loader": "^2.0.1",
"source-map-support": "^0.5.19",
"style-loader": "^2.0.0",
"umd-compat-loader": "^2.1.2",
"webpack": "^5.36.2",
"webpack-cli": "4.7.0",
"worker-loader": "^3.0.8",
"yargs": "^15.3.1"
},
"devDependencies": {
"@theia/ext-scripts": "1.13.0"
"@theia/ext-scripts": "1.14.0"
},
"nyc": {
"extends": "../../configs/nyc.json"
Expand Down
6 changes: 3 additions & 3 deletions dev-packages/application-manager/src/expose-loader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
********************************************************************************/

import * as path from 'path';
import * as webpack from 'webpack';
// eslint-disable-next-line import/no-extraneous-dependencies
import type { RawSourceMap } from 'source-map';
import { ApplicationPackage } from '@theia/application-package/lib/application-package';
Expand Down Expand Up @@ -48,11 +47,12 @@ function exposeModule(modulePackage: { dir: string, name?: string }, resourcePat
* window['theia']['@theia/core/lib/common/uri'].
* Such syntax can be used by external code, for instance, for testing.
*/
export = function (this: webpack.loader.LoaderContext, source: string, sourceMap?: RawSourceMap): string | undefined {
// TODO: [email protected] is missing a `LoaderContext` interface so we'll use any in the meantime
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export = function (this: any, source: string, sourceMap?: RawSourceMap): string | undefined {
if (this.cacheable) {
this.cacheable();
}

let modulePackage = modulePackages.find(({ dir }) => this.resourcePath.startsWith(dir + path.sep));
if (modulePackage) {
this.callback(undefined, exposeModule(modulePackage, this.resourcePath, source), sourceMap);
Expand Down
50 changes: 26 additions & 24 deletions dev-packages/application-manager/src/generator/backend-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,17 @@ export class BackendGenerator extends AbstractGenerator {

protected compileServer(backendModules: Map<string, string>): string {
return `// @ts-check
require('reflect-metadata');
require('reflect-metadata');${this.ifElectron(`

// Patch electron version if missing, see https://github.com/eclipse-theia/theia/pull/7361#pullrequestreview-377065146
if (typeof process.versions.electron === 'undefined' && typeof process.env.THEIA_ELECTRON_VERSION === 'string') {
process.versions.electron = process.env.THEIA_ELECTRON_VERSION;
}
}`)}

const path = require('path');
const express = require('express');
const { Container } = require('inversify');
const { BackendApplication, CliManager } = require('@theia/core/lib/node');
const { BackendApplication, BackendApplicationServer, CliManager } = require('@theia/core/lib/node');
const { backendApplicationModule } = require('@theia/core/lib/node/backend-application-module');
const { messagingBackendModule } = require('@theia/core/lib/node/messaging/messaging-backend-module');
const { loggerBackendModule } = require('@theia/core/lib/node/logger-backend-module');
Expand All @@ -46,49 +46,51 @@ container.load(backendApplicationModule);
container.load(messagingBackendModule);
container.load(loggerBackendModule);

function defaultServeStatic(app) {
app.use(express.static(path.resolve(__dirname, '../../lib')))
}

function load(raw) {
return Promise.resolve(raw.default).then(module =>
container.load(module)
)
return Promise.resolve(raw.default).then(
module => container.load(module)
);
}

function start(port, host, argv) {
if (argv === undefined) {
argv = process.argv;
function start(port, host, argv = process.argv) {
if (!container.isBound(BackendApplicationServer)) {
container.bind(BackendApplicationServer).toConstantValue({ configure: defaultServeStatic });
}

const cliManager = container.get(CliManager);
return cliManager.initializeCli(argv).then(function () {
const application = container.get(BackendApplication);
application.use(express.static(path.join(__dirname, '../../lib')));
application.use(express.static(path.join(__dirname, '../../lib/index.html')));
return application.start(port, host);
return container.get(CliManager).initializeCli(argv).then(() => {
return container.get(BackendApplication).start(port, host);
});
}

module.exports = (port, host, argv) => Promise.resolve()${this.compileBackendModuleImports(backendModules)}
.then(() => start(port, host, argv)).catch(reason => {
console.error('Failed to start the backend application.');
if (reason) {
console.error(reason);
}
throw reason;
});`;
.then(() => start(port, host, argv)).catch(error => {
console.error('Failed to start the backend application:');
console.error(error);
process.exitCode = 1;
throw error;
});
`;
}

protected compileMain(backendModules: Map<string, string>): string {
return `// @ts-check
const { BackendApplicationConfigProvider } = require('@theia/core/lib/node/backend-application-config-provider');
const main = require('@theia/core/lib/node/main');

BackendApplicationConfigProvider.set(${this.prettyStringify(this.pck.props.backend.config)});

const serverModule = require('./server');
const serverAddress = main.start(serverModule());
serverAddress.then(function ({ port, address }) {

serverAddress.then(({ port, address }) => {
if (process && process.send) {
process.send({ port, address });
}
});

module.exports = serverAddress;
`;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export class FrontendGenerator extends AbstractGenerator {
return `// @ts-check
${this.ifBrowser("require('es6-promise/auto');")}
require('reflect-metadata');
require('setimmediate');
const { Container } = require('inversify');
const { FrontendApplicationConfigProvider } = require('@theia/core/lib/browser/frontend-application-config-provider');
FrontendApplicationConfigProvider.set(${this.prettyStringify(this.pck.props.frontend.config)});
Expand Down
Loading