Skip to content

Commit

Permalink
Merge branch 'master' into terminal-events
Browse files Browse the repository at this point in the history
  • Loading branch information
thegecko committed Mar 20, 2023
2 parents a7eff40 + fa1db70 commit 8a64ece
Show file tree
Hide file tree
Showing 211 changed files with 18,096 additions and 16,220 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
fail-fast: false
matrix:
os: [windows-2019, ubuntu-latest, macos-11]
node: [14.x, 16.x]
node: [16.x]

runs-on: ${{ matrix.os }}
timeout-minutes: 60
Expand Down Expand Up @@ -128,10 +128,10 @@ jobs:
with:
fetch-depth: 0 # To fetch all history for all branches and tags. (Will be required for caching with lerna: https://github.com/markuplint/markuplint/pull/111)

- name: Use Node.js 14.x
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: '14.x'
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'

- name: Use Python 3.x
Expand All @@ -150,7 +150,7 @@ jobs:
run: |
yarn docs
env:
NODE_OPTIONS: --max_old_space_size=8196
NODE_OPTIONS: --max_old_space_size=9216

- name: Publish GH Pages
uses: peaceiris/actions-gh-pages@v3
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
with:
python-version: "3.x"

- name: Build
- name: Build Browser
shell: bash
run: |
yarn --skip-integrity-check --network-timeout 100000
Expand All @@ -42,6 +42,11 @@ jobs:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://github.com/microsoft/vscode-ripgrep/issues/9

- name: Build Playwright
shell: bash
run: |
yarn --cwd examples/playwright build
- name: Test (playwright)
uses: GabrielBB/xvfb-action@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .gitpod.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ RUN sudo apt-get update \

ENV SHELL=/bin/bash

ENV NODE_VERSION="14.19.0"
ENV NODE_VERSION="16.14.0"
RUN bash -c ". .nvm/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm use $NODE_VERSION \
Expand Down
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,55 @@

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

## v1.36.0

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

- [plugin] renamed `TreeViewExtImpl#toTreeItem()` to `TreeViewExtImpl#toTreeElement()`
- [scm] Fixing 'scm' inline commands, introduces the following breaking changes: [#12295](https://github.com/eclipse-theia/theia/pull/12295)
- Interface ScmInlineAction removes 'commands: CommandRegistry'
- Interface ScmInlineActions removes 'commands: CommandRegistry'
- Interface ScmTreeWidget.Props removes 'commands: CommandRegistry'

## v1.35.0 - 02/23/2023

- [application-package] updated default supported VS Code API to `1.70.1` [#12200](https://github.com/eclipse-theia/theia/pull/12200)
- [core] added handling on shutdown when dirty editors are present [#12166](https://github.com/eclipse-theia/theia/pull/12166)
- [core] fixed `ToolbarItem.when` handling [#12067](https://github.com/eclipse-theia/theia/pull/12067)
- [core] fixed styling of view titles with toolbar items [#12077](https://github.com/eclipse-theia/theia/pull/12077)
- [core] implemented `workbench.editor.revealIfOpen` preference [#12145](https://github.com/eclipse-theia/theia/pull/12145)
- [core] improved styling for tree and select component outlines [#12156](https://github.com/eclipse-theia/theia/pull/12156)
- [core] updated localizations to VS Code `1.70.2` [#12205](https://github.com/eclipse-theia/theia/pull/12205)
- [debug] added localizations for the debug level selector [#12033](https://github.com/eclipse-theia/theia/pull/12033)
- [debug] fixed handling of for breakpoint events when metadata is updated [#12183](https://github.com/eclipse-theia/theia/pull/12183)
- [debug] fixed instruction breakpoints in `DebugSession` [#12190](https://github.com/eclipse-theia/theia/pull/12190)
- [debug] removed unnecessary "download debug adapters" script [#12150](https://github.com/eclipse-theia/theia/pull/12150)
- [editor] added handling for closing duplicate editors on the same tabbar [#12147](https://github.com/eclipse-theia/theia/pull/12147)
- [filesystem] added option to toggle hidden files/folders in the file dialog [#12179](https://github.com/eclipse-theia/theia/pull/12179)
- [filesystem] fixed memory leak in `NsfwWatcher` [#12144](https://github.com/eclipse-theia/theia/pull/12144)
- [filesystem] upgrades trash from `6.1.1` to `7.2.0` [#12133](https://github.com/eclipse-theia/theia/pull/12133)
- [navigator] updated restoration handling for open-editors [#12210](https://github.com/eclipse-theia/theia/pull/12210)
- [playwright] upgraded `@playwright/test` dependency to `1.30.0` [#12141](https://github.com/eclipse-theia/theia/pull/12141)
- [plugin] added ability to generate activation events automatically [#12167](https://github.com/eclipse-theia/theia/pull/12167)
- [plugin] added handling for plugins to access language overrides with bracket syntax [#12136](https://github.com/eclipse-theia/theia/pull/12136)
- [plugin] added support for `DocumentDropEditProvider` [#12125](https://github.com/eclipse-theia/theia/pull/12125)
- [plugin] added support for the `activeWebviewPanelId` context when-clause [#12182](https://github.com/eclipse-theia/theia/pull/12182)
- [plugin] exposed terminal commands to plugins [#12134](https://github.com/eclipse-theia/theia/pull/12134)
- [plugin] fixed focus issue for modal notifications [#12206](https://github.com/eclipse-theia/theia/pull/12206)
- [plugin] implemented the VS Code `Tab` API [#12109](https://github.com/eclipse-theia/theia/pull/12109)
- [plugin] implemented the `WorkspaceEditMetadata` VS Code API [#12193](https://github.com/eclipse-theia/theia/pull/12193)
- [plugin] updated restoration handling when a `Webview` does not implement `WebviewPanelSerializer` [#12138](https://github.com/eclipse-theia/theia/pull/12138)
- [repo] fixed API integration test suite [#12117](https://github.com/eclipse-theia/theia/pull/12117)
- [scripts] fixed comparison when compiling package references [#12122](https://github.com/eclipse-theia/theia/pull/12122)
- [terminal] added support for multi-root workspaces in terminal profiles [#12199](https://github.com/eclipse-theia/theia/pull/12199)
- [terminal] fixed issue when no default terminal profile is set on startup [#12191](https://github.com/eclipse-theia/theia/pull/12191)
- [workspace] added handling to ensure uniqueness of roots [#12159](https://github.com/eclipse-theia/theia/pull/12159)
- [workspace] updated styling for input dialogs [#12158](https://github.com/eclipse-theia/theia/pull/12158)

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

- [repo] drop support for `Node 14` [#12169](https://github.com/eclipse-theia/theia/pull/12169)

## v1.34.0 - 01/26/2023

- [application-package] bumped the default supported API version from `1.55.2` to `1.66.2` [#12104](https://github.com/eclipse-theia/theia/pull/12104)
Expand Down
3 changes: 2 additions & 1 deletion configs/typedoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"../+(dev-packages|examples|typings|scripts)/**",
"../packages/*/lib/**",
"**/node_modules/**",
"**/*spec.ts"
"**/*spec.ts",
"../plugins/*"
],
"excludeExternals": true,
"external-modulemap": ".*\/packages\/([\\w\\-_]+)\/",
Expand Down
8 changes: 4 additions & 4 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.34.0",
"version": "1.35.0",
"description": "Theia application manager API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -33,8 +33,8 @@
"@babel/plugin-transform-classes": "^7.10.0",
"@babel/plugin-transform-runtime": "^7.10.0",
"@babel/preset-env": "^7.10.0",
"@theia/application-package": "1.34.0",
"@theia/ffmpeg": "1.34.0",
"@theia/application-package": "1.35.0",
"@theia/ffmpeg": "1.35.0",
"@types/fs-extra": "^4.0.2",
"@types/semver": "^7.3.8",
"babel-loader": "^8.2.2",
Expand Down Expand Up @@ -71,7 +71,7 @@
}
},
"devDependencies": {
"@theia/ext-scripts": "1.34.0",
"@theia/ext-scripts": "1.35.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.34.0",
"version": "1.35.0",
"description": "Theia application package API.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -43,7 +43,7 @@
"write-json-file": "^2.2.0"
},
"devDependencies": {
"@theia/ext-scripts": "1.34.0"
"@theia/ext-scripts": "1.35.0"
},
"nyc": {
"extends": "../../configs/nyc.json"
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/application-package/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@
* The default supported API version the framework supports.
* The version should be in the format `x.y.z`.
*/
export const DEFAULT_SUPPORTED_API_VERSION = '1.66.2';
export const DEFAULT_SUPPORTED_API_VERSION = '1.70.2';
23 changes: 11 additions & 12 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.34.0",
"version": "1.35.0",
"description": "Theia CLI.",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -30,33 +30,32 @@
"clean": "theiaext clean"
},
"dependencies": {
"@theia/application-manager": "1.34.0",
"@theia/application-package": "1.34.0",
"@theia/ffmpeg": "1.34.0",
"@theia/localization-manager": "1.34.0",
"@theia/ovsx-client": "1.34.0",
"@theia/request": "1.34.0",
"@theia/application-manager": "1.35.0",
"@theia/application-package": "1.35.0",
"@theia/ffmpeg": "1.35.0",
"@theia/localization-manager": "1.35.0",
"@theia/ovsx-client": "1.35.0",
"@theia/request": "1.35.0",
"@types/chai": "^4.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",
"limiter": "^2.1.0",
"log-update": "^4.0.0",
"mocha": "^10.1.0",
"puppeteer": "^2.0.0",
"puppeteer-to-istanbul": "^1.2.2",
"puppeteer": "^19.7.2",
"puppeteer-core": "^19.7.2",
"puppeteer-to-istanbul": "^1.4.0",
"temp": "^0.9.1",
"yargs": "^15.3.1"
},
"devDependencies": {
"@types/chai": "^4.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"
"@types/proxy-from-env": "^1.0.1"
}
}
32 changes: 25 additions & 7 deletions dev-packages/cli/src/run-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
/* eslint-disable @typescript-eslint/no-explicit-any */

import * as net from 'net';
import * as puppeteer from 'puppeteer';
import * as puppeteer from 'puppeteer-core';
import newTestPage, { TestFileOptions } from './test-page';

export interface TestOptions {
start: () => Promise<net.AddressInfo>
launch?: puppeteer.LaunchOptions
launch?: puppeteer.PuppeteerLaunchOptions
files?: Partial<TestFileOptions>
coverage?: boolean
}
Expand All @@ -36,15 +36,31 @@ export default async function runTest(options: TestOptions): Promise<void> {
matchAppUrl: () => true, // all urls are application urls
newPage: async () => {
const browser = await puppeteer.launch(launch);
return browser.newPage();
// re-use empty tab
const [tab] = await browser.pages();
return tab;
},
onWillRun: async () => {
const promises = [];
if (options.coverage) {
await Promise.all([
testPage.coverage.startJSCoverage(),
testPage.coverage.startCSSCoverage()
]);
promises.push(testPage.coverage.startJSCoverage());
promises.push(testPage.coverage.startCSSCoverage());
}
// When launching in non-headless mode (with a UI and dev-tools open), make sure
// the app has focus, to avoid failures of tests that query the UI's state.
if (launch && launch.devtools) {
promises.push(testPage.waitForSelector('#theia-app-shell.p-Widget.theia-ApplicationShell')
.then(e => {
// eslint-disable-next-line no-null/no-null
if (e !== null) {
e.click();
}
}));
}

// Clear application's local storage to avoid reusing previous state
promises.push(testPage.evaluate(() => localStorage.clear()));
await Promise.all(promises);
},
onDidRun: async failures => {
if (options.coverage) {
Expand All @@ -56,6 +72,8 @@ export default async function runTest(options: TestOptions): Promise<void> {
require('puppeteer-to-istanbul').write([...jsCoverage, ...cssCoverage]);
}
if (exit) {
// allow a bit of time to finish printing-out test results
await new Promise(resolve => setTimeout(resolve, 1000));
await testPage.close();
process.exit(failures > 0 ? 1 : 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 @@ -16,7 +16,7 @@

/* eslint-disable @typescript-eslint/no-explicit-any */

import * as puppeteer from 'puppeteer';
import * as puppeteer from 'puppeteer-core';
const collectFiles: (options: TestFileOptions) => string[] = require('mocha/lib/cli/collect-files');

export interface TestFileOptions {
Expand Down Expand Up @@ -113,7 +113,7 @@ export default async function newTestPage(options: TestPageOptions): Promise<pup
reporter: 'spec',
ui: 'bdd',
color: true,
retries: 5
retries: 0
});
});

Expand Down
7 changes: 6 additions & 1 deletion dev-packages/cli/src/theia.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import downloadPlugins from './download-plugins';
import runTest from './run-test';
import { LocalizationManager, extract } from '@theia/localization-manager';

const { executablePath } = require('puppeteer');

process.on('unhandledRejection', (reason, promise) => {
throw reason;
});
Expand Down Expand Up @@ -525,7 +527,10 @@ async function theiaCli(): Promise<void> {
}),
launch: {
args: ['--no-sandbox'],
devtools: testInspect
// eslint-disable-next-line no-null/no-null
defaultViewport: null, // view port can take available space instead of 800x600 default
devtools: testInspect,
executablePath: executablePath()
},
files: {
extension: testExtension,
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.34.0",
"version": "1.35.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.34.0",
"version": "1.35.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.34.0"
"@theia/ext-scripts": "1.35.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.34.0",
"version": "1.35.0",
"description": "Theia Open-VSX Client",
"publishConfig": {
"access": "public"
Expand Down Expand Up @@ -29,7 +29,7 @@
"watch": "theiaext watch"
},
"dependencies": {
"@theia/request": "1.34.0",
"@theia/request": "1.35.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.34.0",
"version": "1.35.0",
"description": "Custom ESLint rules for developing Theia extensions and applications",
"main": "index.js",
"scripts": {
"prepare": "tsc -b"
},
"dependencies": {
"@theia/core": "1.34.0",
"@theia/ext-scripts": "1.34.0",
"@theia/re-exports": "1.34.0",
"@theia/core": "1.35.0",
"@theia/ext-scripts": "1.35.0",
"@theia/re-exports": "1.35.0",
"js-levenshtein": "^1.1.6"
}
}
Loading

0 comments on commit 8a64ece

Please sign in to comment.