summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Playfair Cal2021-01-20 23:28:16 +1100
committerDaniel Playfair Cal2021-01-20 23:29:27 +1100
commit7dc29d3fe0ca1cd468b5fd90ead0793974f634f6 (patch)
tree01e36240d51bf12781de4dfcdfe0d178ce44b0e5
downloadaur-7dc29d3fe0ca1cd468b5fd90ead0793974f634f6.tar.gz
1.52.1-1
-rw-r--r--.SRCINFO36
-rw-r--r--.gitignore5
-rw-r--r--0001-chore-bump-electron-11.0.3-111931.patch1102
-rw-r--r--PKGBUILD161
-rw-r--r--code-liveshare.diff12
-rw-r--r--code.js29
-rw-r--r--code.sh7
-rw-r--r--product_json.diff52
8 files changed, 1404 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..07b2d6f35817
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+pkgbase = code-wayland
+ pkgdesc = The Open Source build of Visual Studio Code (vscode) editor, with ozone enabled for wayland support
+ pkgver = 1.52.1
+ pkgrel = 1
+ url = https://github.com/microsoft/vscode
+ arch = x86_64
+ license = MIT
+ makedepends = git
+ makedepends = gulp
+ makedepends = npm
+ makedepends = python2
+ makedepends = yarn
+ makedepends = nodejs-lts-erbium
+ depends = electron-ozone
+ depends = libsecret
+ depends = libx11
+ depends = libxkbfile
+ depends = ripgrep
+ optdepends = bash-completion: Bash completions
+ optdepends = zsh-completions: ZSH completitons
+ optdepends = x11-ssh-askpass: SSH authentication
+ provides = vscode
+ conflicts = code
+ source = code-wayland::git+https://github.com/microsoft/vscode.git#tag=1.52.1
+ source = code.js
+ source = code.sh
+ source = product_json.diff
+ source = 0001-chore-bump-electron-11.0.3-111931.patch
+ sha512sums = SKIP
+ sha512sums = 814c9554427183cd893a33cd2cbe91f6e0ea71921ef0717c86217b1d3058d265f9ff7a9ace3e7b76f122e60b7686475cf4d999e581a1845face3033afb9f745f
+ sha512sums = aec825628bf1911731fbe79cf8cc4c1b61cbb956567e1d6616ff187668ad986324551d29a7ff7462b9d5a1f91d236dd0fea2c39ca36aeae88917c07303aaf2d2
+ sha512sums = 1a89170ac5ee6b0b19d4b981e6037c86cfcaf30ceb2910550d42ba8cf442d3f735438205fd6f54558ea1223714c719ced676193e6b625762af0c4bcfaddd9461
+ sha512sums = cd64cc93dafc537034bd9a69b9d77ab8e0350b7a05b464ee9efd91c55248f5888c89b968d7293d9a61c4963b6748980b717eb5ad3c55de261c5f767893924a38
+
+pkgname = code-wayland
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..9628958e10b0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+code-wayland/
+pkg/
+src/
+*.tar
+
diff --git a/0001-chore-bump-electron-11.0.3-111931.patch b/0001-chore-bump-electron-11.0.3-111931.patch
new file mode 100644
index 000000000000..35d93b9dead5
--- /dev/null
+++ b/0001-chore-bump-electron-11.0.3-111931.patch
@@ -0,0 +1,1102 @@
+From 4eea6e9126102acffa55dff3a98e4ba7cefacbbd Mon Sep 17 00:00:00 2001
+From: Robo <hop2deep@gmail.com>
+Date: Sat, 5 Dec 2020 01:54:58 -0800
+Subject: [PATCH] chore: bump electron@11.0.3 (#111931)
+
+* chore: bump electron@11.0.3
+
+This reverts commit 155691d0bec4acfac0e3bbccb362f61278a132de.
+
+* chore: bump x64 build image
+
+* chore: rebuild remote with older gcc toolchain
+
+* chore: bump electron@11.0.3
+
+* ci: remove condition for remote step
+
+* chore: disable an integration test
+---
+ .yarnrc | 2 +-
+ .../darwin/continuous-build-darwin.yml | 2 +-
+ .../darwin/helper-plugin-entitlements.plist | 10 -
+ .../darwin/product-build-darwin.yml | 4 +-
+ build/azure-pipelines/distro-build.yml | 2 +-
+ build/azure-pipelines/exploration-build.yml | 2 +-
+ .../linux/continuous-build-linux.yml | 2 +-
+ .../linux/product-build-alpine.yml | 2 +-
+ .../linux/product-build-linux.yml | 23 ++-
+ .../linux/snap-build-linux.yml | 2 +-
+ build/azure-pipelines/product-build.yml | 11 +-
+ build/azure-pipelines/product-compile.yml | 2 +-
+ .../publish-types/publish-types.yml | 2 +-
+ build/azure-pipelines/sync-mooncake.yml | 2 +-
+ .../azure-pipelines/web/product-build-web.yml | 2 +-
+ .../win32/continuous-build-win32.yml | 2 +-
+ .../win32/product-build-win32.yml | 2 +-
+ build/darwin/sign.ts | 10 -
+ cgmanifest.json | 12 +-
+ package.json | 10 +-
+ remote/.yarnrc | 2 +-
+ remote/package.json | 6 +-
+ remote/yarn.lock | 26 +--
+ scripts/test-integration.sh | 6 +-
+ src/vs/code/electron-main/window.ts | 6 +-
+ .../test/node/nativeModules.test.ts | 2 +-
+ .../platform/menubar/electron-main/menubar.ts | 6 +-
+ .../electron-main/webviewProtocolProvider.ts | 13 +-
+ .../services/extensions/node/proxyResolver.ts | 2 +-
+ yarn.lock | 187 +++++++++---------
+ 30 files changed, 179 insertions(+), 183 deletions(-)
+ delete mode 100644 build/azure-pipelines/darwin/helper-plugin-entitlements.plist
+
+diff --git a/.yarnrc b/.yarnrc
+index 264a5e3a3d..7b0e7edfcb 100644
+--- a/.yarnrc
++++ b/.yarnrc
+@@ -1,3 +1,3 @@
+ disturl "https://electronjs.org/headers"
+-target "9.3.5"
++target "11.0.3"
+ runtime "electron"
+diff --git a/build/azure-pipelines/darwin/continuous-build-darwin.yml b/build/azure-pipelines/darwin/continuous-build-darwin.yml
+index 55efe5f32e..75c28106c5 100644
+--- a/build/azure-pipelines/darwin/continuous-build-darwin.yml
++++ b/build/azure-pipelines/darwin/continuous-build-darwin.yml
+@@ -1,7 +1,7 @@
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/darwin/helper-plugin-entitlements.plist b/build/azure-pipelines/darwin/helper-plugin-entitlements.plist
+deleted file mode 100644
+index 7cd9df032b..0000000000
+--- a/build/azure-pipelines/darwin/helper-plugin-entitlements.plist
++++ /dev/null
+@@ -1,10 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+-<plist version="1.0">
+-<dict>
+- <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
+- <true/>
+- <key>com.apple.security.cs.disable-library-validation</key>
+- <true/>
+-</dict>
+-</plist>
+diff --git a/build/azure-pipelines/darwin/product-build-darwin.yml b/build/azure-pipelines/darwin/product-build-darwin.yml
+index 6f7dec16ac..e2107fd73c 100644
+--- a/build/azure-pipelines/darwin/product-build-darwin.yml
++++ b/build/azure-pipelines/darwin/product-build-darwin.yml
+@@ -22,7 +22,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+@@ -78,7 +78,7 @@ steps:
+
+ - script: |
+ set -e
+- npm install -g node-gyp@7.1.0
++ npm install -g node-gyp@latest
+ node-gyp --version
+ displayName: Update node-gyp
+ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
+diff --git a/build/azure-pipelines/distro-build.yml b/build/azure-pipelines/distro-build.yml
+index 99bad6b72c..331fbf9675 100644
+--- a/build/azure-pipelines/distro-build.yml
++++ b/build/azure-pipelines/distro-build.yml
+@@ -8,7 +8,7 @@ pr:
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+diff --git a/build/azure-pipelines/exploration-build.yml b/build/azure-pipelines/exploration-build.yml
+index 4a7acf129b..e0bb30a7e0 100644
+--- a/build/azure-pipelines/exploration-build.yml
++++ b/build/azure-pipelines/exploration-build.yml
+@@ -6,7 +6,7 @@ trigger: none
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: AzureKeyVault@1
+ displayName: "Azure Key Vault: Get Secrets"
+diff --git a/build/azure-pipelines/linux/continuous-build-linux.yml b/build/azure-pipelines/linux/continuous-build-linux.yml
+index e777f821d7..44cb982947 100644
+--- a/build/azure-pipelines/linux/continuous-build-linux.yml
++++ b/build/azure-pipelines/linux/continuous-build-linux.yml
+@@ -10,7 +10,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/linux/product-build-alpine.yml b/build/azure-pipelines/linux/product-build-alpine.yml
+index 9a54bc2bc8..8108ff8193 100644
+--- a/build/azure-pipelines/linux/product-build-alpine.yml
++++ b/build/azure-pipelines/linux/product-build-alpine.yml
+@@ -22,7 +22,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml
+index 1f7884a1c8..5d7e8cdb24 100644
+--- a/build/azure-pipelines/linux/product-build-linux.yml
++++ b/build/azure-pipelines/linux/product-build-linux.yml
+@@ -22,7 +22,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+@@ -69,6 +69,13 @@ steps:
+ targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
+ vstsFeed: "npm-vscode"
+
++ - script: |
++ set -e
++ npm install -g node-gyp@latest
++ node-gyp --version
++ displayName: Update node-gyp
++ condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
++
+ - script: |
+ set -e
+ export npm_config_arch=$(NPM_ARCH)
+@@ -97,6 +104,14 @@ steps:
+ displayName: Run postinstall scripts
+ condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
+
++ - script: |
++ set -e
++ export CC=$(which gcc-4.8)
++ export CXX=$(which g++-4.8)
++ cd remote
++ node-gyp rebuild
++ displayName: Rebuild remote modules with gcc-4.8
++
+ - script: |
+ set -e
+ node build/azure-pipelines/mixin
+@@ -112,12 +127,6 @@ steps:
+ yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
+ displayName: Build
+
+- - script: |
+- set -e
+- service xvfb start
+- displayName: Start xvfb
+- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
+-
+ - script: |
+ set -e
+ DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
+diff --git a/build/azure-pipelines/linux/snap-build-linux.yml b/build/azure-pipelines/linux/snap-build-linux.yml
+index f08c7b3c3e..e0f2d2c6e2 100644
+--- a/build/azure-pipelines/linux/snap-build-linux.yml
++++ b/build/azure-pipelines/linux/snap-build-linux.yml
+@@ -1,7 +1,7 @@
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/product-build.yml b/build/azure-pipelines/product-build.yml
+index ebe2fe6abe..2b3d87d119 100644
+--- a/build/azure-pipelines/product-build.yml
++++ b/build/azure-pipelines/product-build.yml
+@@ -11,8 +11,9 @@ schedules:
+ resources:
+ containers:
+ - container: vscode-x64
+- image: vscodehub.azurecr.io/vscode-linux-build-agent:x64
++ image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64
+ endpoint: VSCodeHub
++ options: --user 0:0
+ - container: vscode-arm64
+ image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
+ endpoint: VSCodeHub
+@@ -27,7 +28,7 @@ stages:
+ jobs:
+ - job: Compile
+ pool:
+- vmImage: "Ubuntu-16.04"
++ vmImage: "Ubuntu-18.04"
+ container: vscode-x64
+ variables:
+ VSCODE_ARCH: x64
+@@ -70,7 +71,7 @@ stages:
+ - Compile
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+- vmImage: "Ubuntu-16.04"
++ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: Linux
+ condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
+@@ -179,7 +180,7 @@ stages:
+ - macOSARM64
+ condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
+ pool:
+- vmImage: "Ubuntu-16.04"
++ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: SyncMooncake
+ displayName: Sync Mooncake
+@@ -194,7 +195,7 @@ stages:
+ - macOSARM64
+ condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule'))))
+ pool:
+- vmImage: "Ubuntu-16.04"
++ vmImage: "Ubuntu-18.04"
+ jobs:
+ - job: BuildService
+ displayName: Build Service
+diff --git a/build/azure-pipelines/product-compile.yml b/build/azure-pipelines/product-compile.yml
+index eaf0a65e8a..66baef772c 100644
+--- a/build/azure-pipelines/product-compile.yml
++++ b/build/azure-pipelines/product-compile.yml
+@@ -17,7 +17,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+ condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+diff --git a/build/azure-pipelines/publish-types/publish-types.yml b/build/azure-pipelines/publish-types/publish-types.yml
+index 5f1cf6c28a..0e3f4e4daa 100644
+--- a/build/azure-pipelines/publish-types/publish-types.yml
++++ b/build/azure-pipelines/publish-types/publish-types.yml
+@@ -9,7 +9,7 @@ pr: none
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/sync-mooncake.yml b/build/azure-pipelines/sync-mooncake.yml
+index 109709418f..280c9e6372 100644
+--- a/build/azure-pipelines/sync-mooncake.yml
++++ b/build/azure-pipelines/sync-mooncake.yml
+@@ -1,7 +1,7 @@
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/web/product-build-web.yml b/build/azure-pipelines/web/product-build-web.yml
+index 33282adbe4..1beae9506e 100644
+--- a/build/azure-pipelines/web/product-build-web.yml
++++ b/build/azure-pipelines/web/product-build-web.yml
+@@ -22,7 +22,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/win32/continuous-build-win32.yml b/build/azure-pipelines/win32/continuous-build-win32.yml
+index 87b820cb00..7bd1870738 100644
+--- a/build/azure-pipelines/win32/continuous-build-win32.yml
++++ b/build/azure-pipelines/win32/continuous-build-win32.yml
+@@ -1,7 +1,7 @@
+ steps:
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/azure-pipelines/win32/product-build-win32.yml b/build/azure-pipelines/win32/product-build-win32.yml
+index 1992ac1aff..5c8806401d 100644
+--- a/build/azure-pipelines/win32/product-build-win32.yml
++++ b/build/azure-pipelines/win32/product-build-win32.yml
+@@ -22,7 +22,7 @@ steps:
+
+ - task: NodeTool@0
+ inputs:
+- versionSpec: "12.14.1"
++ versionSpec: "12.18.3"
+
+ - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
+ inputs:
+diff --git a/build/darwin/sign.ts b/build/darwin/sign.ts
+index 538dc97adf..f1908b1474 100644
+--- a/build/darwin/sign.ts
++++ b/build/darwin/sign.ts
+@@ -29,7 +29,6 @@ async function main(): Promise<void> {
+ const appFrameworkPath = path.join(appRoot, appName, 'Contents', 'Frameworks');
+ const helperAppBaseName = product.nameShort;
+ const gpuHelperAppName = helperAppBaseName + ' Helper (GPU).app';
+- const pluginHelperAppName = helperAppBaseName + ' Helper (Plugin).app';
+ const rendererHelperAppName = helperAppBaseName + ' Helper (Renderer).app';
+
+ const defaultOpts: codesign.SignOptions = {
+@@ -51,7 +50,6 @@ async function main(): Promise<void> {
+ // TODO(deepak1556): Incorrectly declared type in electron-osx-sign
+ ignore: (filePath: string) => {
+ return filePath.includes(gpuHelperAppName) ||
+- filePath.includes(pluginHelperAppName) ||
+ filePath.includes(rendererHelperAppName);
+ }
+ };
+@@ -63,13 +61,6 @@ async function main(): Promise<void> {
+ 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-gpu-entitlements.plist'),
+ };
+
+- const pluginHelperOpts: codesign.SignOptions = {
+- ...defaultOpts,
+- app: path.join(appFrameworkPath, pluginHelperAppName),
+- entitlements: path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-plugin-entitlements.plist'),
+- 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-plugin-entitlements.plist'),
+- };
+-
+ const rendererHelperOpts: codesign.SignOptions = {
+ ...defaultOpts,
+ app: path.join(appFrameworkPath, rendererHelperAppName),
+@@ -78,7 +69,6 @@ async function main(): Promise<void> {
+ };
+
+ await codesign.signAsync(gpuHelperOpts);
+- await codesign.signAsync(pluginHelperOpts);
+ await codesign.signAsync(rendererHelperOpts);
+ await codesign.signAsync(appOpts as any);
+ }
+diff --git a/cgmanifest.json b/cgmanifest.json
+index 656e3f821b..5575cb4b04 100644
+--- a/cgmanifest.json
++++ b/cgmanifest.json
+@@ -6,7 +6,7 @@
+ "git": {
+ "name": "chromium",
+ "repositoryUrl": "https://chromium.googlesource.com/chromium/src",
+- "commitHash": "894fb9eb56c6cbda65e3c3ae9ada6d4cb5850cc9"
++ "commitHash": "0387c513f0319231a8ca6dd0a265102af3d4455e"
+ }
+ },
+ "licenseDetail": [
+@@ -40,7 +40,7 @@
+ "SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+ ],
+ "isOnlyProductionDependency": true,
+- "version": "83.0.4103.122"
++ "version": "87.0.4280.67"
+ },
+ {
+ "component": {
+@@ -48,11 +48,11 @@
+ "git": {
+ "name": "nodejs",
+ "repositoryUrl": "https://github.com/nodejs/node",
+- "commitHash": "9622fed3fb2cffcea9efff6c8cb4cc2def99d75d"
++ "commitHash": "e3e0927bb93ed92bcdfe81e7ad9af3d78ccc74fb"
+ }
+ },
+ "isOnlyProductionDependency": true,
+- "version": "12.14.1"
++ "version": "12.18.3"
+ },
+ {
+ "component": {
+@@ -60,12 +60,12 @@
+ "git": {
+ "name": "electron",
+ "repositoryUrl": "https://github.com/electron/electron",
+- "commitHash": "415c1f9e9b35d9599b1a8ad1200476afa47a3323"
++ "commitHash": "b0862a6e63173c4c919bd5ed27d257235bbfe7d2"
+ }
+ },
+ "isOnlyProductionDependency": true,
+ "license": "MIT",
+- "version": "9.3.5"
++ "version": "11.0.3"
+ },
+ {
+ "component": {
+diff --git a/package.json b/package.json
+index c856e311d0..1bced6a030 100644
+--- a/package.json
++++ b/package.json
+@@ -45,7 +45,7 @@
+ "compile-web": "gulp compile-web --max_old_space_size=4095",
+ "watch-web": "gulp watch-web --max_old_space_size=4095",
+ "eslint": "eslint -c .eslintrc.json --rulesdir ./build/lib/eslint --ext .ts --ext .js ./src/vs ./extensions",
+- "electron-rebuild": "electron-rebuild --arch=arm64 --force --version=11.0.2"
++ "electron-rebuild": "electron-rebuild --arch=arm64 --force --version=11.0.3"
+ },
+ "dependencies": {
+ "applicationinsights": "1.0.8",
+@@ -60,7 +60,7 @@
+ "native-is-elevated": "0.4.1",
+ "native-keymap": "2.2.1",
+ "native-watchdog": "1.3.0",
+- "node-pty": "0.10.0-beta17",
++ "node-pty": "0.10.0-beta18",
+ "spdlog": "^0.11.1",
+ "sudo-prompt": "9.1.1",
+ "tas-client-umd": "0.1.2",
+@@ -112,7 +112,7 @@
+ "css-loader": "^3.2.0",
+ "debounce": "^1.0.0",
+ "deemon": "^1.4.0",
+- "electron": "9.3.5",
++ "electron": "11.0.3",
+ "electron-rebuild": "2.0.3",
+ "eslint": "6.8.0",
+ "eslint-plugin-jsdoc": "^19.1.0",
+@@ -191,10 +191,10 @@
+ "url": "https://github.com/microsoft/vscode/issues"
+ },
+ "optionalDependencies": {
+- "vscode-windows-ca-certs": "0.2.0",
++ "vscode-windows-ca-certs": "^0.3.0",
+ "vscode-windows-registry": "1.0.3",
+ "windows-foreground-love": "0.2.0",
+ "windows-mutex": "0.3.0",
+ "windows-process-tree": "0.2.4"
+ }
+-}
++}
+\ No newline at end of file
+diff --git a/remote/.yarnrc b/remote/.yarnrc
+index c1a32ce532..cd436416b5 100644
+--- a/remote/.yarnrc
++++ b/remote/.yarnrc
+@@ -1,3 +1,3 @@
+ disturl "http://nodejs.org/dist"
+-target "12.14.1"
++target "12.18.3"
+ runtime "node"
+diff --git a/remote/package.json b/remote/package.json
+index f68deac647..57710a189b 100644
+--- a/remote/package.json
++++ b/remote/package.json
+@@ -12,15 +12,15 @@
+ "jschardet": "2.2.1",
+ "minimist": "^1.2.5",
+ "native-watchdog": "1.3.0",
+- "node-pty": "0.10.0-beta17",
++ "node-pty": "0.10.0-beta18",
+ "spdlog": "^0.11.1",
+ "tas-client-umd": "0.1.2",
+ "vscode-nsfw": "1.2.9",
+ "vscode-oniguruma": "1.3.1",
+ "vscode-proxy-agent": "^0.5.2",
++ "vscode-regexpp": "^3.1.0",
+ "vscode-ripgrep": "^1.11.1",
+ "vscode-textmate": "5.2.0",
+- "vscode-regexpp": "^3.1.0",
+ "xterm": "4.10.0-beta.4",
+ "xterm-addon-search": "0.8.0-beta.3",
+ "xterm-addon-unicode11": "0.3.0-beta.3",
+@@ -29,7 +29,7 @@
+ "yazl": "^2.4.3"
+ },
+ "optionalDependencies": {
+- "vscode-windows-ca-certs": "0.2.0",
++ "vscode-windows-ca-certs": "0.3.0",
+ "vscode-windows-registry": "1.0.2"
+ }
+ }
+diff --git a/remote/yarn.lock b/remote/yarn.lock
+index 22d8ebe3fc..e15eb9d983 100644
+--- a/remote/yarn.lock
++++ b/remote/yarn.lock
+@@ -299,15 +299,15 @@ native-watchdog@1.3.0:
+ resolved "https://registry.yarnpkg.com/native-watchdog/-/native-watchdog-1.3.0.tgz#88cee94c9dc766b85c8506eda14c8bd8c9618e27"
+ integrity sha512-WOjGRNGkYZ5MXsntcvCYrKtSYMaewlbCFplbcUVo9bE80LPVt8TAVFHYWB8+a6fWCGYheq21+Wtt6CJrUaCJhw==
+
+-node-addon-api@1.6.2:
+- version "1.6.2"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz#d8aad9781a5cfc4132cc2fecdbdd982534265217"
+- integrity sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==
++node-addon-api@^3.0.2:
++ version "3.0.2"
++ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681"
++ integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==
+
+-node-pty@0.10.0-beta17:
+- version "0.10.0-beta17"
+- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta17.tgz#962d4a3f4dc6772385e0cad529c209cef3bc79e6"
+- integrity sha512-tn7EANQacnAvnOQCImvgag1DL0tVmUoY/1yIZbh3u/BBpvCcGHLZJNn7TXheodRLr6hmGSUS2VbfcUr9p0gOug==
++node-pty@0.10.0-beta18:
++ version "0.10.0-beta18"
++ resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta18.tgz#7ed2d3f4a06b2b23fe2abdf5b41655e9dffc25d5"
++ integrity sha512-vpK4yB3A3VzgkvdOWegL7GcPapt45jfA4b3ejUe8k4RmqdWBRvFJngew8T3qAxmLhTkfo93psaN6izTlfkc6FA==
+ dependencies:
+ nan "^2.14.0"
+
+@@ -438,12 +438,12 @@ vscode-textmate@5.2.0:
+ resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
+ integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
+
+-vscode-windows-ca-certs@0.2.0:
+- version "0.2.0"
+- resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.2.0.tgz#086f0f4de57e2760a35ac6920831bff246237115"
+- integrity sha512-YBrJRT0zos+Yb1Qdn73GD8QZr7pa2IE96b5Y1hmmp6XeR8aYB7Iiq5gDAF/+/AxL+caSR9KPZQ6jiYWh5biD7w==
++vscode-windows-ca-certs@0.3.0:
++ version "0.3.0"
++ resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.3.0.tgz#324e1f8ba842bbf048a39e7c0ee8fe655e9adfcc"
++ integrity sha512-CYrpCEKmAFQJoZNReOrelNL+VKyebOVRCqL9evrBlVcpWQDliliJgU5RggGS8FPGtQ3jAKLQt9frF0qlxYYPKA==
+ dependencies:
+- node-addon-api "1.6.2"
++ node-addon-api "^3.0.2"
+
+ vscode-windows-registry@1.0.2:
+ version "1.0.2"
+diff --git a/scripts/test-integration.sh b/scripts/test-integration.sh
+index b82dbec113..609a2bf612 100755
+--- a/scripts/test-integration.sh
++++ b/scripts/test-integration.sh
+@@ -60,8 +60,10 @@ after_suite
+ "$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR
+ after_suite
+
+-"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR
+-after_suite
++# TODO(deepak1556): Disable workspace test temporarily
++# https://github.com/microsoft/vscode/issues/111288
++#"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR
++#after_suite
+
+ "$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR
+ after_suite
+diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts
+index a9f47be815..f6b98e72c9 100644
+--- a/src/vs/code/electron-main/window.ts
++++ b/src/vs/code/electron-main/window.ts
+@@ -9,7 +9,7 @@ import * as nls from 'vs/nls';
+ import * as perf from 'vs/base/common/performance';
+ import { Emitter } from 'vs/base/common/event';
+ import { URI } from 'vs/base/common/uri';
+-import { screen, BrowserWindow, systemPreferences, app, TouchBar, nativeImage, Rectangle, Display, TouchBarSegmentedControl, NativeImage, BrowserWindowConstructorOptions, SegmentedControlSegment, nativeTheme, Event, Details } from 'electron';
++import { screen, BrowserWindow, systemPreferences, app, TouchBar, nativeImage, Rectangle, Display, TouchBarSegmentedControl, NativeImage, BrowserWindowConstructorOptions, SegmentedControlSegment, nativeTheme, Event, RenderProcessGoneDetails } from 'electron';
+ import { IEnvironmentMainService } from 'vs/platform/environment/electron-main/environmentMainService';
+ import { ILogService } from 'vs/platform/log/common/log';
+ import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+@@ -544,8 +544,8 @@ export class CodeWindow extends Disposable implements ICodeWindow {
+ }
+
+ private onWindowError(error: WindowError.UNRESPONSIVE): void;
+- private onWindowError(error: WindowError.CRASHED, details: Details): void;
+- private onWindowError(error: WindowError, details?: Details): void {
++ private onWindowError(error: WindowError.CRASHED, details: RenderProcessGoneDetails): void;
++ private onWindowError(error: WindowError, details?: RenderProcessGoneDetails): void {
+ this.logService.error(error === WindowError.CRASHED ? `[VS Code]: renderer process crashed (detail: ${details?.reason})` : '[VS Code]: detected unresponsive');
+
+ // If we run extension tests from CLI, showing a dialog is not
+diff --git a/src/vs/platform/environment/test/node/nativeModules.test.ts b/src/vs/platform/environment/test/node/nativeModules.test.ts
+index b64282f626..34617f575b 100644
+--- a/src/vs/platform/environment/test/node/nativeModules.test.ts
++++ b/src/vs/platform/environment/test/node/nativeModules.test.ts
+@@ -90,7 +90,7 @@ suite('Native Modules (all platforms)', () => {
+ test('vscode-windows-ca-certs', async () => {
+ // @ts-ignore Windows only
+ const windowsCerts = await import('vscode-windows-ca-certs');
+- const store = windowsCerts();
++ const store = new windowsCerts.Crypt32();
+ assert.ok(windowsCerts, testErrorMessage('vscode-windows-ca-certs'));
+ let certCount = 0;
+ try {
+diff --git a/src/vs/platform/menubar/electron-main/menubar.ts b/src/vs/platform/menubar/electron-main/menubar.ts
+index 3039b01a1c..90fba9c3fb 100644
+--- a/src/vs/platform/menubar/electron-main/menubar.ts
++++ b/src/vs/platform/menubar/electron-main/menubar.ts
+@@ -6,7 +6,7 @@
+ import * as nls from 'vs/nls';
+ import { isMacintosh, language } from 'vs/base/common/platform';
+ import { IEnvironmentMainService } from 'vs/platform/environment/electron-main/environmentMainService';
+-import { app, Menu, MenuItem, BrowserWindow, MenuItemConstructorOptions, WebContents, Event, KeyboardEvent } from 'electron';
++import { app, Menu, MenuItem, BrowserWindow, MenuItemConstructorOptions, WebContents, KeyboardEvent } from 'electron';
+ import { getTitleBarStyle, INativeRunActionInWindowRequest, INativeRunKeybindingInWindowRequest, IWindowOpenable } from 'vs/platform/windows/common/windows';
+ import { OpenContext } from 'vs/platform/windows/node/window';
+ import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+@@ -62,7 +62,7 @@ export class Menubar {
+
+ private keybindings: { [commandId: string]: IMenubarKeybinding };
+
+- private readonly fallbackMenuHandlers: { [id: string]: (menuItem: MenuItem, browserWindow: BrowserWindow | undefined, event: Event) => void } = Object.create(null);
++ private readonly fallbackMenuHandlers: { [id: string]: (menuItem: MenuItem, browserWindow: BrowserWindow | undefined, event: KeyboardEvent) => void } = Object.create(null);
+
+ constructor(
+ @IUpdateService private readonly updateService: IUpdateService,
+@@ -639,7 +639,7 @@ export class Menubar {
+ private createMenuItem(label: string, click: () => void, enabled?: boolean, checked?: boolean): MenuItem;
+ private createMenuItem(arg1: string, arg2: any, arg3?: boolean, arg4?: boolean): MenuItem {
+ const label = this.mnemonicLabel(arg1);
+- const click: () => void = (typeof arg2 === 'function') ? arg2 : (menuItem: MenuItem & IMenuItemWithKeybinding, win: BrowserWindow, event: Event) => {
++ const click: () => void = (typeof arg2 === 'function') ? arg2 : (menuItem: MenuItem & IMenuItemWithKeybinding, win: BrowserWindow, event: KeyboardEvent) => {
+ const userSettingsLabel = menuItem ? menuItem.userSettingsLabel : null;
+ let commandId = arg2;
+ if (Array.isArray(arg2)) {
+diff --git a/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts b/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts
+index a019d267e6..ce6233924b 100644
+--- a/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts
++++ b/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts
+@@ -125,7 +125,10 @@ export class WebviewProtocolProvider extends Disposable {
+ }
+ }
+
+- private async handleWebviewRequest(request: Electron.Request, callback: any) {
++ private async handleWebviewRequest(
++ request: Electron.ProtocolRequest,
++ callback: (response: string | Electron.ProtocolResponse) => void
++ ) {
+ try {
+ const uri = URI.parse(request.url);
+ const entry = WebviewProtocolProvider.validWebviewFilePaths.get(uri.path);
+@@ -144,8 +147,8 @@ export class WebviewProtocolProvider extends Disposable {
+ }
+
+ private async handleWebviewResourceRequest(
+- request: Electron.Request,
+- callback: (stream?: NodeJS.ReadableStream | Electron.StreamProtocolResponse | undefined) => void
++ request: Electron.ProtocolRequest,
++ callback: (stream: NodeJS.ReadableStream | Electron.ProtocolResponse) => void
+ ) {
+ try {
+ const uri = URI.parse(request.url);
+@@ -220,14 +223,14 @@ export class WebviewProtocolProvider extends Disposable {
+
+ if (result.type === WebviewResourceResponse.Type.AccessDenied) {
+ console.error('Webview: Cannot load resource outside of protocol root');
+- return callback({ data: null, statusCode: 401 });
++ return callback({ data: undefined, statusCode: 401 });
+ }
+ }
+ } catch {
+ // noop
+ }
+
+- return callback({ data: null, statusCode: 404 });
++ return callback({ data: undefined, statusCode: 404 });
+ }
+
+ public didLoadResource(requestId: number, content: VSBuffer | undefined) {
+diff --git a/src/vs/workbench/services/extensions/node/proxyResolver.ts b/src/vs/workbench/services/extensions/node/proxyResolver.ts
+index 3050bc6e2d..80177b1fad 100644
+--- a/src/vs/workbench/services/extensions/node/proxyResolver.ts
++++ b/src/vs/workbench/services/extensions/node/proxyResolver.ts
+@@ -498,7 +498,7 @@ async function readWindowsCaCertificates() {
+ const winCA = await import('vscode-windows-ca-certs');
+
+ let ders: any[] = [];
+- const store = winCA();
++ const store = new winCA.Crypt32();
+ try {
+ let der: any;
+ while (der = store.next()) {
+diff --git a/yarn.lock b/yarn.lock
+index dd5e3e4eea..8adc7c55ed 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -141,15 +141,14 @@
+ to-fast-properties "^2.0.0"
+
+ "@electron/get@^1.0.1":
+- version "1.12.2"
+- resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3"
+- integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==
++ version "1.7.2"
++ resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.7.2.tgz#286436a9fb56ff1a1fcdf0e80131fd65f4d1e0fd"
++ integrity sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA==
+ dependencies:
+ debug "^4.1.1"
+ env-paths "^2.2.0"
+ fs-extra "^8.1.0"
+ got "^9.6.0"
+- progress "^2.0.3"
+ sanitize-filename "^1.6.2"
+ sumchecker "^3.0.1"
+ optionalDependencies:
+@@ -279,9 +278,9 @@
+ integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
+
+ "@types/node@^12.0.12":
+- version "12.19.7"
+- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.7.tgz#cf8b6ac088dd9182ac9a1d765f787a8d12490c04"
+- integrity sha512-zvjOU1g4CpPilbTDUATnZCUb/6lARMRAqzT7ILwl1P3YvU2leEcZ2+fw9+Jrw/paXB1CgQyXTrN4hWDtqT9O2A==
++ version "12.12.24"
++ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.24.tgz#d4606afd8cf6c609036b854360367d1b2c78931f"
++ integrity sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug==
+
+ "@types/node@^12.11.7":
+ version "12.12.14"
+@@ -1312,10 +1311,10 @@ boolbase@~1.0.0:
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
+-boolean@^3.0.1:
+- version "3.0.2"
+- resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570"
+- integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==
++boolean@^3.0.0:
++ version "3.0.0"
++ resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.0.tgz#fab78d5907dbae6216ab46d32733bb7b76b99e76"
++ integrity sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==
+
+ boom@4.x.x:
+ version "4.3.1"
+@@ -2114,7 +2113,7 @@ concat-map@0.0.1:
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+-concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@^1.6.2:
++concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+@@ -2237,10 +2236,10 @@ copy-webpack-plugin@^4.5.2:
+ p-limit "^1.0.0"
+ serialize-javascript "^1.4.0"
+
+-core-js@^3.6.5:
+- version "3.8.0"
+- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.0.tgz#0fc2d4941cadf80538b030648bb64d230b4da0ce"
+- integrity sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==
++core-js@^3.4.1:
++ version "3.6.1"
++ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.1.tgz#39d5e2e346258cc01eb7d44345b1c3c014ca3f05"
++ integrity sha512-186WjSik2iTGfDjfdCZAxv2ormxtKgemjC3SI6PL31qOA0j5LhTDVjHChccoc7brwLvpvLPiMyRlcO88C4l1QQ==
+
+ core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+@@ -2476,6 +2475,13 @@ debug@2.2.0:
+ dependencies:
+ ms "0.7.1"
+
++debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3:
++ version "2.6.9"
++ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
++ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
++ dependencies:
++ ms "2.0.0"
++
+ debug@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+@@ -2490,13 +2496,6 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+ dependencies:
+ ms "^2.1.1"
+
+-debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+- version "2.6.9"
+- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+- dependencies:
+- ms "2.0.0"
+-
+ debug@^3.1.0:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+@@ -2571,9 +2570,9 @@ defaults@^1.0.3:
+ clone "^1.0.2"
+
+ defer-to-connect@^1.0.1:
+- version "1.1.3"
+- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+- integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
++ version "1.1.1"
++ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f"
++ integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==
+
+ define-properties@^1.1.2, define-properties@^1.1.3:
+ version "1.1.3"
+@@ -2858,10 +2857,10 @@ electron-to-chromium@^1.2.7:
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d"
+ integrity sha1-eOy4o5kGYYe7N07t412ccFZagD0=
+
+-electron@9.3.5:
+- version "9.3.5"
+- resolved "https://registry.yarnpkg.com/electron/-/electron-9.3.5.tgz#7967146b81e6d9b484773243fd4a4f671a50b884"
+- integrity sha512-EPmDsp7sO0UPtw7nLD1ufse/nBskP+ifXzBgUg9psCUlapkzuwYi6pmLAzKLW/bVjwgyUKwh1OKWILWfOeLGcQ==
++electron@11.0.3:
++ version "11.0.3"
++ resolved "https://registry.yarnpkg.com/electron/-/electron-11.0.3.tgz#c29eaacda38ce561890e59906ca5f507c72b3ec4"
++ integrity sha512-nNfbLi7Q1xfJXOEO2adck5TS6asY4Jxc332E4Te8XfQ9hcaC3GiCdeEqk9FndNCwxhJA5Lr9jfSGRTwWebFa/w==
+ dependencies:
+ "@electron/get" "^1.0.1"
+ "@types/node" "^12.0.12"
+@@ -3042,10 +3041,10 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+-escape-string-regexp@^4.0.0:
+- version "4.0.0"
+- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
++escape-string-regexp@^2.0.0:
++ version "2.0.0"
++ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
++ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+ eslint-plugin-jsdoc@^19.1.0:
+ version "19.1.0"
+@@ -3421,14 +3420,14 @@ extglob@^2.0.4:
+ to-regex "^3.0.1"
+
+ extract-zip@^1.0.3:
+- version "1.7.0"
+- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
+- integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
++ version "1.6.7"
++ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
++ integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=
+ dependencies:
+- concat-stream "^1.6.2"
+- debug "^2.6.9"
+- mkdirp "^0.5.4"
+- yauzl "^2.10.0"
++ concat-stream "1.6.2"
++ debug "2.6.9"
++ mkdirp "0.5.1"
++ yauzl "2.4.1"
+
+ extract-zip@^2.0.1:
+ version "2.0.1"
+@@ -4092,17 +4091,17 @@ glob@^7.1.4, glob@^7.1.6:
+ path-is-absolute "^1.0.0"
+
+ global-agent@^2.0.2:
+- version "2.1.12"
+- resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195"
+- integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==
++ version "2.1.7"
++ resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.7.tgz#12d7bc2b07cd862d0fa76b0f1b2c48cd5ffcf150"
++ integrity sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==
+ dependencies:
+- boolean "^3.0.1"
+- core-js "^3.6.5"
++ boolean "^3.0.0"
++ core-js "^3.4.1"
+ es6-error "^4.1.1"
+- matcher "^3.0.0"
+- roarr "^2.15.3"
+- semver "^7.3.2"
+- serialize-error "^7.0.1"
++ matcher "^2.0.0"
++ roarr "^2.14.5"
++ semver "^6.3.0"
++ serialize-error "^5.0.0"
+
+ global-modules@^1.0.0:
+ version "1.0.0"
+@@ -4167,7 +4166,7 @@ globals@^12.1.0:
+ dependencies:
+ type-fest "^0.8.1"
+
+-globalthis@^1.0.1:
++globalthis@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9"
+ integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==
+@@ -4683,9 +4682,9 @@ html-escaper@^2.0.0:
+ readable-stream "^2.0.2"
+
+ http-cache-semantics@^4.0.0:
+- version "4.1.0"
+- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+- integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
++ version "4.0.3"
++ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5"
++ integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==
+
+ http-proxy-agent@^2.1.0:
+ version "2.1.0"
+@@ -5942,12 +5941,12 @@ matchdep@^2.0.0:
+ resolve "^1.4.0"
+ stack-trace "0.0.10"
+
+-matcher@^3.0.0:
+- version "3.0.0"
+- resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
+- integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==
++matcher@^2.0.0:
++ version "2.1.0"
++ resolved "https://registry.yarnpkg.com/matcher/-/matcher-2.1.0.tgz#64e1041c15b993e23b786f93320a7474bf833c28"
++ integrity sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==
+ dependencies:
+- escape-string-regexp "^4.0.0"
++ escape-string-regexp "^2.0.0"
+
+ math-expression-evaluator@^1.2.14:
+ version "1.2.17"
+@@ -6110,7 +6109,12 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0:
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+-mimic-response@^1.0.0, mimic-response@^1.0.1:
++mimic-response@^1.0.0:
++ version "1.0.0"
++ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e"
++ integrity sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=
++
++mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+@@ -6252,7 +6256,7 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd
+ dependencies:
+ minimist "0.0.8"
+
+-mkdirp@^0.5.3, mkdirp@^0.5.4:
++mkdirp@^0.5.3:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+@@ -6431,12 +6435,7 @@ node-abi@^2.19.1, node-abi@^2.7.0:
+ dependencies:
+ semver "^5.4.1"
+
+-node-addon-api@1.6.2:
+- version "1.6.2"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz#d8aad9781a5cfc4132cc2fecdbdd982534265217"
+- integrity sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==
+-
+-node-addon-api@^3.0.0:
++node-addon-api@^3.0.0, node-addon-api@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681"
+ integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==
+@@ -6502,10 +6501,10 @@ node-pre-gyp@^0.10.0:
+ semver "^5.3.0"
+ tar "^4"
+
+-node-pty@0.10.0-beta17:
+- version "0.10.0-beta17"
+- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta17.tgz#962d4a3f4dc6772385e0cad529c209cef3bc79e6"
+- integrity sha512-tn7EANQacnAvnOQCImvgag1DL0tVmUoY/1yIZbh3u/BBpvCcGHLZJNn7TXheodRLr6hmGSUS2VbfcUr9p0gOug==
++node-pty@0.10.0-beta18:
++ version "0.10.0-beta18"
++ resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta18.tgz#7ed2d3f4a06b2b23fe2abdf5b41655e9dffc25d5"
++ integrity sha512-vpK4yB3A3VzgkvdOWegL7GcPapt45jfA4b3ejUe8k4RmqdWBRvFJngew8T3qAxmLhTkfo93psaN6izTlfkc6FA==
+ dependencies:
+ nan "^2.14.0"
+
+@@ -8368,14 +8367,14 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+-roarr@^2.15.3:
+- version "2.15.4"
+- resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd"
+- integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==
++roarr@^2.14.5:
++ version "2.14.6"
++ resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.14.6.tgz#cebe8ad7ecbfd15bfa37b02dacf00809dd633912"
++ integrity sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==
+ dependencies:
+- boolean "^3.0.1"
++ boolean "^3.0.0"
+ detect-node "^2.0.4"
+- globalthis "^1.0.1"
++ globalthis "^1.0.0"
+ json-stringify-safe "^5.0.1"
+ semver-compare "^1.0.0"
+ sprintf-js "^1.1.2"
+@@ -8528,12 +8527,12 @@ semver@^7.3.2:
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
+-serialize-error@^7.0.1:
+- version "7.0.1"
+- resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18"
+- integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==
++serialize-error@^5.0.0:
++ version "5.0.0"
++ resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-5.0.0.tgz#a7ebbcdb03a5d71a6ed8461ffe0fc1a1afed62ac"
++ integrity sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==
+ dependencies:
+- type-fest "^0.13.1"
++ type-fest "^0.8.0"
+
+ serialize-javascript@^1.4.0:
+ version "1.5.0"
+@@ -9573,12 +9572,7 @@ type-check@~0.3.2:
+ dependencies:
+ prelude-ls "~1.1.2"
+
+-type-fest@^0.13.1:
+- version "0.13.1"
+- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
+- integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
+-
+-type-fest@^0.8.1:
++type-fest@^0.8.0, type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+@@ -10083,12 +10077,12 @@ vscode-textmate@5.2.0:
+ resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
+ integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
+
+-vscode-windows-ca-certs@0.2.0:
+- version "0.2.0"
+- resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.2.0.tgz#086f0f4de57e2760a35ac6920831bff246237115"
+- integrity sha512-YBrJRT0zos+Yb1Qdn73GD8QZr7pa2IE96b5Y1hmmp6XeR8aYB7Iiq5gDAF/+/AxL+caSR9KPZQ6jiYWh5biD7w==
++vscode-windows-ca-certs@^0.3.0:
++ version "0.3.0"
++ resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.3.0.tgz#324e1f8ba842bbf048a39e7c0ee8fe655e9adfcc"
++ integrity sha512-CYrpCEKmAFQJoZNReOrelNL+VKyebOVRCqL9evrBlVcpWQDliliJgU5RggGS8FPGtQ3jAKLQt9frF0qlxYYPKA==
+ dependencies:
+- node-addon-api "1.6.2"
++ node-addon-api "^3.0.2"
+
+ vscode-windows-registry@1.0.3:
+ version "1.0.3"
+@@ -10558,6 +10552,13 @@ yaserver@^0.2.0:
+ resolved "https://registry.yarnpkg.com/yaserver/-/yaserver-0.2.0.tgz#56393027dc13f3c1bb89d20e0bd17269aa927802"
+ integrity sha512-onsELrl7Y42M4P3T9R0N/ZJNJRu4cGwzhDyOWIFRMJvPUIrGKInYGh+DJBefrbr1qoyDu7DSCLl9BL5hSSVfDA==
+
++yauzl@2.4.1:
++ version "2.4.1"
++ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
++ integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=
++ dependencies:
++ fd-slicer "~1.0.1"
++
+ yauzl@^2.10.0, yauzl@^2.9.2:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+--
+2.30.0
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f14ff7ff3945
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,161 @@
+# Maintainer: Daniel Playfair Cal <daniel.playfair.cal gmail com>
+# Contributor: Filipe Laíns (FFY00) <lains@archlinux.org>
+# Contributor: Michael Hansen <zrax0111 gmail com>
+# Contributor: Francisco Magalhães <franmagneto gmail com>
+
+pkgname=code-wayland
+pkgdesc='The Open Source build of Visual Studio Code (vscode) editor, with ozone enabled for wayland support'
+# Important: Remember to check https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites for target node version
+# NodeJS versioning cheatsheet:
+# - carbon: 8
+# - dubnium: 10
+# - ?: 11 (not in repos)
+# - erbium: 12
+# Important: Remember to check https://github.com/microsoft/vscode/blob/master/.yarnrc (choose correct tag) for target electron version
+_electron=electron # 11
+pkgver=1.52.1
+pkgrel=1
+arch=('x86_64')
+url='https://github.com/microsoft/vscode'
+license=('MIT')
+depends=('electron-ozone' 'libsecret' 'libx11' 'libxkbfile' 'ripgrep')
+optdepends=('bash-completion: Bash completions'
+ 'zsh-completions: ZSH completitons'
+ 'x11-ssh-askpass: SSH authentication')
+makedepends=('git' 'gulp' 'npm' 'python2' 'yarn' 'nodejs-lts-erbium')
+provides=('vscode')
+conflicts=('code')
+source=("$pkgname::git+$url.git#tag=$pkgver"
+ 'code.js'
+ 'code.sh'
+ 'product_json.diff'
+ '0001-chore-bump-electron-11.0.3-111931.patch')
+sha512sums=('SKIP'
+ '814c9554427183cd893a33cd2cbe91f6e0ea71921ef0717c86217b1d3058d265f9ff7a9ace3e7b76f122e60b7686475cf4d999e581a1845face3033afb9f745f'
+ 'aec825628bf1911731fbe79cf8cc4c1b61cbb956567e1d6616ff187668ad986324551d29a7ff7462b9d5a1f91d236dd0fea2c39ca36aeae88917c07303aaf2d2'
+ '1a89170ac5ee6b0b19d4b981e6037c86cfcaf30ceb2910550d42ba8cf442d3f735438205fd6f54558ea1223714c719ced676193e6b625762af0c4bcfaddd9461'
+ 'cd64cc93dafc537034bd9a69b9d77ab8e0350b7a05b464ee9efd91c55248f5888c89b968d7293d9a61c4963b6748980b717eb5ad3c55de261c5f767893924a38')
+
+# Even though we don't officially support other archs, let's
+# allow the user to use this PKGBUILD to compile the package
+# for his architecture
+case "$CARCH" in
+ i686)
+ _vscode_arch=ia32
+ ;;
+ x86_64)
+ _vscode_arch=x64
+ ;;
+ armv7h)
+ _vscode_arch=arm
+ ;;
+ *)
+ # Needed for mksrcinfo
+ _vscode_arch=DUMMY
+ ;;
+esac
+
+prepare() {
+ cd $pkgname
+
+ # Change electron binary name to the target electron
+ sed -i "s|exec electron |exec $_electron |" ../code.sh
+
+ # Make extensions and live share work
+ patch -Np1 -i ../product_json.diff
+
+ # Backport the update from electron 9->11, for better wayland support.
+ patch -Np1 -i ../0001-chore-bump-electron-11.0.3-111931.patch
+
+ # Set the commit and build date
+ local _commit=$(git rev-parse HEAD)
+ local _datestamp=$(date -u -Is | sed 's/\+00:00/Z/')
+ sed -e "s/@COMMIT@/$_commit/" -e "s/@DATE@/$_datestamp/" -i product.json
+
+ # Build native modules for system electron
+ local _target=$(</usr/lib/$_electron/version)
+ sed -i "s/^target .*/target \"${_target//v/}\"/" .yarnrc
+
+ # Patch appdata and desktop file
+ sed -i 's|/usr/share/@@NAME@@/@@NAME@@|@@NAME@@|g
+ s|@@NAME_SHORT@@|Code|g
+ s|@@NAME_LONG@@|Code - wayland|g
+ s|@@NAME@@|code-wayland|g
+ s|@@ICON@@|com.visualstudio.code.wayland|g
+ s|@@EXEC@@|/usr/bin/code-wayland|g
+ s|@@LICENSE@@|MIT|g
+ s|@@URLPROTOCOL@@|vscode|g
+ s|inode/directory;||' resources/linux/code{.appdata.xml,.desktop,-url-handler.desktop}
+
+ sed -i 's|MimeType=.*|MimeType=x-scheme-handler/code-wayland;|' resources/linux/code-url-handler.desktop
+
+ # Add completitions for code-wayland
+ cp resources/completions/bash/code resources/completions/bash/code-wayland
+ cp resources/completions/zsh/_code resources/completions/zsh/_code-wayland
+
+ # Patch completitions with correct names
+ sed -i 's|@@APPNAME@@|code|g' resources/completions/{bash/code,zsh/_code}
+ sed -i 's|@@APPNAME@@|code-wayland|g' resources/completions/{bash/code-wayland,zsh/_code-wayland}
+
+ # Fix bin path
+ sed -i "s|return path.join(path.dirname(execPath), 'bin', \`\${product.applicationName}\`);|return '/usr/bin/code';|g
+ s|return path.join(appRoot, 'scripts', 'code-cli.sh');|return '/usr/bin/code';|g" \
+ src/vs/platform/environment/node/environmentService.ts
+}
+
+build() {
+ # https://github.com/mapbox/node-sqlite3/issues/1044
+ mkdir -p path
+ ln -sf /usr/bin/python2 path/python
+ export PATH="$PWD/path:$PATH"
+
+ cd $pkgname
+
+ yarn install --arch=$_vscode_arch
+
+ # The default memory limit may be too low for current versions of node
+ # to successfully build vscode. Change it if this number still doesn't
+ # work for your system.
+ mem_limit="--max_old_space_size=6144"
+
+ if ! /usr/bin/node $mem_limit /usr/bin/gulp vscode-linux-$_vscode_arch-min
+ then
+ echo
+ echo "*** NOTE: If the build failed due to running out of file handles (EMFILE),"
+ echo "*** you will need to raise your max open file limit."
+ echo "*** You can check this for more information on how to increase this limit:"
+ echo "*** https://ro-che.info/articles/2017-03-26-increase-open-files-limit"
+ exit 1
+ fi
+}
+
+package() {
+ # Install resource files
+ install -dm 755 "$pkgdir"/usr/lib/$pkgname
+ cp -r --no-preserve=ownership --preserve=mode VSCode-linux-$_vscode_arch/resources/app/* "$pkgdir"/usr/lib/$pkgname/
+
+ # Replace statically included binary with system copy
+ ln -sf /usr/bin/rg "$pkgdir"/usr/lib/$pkgname/node_modules.asar.unpacked/vscode-ripgrep/bin/rg
+
+ # Install binary
+ install -Dm 755 code.sh "$pkgdir"/usr/bin/code-wayland
+ install -Dm 755 code.js "$pkgdir"/usr/lib/$pkgname/code.js
+ ln -sf /usr/bin/code-wayland "$pkgdir"/usr/bin/code
+
+ # Install appdata and desktop file
+ install -Dm 644 $pkgname/resources/linux/code.appdata.xml "$pkgdir"/usr/share/metainfo/code-wayland.appdata.xml
+ install -Dm 644 $pkgname/resources/linux/code.desktop "$pkgdir"/usr/share/applications/code-wayland.desktop
+ install -Dm 644 $pkgname/resources/linux/code-url-handler.desktop "$pkgdir"/usr/share/applications/code-wayland-url-handler.desktop
+ install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/resources/linux/code.png "$pkgdir"/usr/share/pixmaps/com.visualstudio.code.wayland.png
+
+ # Install bash and zsh completions
+ install -Dm 644 $pkgname/resources/completions/bash/code "$pkgdir"/usr/share/bash-completion/completions/code
+ install -Dm 644 $pkgname/resources/completions/bash/code-wayland "$pkgdir"/usr/share/bash-completion/completions/code-wayland
+ install -Dm 644 $pkgname/resources/completions/zsh/_code "$pkgdir"/usr/share/zsh/site-functions/_code
+ install -Dm 644 $pkgname/resources/completions/zsh/_code-wayland "$pkgdir"/usr/share/zsh/site-functions/_code-wayland
+
+ # Install license files
+ install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/ThirdPartyNotices.txt "$pkgdir"/usr/share/licenses/$pkgname/ThirdPartyNotices.txt
+}
+
diff --git a/code-liveshare.diff b/code-liveshare.diff
new file mode 100644
index 000000000000..ba8912565a89
--- /dev/null
+++ b/code-liveshare.diff
@@ -0,0 +1,12 @@
+diff --git a/product.json b/product.json
+index b250c66fc4..8a9befcfbb 100644
+--- a/product.json
++++ b/product.json
+@@ -19,6 +19,7 @@
+ "reportIssueUrl": "https://github.com/Microsoft/vscode/issues/new",
+ "urlProtocol": "code-oss",
+ "extensionAllowedProposedApi": [
++ "ms-vsliveshare.vsliveshare",
+ "ms-vscode.references-view"
+ ],
+ "quality": "stable",
diff --git a/code.js b/code.js
new file mode 100644
index 000000000000..b4f03774c883
--- /dev/null
+++ b/code.js
@@ -0,0 +1,29 @@
+#!/usr/bin/electron
+
+const name = 'code-oss';
+
+const app = require('electron').app;
+const path = require('path');
+const fs = require("fs");
+
+// Change command name.
+const fd = fs.openSync("/proc/self/comm", fs.constants.O_WRONLY);
+fs.writeSync(fd, name);
+fs.closeSync(fd);
+
+// Remove first command line argument (/usr/lib/code/code.js). - We call the CLI file first
+process.argv.splice(0, 1);
+
+// Set application paths.
+const appPath = __dirname;
+const packageJson = require(path.join(appPath, 'package.json'));
+app.setAppPath(appPath);
+app.setDesktopName(name + '.desktop');
+app.setName(name);
+app.setPath('userCache', path.join(app.getPath('cache'), name));
+app.setPath('userData', path.join(app.getPath('appData'), name));
+app.setVersion(packageJson.version);
+
+// Run the application.
+require('module')._load(appPath, module, true);
+
diff --git a/code.sh b/code.sh
new file mode 100644
index 000000000000..4a4827a30bb5
--- /dev/null
+++ b/code.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+if [ "${XDG_SESSION_TYPE}" == "wayland" ]; then
+ ELECTRON_RUN_AS_NODE=1 exec electron /usr/lib/code-wayland/out/cli.js /usr/lib/code-wayland/code.js --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"
+else
+ ELECTRON_RUN_AS_NODE=1 exec electron /usr/lib/code-wayland/out/cli.js /usr/lib/code-wayland/code.js "$@"
+fi
diff --git a/product_json.diff b/product_json.diff
new file mode 100644
index 000000000000..22c3fa596574
--- /dev/null
+++ b/product_json.diff
@@ -0,0 +1,52 @@
+diff --git a/product.json b/product.json
+index 207bcf8f512..3eb22d78dcb 100644
+--- a/product.json
++++ b/product.json
+@@ -1,8 +1,21 @@
+ {
+- "nameShort": "Code - OSS",
+- "nameLong": "Code - OSS",
+- "applicationName": "code-oss",
+- "dataFolderName": ".vscode-oss",
++ "quality": "stable",
++ "extensionsGallery": {
++ "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
++ "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
++ "itemUrl": "https://marketplace.visualstudio.com/items"
++ },
++ "documentationUrl": "https://code.visualstudio.com/docs",
++ "requestFeatureUrl": "https://github.com/Microsoft/vscode/issues",
++ "introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146",
++ "tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118",
++ "keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144",
++ "commit": "ea3859d4ba2f3e577a159bc91e3074c5d85c0523",
++ "date": "2021-01-20T11:41:28Z",
++ "nameShort": "Code - Wayland",
++ "nameLong": "Code - Wayland",
++ "applicationName": "code-wayland",
++ "dataFolderName": ".vscode-wayland",
+ "win32MutexName": "vscodeoss",
+ "licenseName": "MIT",
+ "licenseUrl": "https://github.com/microsoft/vscode/blob/master/LICENSE.txt",
+@@ -18,15 +31,18 @@
+ "win32AppUserModelId": "Microsoft.CodeOSS",
+ "win32ShellNameShort": "C&ode - OSS",
+ "darwinBundleIdentifier": "com.visualstudio.code.oss",
+- "linuxIconName": "com.visualstudio.code.oss",
++ "linuxIconName": "com.visualstudio.code.wayland",
+ "licenseFileName": "LICENSE.txt",
+ "reportIssueUrl": "https://github.com/microsoft/vscode/issues/new",
+- "urlProtocol": "code-oss",
++ "urlProtocol": "code-wayland",
+ "extensionAllowedProposedApi": [
+ "ms-vscode.vscode-js-profile-flame",
+ "ms-vscode.vscode-js-profile-table",
+ "ms-vscode.github-browser",
+- "ms-vscode.github-richnav"
++ "ms-vscode.github-richnav",
++ "ms-vsliveshare.vsliveshare",
++ "ms-vscode.node-debug",
++ "ms-vscode.node-debug2"
+ ],
+ "builtInExtensions": [
+ {