Compare commits

...

61 Commits

Author SHA1 Message Date
Alex Garcia
1f18978fd4 fix(ppc64): update sysroot prefix (#2785) 2026-04-10 18:45:48 +02:00
Alex Garcia
5b99338d80 feat(ppc64): export SYSROOT variables for prepare_assets.sh (#2778) 2026-04-10 17:39:50 +02:00
Baptiste Augrain
7e281e2511 refactor: split some scripts by os (#2776) 2026-04-03 18:04:54 +02:00
Baptiste Augrain
31837ad2a9 fix(ppc64): update sysroot checksum (#2775) 2026-04-03 18:01:18 +02:00
Baptiste Augrain
40a5cd74e9 Merge branch 'master' into insider 2026-04-03 15:52:22 +02:00
dependabot[bot]
4338c0d091 build(deps-dev): bump lodash from 4.17.23 to 4.18.1 in /font-size (#2774) 2026-04-02 17:56:07 +02:00
dependabot[bot]
e9ef32366d build(deps-dev): bump lodash-es from 4.17.23 to 4.18.1 in /font-size (#2773) 2026-04-02 16:30:14 +02:00
Alex Garcia
8eabf502e0 feat(ppc64): use Electron 41.y.z (#2771) 2026-03-31 10:31:34 +02:00
Alex Garcia
693c0a5de9 feat(ppc64): add RPM, DEB and CLI (#2767) 2026-03-27 18:25:06 +01:00
Alex Garcia
9e80af72b7 fix(ppc64): add mismatch arch (#2766) 2026-03-27 03:23:38 +01:00
Baptiste Augrain
07ebfc0b13 feat: update electron to 39.8.4 (#2764) 2026-03-26 16:49:53 +01:00
dependabot[bot]
397bef3984 build(deps): bump picomatch in /font-size (#2763) 2026-03-26 01:54:31 +01:00
Philippe Cloutier
48c8ddf405 docs: clarify incompatibility (#2601) 2026-03-24 12:29:59 +01:00
Bhaskar Ram Alllam
0307465fec docs: add Windows troubleshooting section (GPO, context menu, Defender) (#2723) 2026-03-24 12:23:54 +01:00
Bhaskar Ram Alllam
ca017a7861 docs: add windows build commands (#2722) 2026-03-24 12:20:08 +01:00
Bhaskar Ram Alllam
d8b2d1464f docs: fix typo 'anouncements' → 'announcements' in telemetry.md (#2721) 2026-03-24 12:09:25 +01:00
Baptiste Augrain
4898eb90eb style: change typo [skip ci] 2026-03-24 12:02:56 +01:00
Baptiste Augrain
8077599387 build(snap): add auth check 2026-03-24 10:50:59 +01:00
Rong "Mantle" Bao
2c31dca7e2 build(reh): bump Node.js version for loong64 and riscv64 (#2760) 2026-03-23 11:24:30 +01:00
dependabot[bot]
cb68d26217 build(deps-dev): bump flatted from 3.3.3 to 3.4.2 in /font-size (#2757) 2026-03-20 11:25:40 +01:00
Baptiste Augrain
43be3f1816 feat: update apis 2026-03-20 11:21:46 +01:00
Baptiste Augrain
a1bf8e32bc ci: use newer image [skip ci] 2026-03-20 11:04:10 +01:00
Baptiste Augrain
5786ae0d99 ci: use newer image [skip ci] 2026-03-20 00:58:09 +01:00
Baptiste Augrain
5f4aa29275 fix: update css to fix order (#2755) 2026-03-19 19:42:42 +01:00
Baptiste Augrain
d3d93691db build(insider): update to commit 07ff9d6 2026-03-18 07:44:32 +00:00
Baptiste Augrain
803457343a feat(1.112): update patches (#2750) 2026-03-17 19:27:30 +01:00
DetachHead
2321c2c695 fix(appimage): update info in insiders appimage (#2747) 2026-03-09 15:34:49 +01:00
Baptiste Augrain
8384dd0980 fix(font): icon and spacing in tabs (#2744) 2026-03-08 20:00:39 +01:00
Baptiste Augrain
e8a8565bdb fix: icon size of bottom pane and searchs (#2742) 2026-03-08 17:09:50 +01:00
Baptiste Augrain
414aa4862b fix(copilot): disable inline actions (#2743) 2026-03-08 17:07:27 +01:00
Baptiste Augrain
81a5f96569 fix(font-size): detect and apply padding and margin at 0 (#2737) 2026-03-07 23:27:25 +01:00
Baptiste Augrain
a06532dfaf build(stable): update to commit 61b3d0a 2026-03-07 18:22:52 +00:00
Baptiste Augrain
b369b69597 build(font-size): update dependencies [skip ci] 2026-03-06 10:36:19 +01:00
Baptiste Augrain
db1eeed5b2 feat: update API 2026-03-06 10:31:17 +01:00
Baptiste Augrain
e49b649a19 Merge branch 'insider' 2026-03-06 10:02:30 +01:00
Baptiste Augrain
44cb5e2073 feat: update patch (#2731) 2026-03-05 02:46:31 +01:00
dependabot[bot]
3d7e85c307 build(deps): bump docker/setup-qemu-action from 3 to 4 (#2729) 2026-03-04 14:19:58 +01:00
dependabot[bot]
0ff5473194 build(deps): bump actions/upload-artifact from 6 to 7 (#2728) 2026-03-04 14:19:33 +01:00
dependabot[bot]
5b5008e570 build(deps): bump actions/download-artifact from 7 to 8 (#2727) 2026-03-04 14:19:14 +01:00
dependabot[bot]
c95b880148 build(deps): bump crazy-max/ghaction-import-gpg from 6 to 7 (#2726) 2026-03-04 14:18:21 +01:00
Baptiste Augrain
12ee0524bf fix(font): button on extensions panel (#2719) 2026-02-28 17:55:15 +01:00
Baptiste Augrain
88a290aa68 build(insider): update to commit f5927e7 2026-02-28 07:26:25 +00:00
Baptiste Augrain
e8c2ca40dd fix(font): scm panel (#2718) 2026-02-28 00:39:20 +01:00
Baptiste Augrain
419245db4b fix: use correct org for admx (#2716) 2026-02-27 19:54:32 +01:00
Baptiste Augrain
ccd71421da feat(1.110): update patches (#2715) 2026-02-27 16:34:05 +01:00
Baptiste Augrain
1dec128c07 fix: merge patches and build 2026-02-24 20:51:31 +01:00
xiaolai
ccf4d751c8 feat: add patches for per-area font customization
Three new patches extending workbench font customization to all areas:
- feat-workbench-zz-area-font-family: fontFamily for sidebar, statusbar,
  tabs, panel, activitybar + global fontSize setting
- feat-workbench-zz-area-font-size-core: fontSize for statusbar,
  activitybar, panel with proportional scaling via FONT object
- feat-workbench-zz-area-font-size-tabs: fontSize for tabs with CSS
  variable scaling for tab heights and widths

Includes fixes from audit review:
- Fix stale CSS var when fontSize reverts to default (cache isUserSet)
- Fix else-if config listener blocking simultaneous updates
- Trigger grid relayout after statusbar font-size change
- Apply activitybar font before show() for correct initial sizing
- Trigger tab relayout after font-size change
- Standardize CSS fallback chains to include global font-size
- Extract inspectFontSize() helper to reduce duplication
- Replace magic 1.833333 ratio with explicit CSS height variable
2026-02-21 11:18:43 +08:00
xiaolai
ff5eff419c fix: address review feedback for sidebar font size
- Fix CSS variable name mismatch in auxiliaryBarPart.css
  (was reading --vscode-workbench-secondary-sidebar-font-size
  while TS sets --vscode-workbench-sidebar-font-size)
- Add line-height and title h2 scaling for auxiliary bar
- Add composite bar tab font size scaling (paneCompositePart.css)
- Update setting description to reflect both sidebars
2026-02-20 10:18:29 +08:00
Baptiste Augrain
b4409deee2 Merge branch 'insider' into pr2626 2026-02-19 17:10:27 +01:00
Baptiste Augrain
5ea412eee4 feat: use global variable and helper script 2026-02-19 17:10:12 +01:00
Baptiste Augrain
be4746a775 feat: add patch for workbench's font family (#2706) 2026-02-17 19:25:48 +01:00
Baptiste Augrain
15cc1eadd2 wip: fixing explorer panel 2026-02-17 17:21:19 +01:00
Baptiste Augrain
7d6f546461 Merge branch 'insider' into pr2626 2026-02-17 13:59:36 +01:00
Baptiste Augrain
cf38c857b2 feat(1.110): update patches (#2704) 2026-02-17 12:22:40 +01:00
Baptiste Augrain
eaeb6e6bb3 Merge branch 'master' into insider 2026-02-16 22:17:48 +01:00
Baptiste Augrain
be3bb0ad5b fix(snap): re-add snap update service (#2697) 2026-02-12 10:47:50 +01:00
Baptiste Augrain
6b229ed069 Merge branch 'master' into insider 2026-02-12 09:47:14 +01:00
Baptiste Augrain
8a26e54d3e feat(windows): disable versioned update (#2691) 2026-02-09 20:19:21 +01:00
Baptiste Augrain
091907f2c0 feat(windows): use versioned update (#2690) 2026-02-09 15:20:52 +01:00
Baptiste Augrain
47e2863d9e feat(1.109): update patches (#2688) 2026-02-08 19:20:15 +01:00
xiaolai
859e1f1a1c feat: add configurable sidebar font sizes
Add two new workbench settings for controlling font sizes in sidebars:
- workbench.sideBar.fontSize: Controls primary sidebar font size (6-32px)
- workbench.secondarySideBar.fontSize: Controls secondary sidebar font size

This improves accessibility by allowing users to independently scale sidebar
content without requiring full UI zoom or source code edits.

Implementation uses CSS custom properties for live updates without reload.
Default of 13px preserves existing behavior.

Based on rejected VS Code PR #270851 - rejected with "In this area we do not
accept PRs" despite 18 positive reactions and community support.
2025-12-12 06:49:43 +08:00
72 changed files with 14253 additions and 1702 deletions

View File

@@ -137,7 +137,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
@@ -225,12 +225,13 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
id: build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
@@ -241,6 +242,9 @@ jobs:
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
VSCODE_SYSROOT_REPOSITORY: ${{ steps.build.outputs.VSCODE_SYSROOT_REPOSITORY }}
VSCODE_SYSROOT_VERSION: ${{ steps.build.outputs.VSCODE_SYSROOT_VERSION }}
VSCODE_SYSROOT_PREFIX: ${{ steps.build.outputs.VSCODE_SYSROOT_PREFIX }}
run: ./prepare_assets.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
@@ -260,7 +264,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
@@ -355,7 +359,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -375,7 +379,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
@@ -445,7 +449,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -465,7 +469,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: reh-alpine-${{ matrix.vscode_arch }}
path: assets/
@@ -526,7 +530,7 @@ jobs:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-qemu-action@v4
- uses: diddlesnaps/snapcraft-multiarch-action@v1
with:

View File

@@ -116,7 +116,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/

View File

@@ -20,7 +20,7 @@ on:
jobs:
build:
runs-on: macos-14
runs-on: macos-15
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
@@ -61,7 +61,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
uses: crazy-max/ghaction-import-gpg@v7
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}

View File

@@ -138,7 +138,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
@@ -203,7 +203,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
@@ -222,7 +222,7 @@ jobs:
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
@@ -266,7 +266,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/

View File

@@ -9,6 +9,9 @@ on:
generate_assets:
type: boolean
description: Generate assets
force_snap:
type: boolean
description: Force Snap
checkout_pr:
type: string
description: Checkout PR
@@ -68,6 +71,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
FORCE_LINUX_SNAP: ${{ github.event.inputs.force_snap }}
run: ./check_tags.sh
compile:
@@ -138,7 +142,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
@@ -226,12 +230,13 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
id: build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
@@ -242,6 +247,9 @@ jobs:
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
VSCODE_SYSROOT_REPOSITORY: ${{ steps.build.outputs.VSCODE_SYSROOT_REPOSITORY }}
VSCODE_SYSROOT_VERSION: ${{ steps.build.outputs.VSCODE_SYSROOT_VERSION }}
VSCODE_SYSROOT_PREFIX: ${{ steps.build.outputs.VSCODE_SYSROOT_PREFIX }}
run: ./prepare_assets.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
@@ -261,7 +269,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
@@ -356,7 +364,7 @@ jobs:
if: env.DISABLED != 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -376,7 +384,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
@@ -446,7 +454,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
@@ -466,7 +474,7 @@ jobs:
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: reh-alpine-${{ matrix.vscode_arch }}
path: assets/
@@ -506,6 +514,7 @@ jobs:
env:
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SNAP_NAME: codium
SNAP_PUBLISHER: vscodium
strategy:
fail-fast: false
matrix:
@@ -532,7 +541,7 @@ jobs:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-qemu-action@v4
if: env.SHOULD_BUILD == 'yes'
- uses: diddlesnaps/snapcraft-multiarch-action@v1

View File

@@ -114,7 +114,7 @@ jobs:
if: env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/

View File

@@ -17,7 +17,7 @@ on:
jobs:
build:
runs-on: macos-14
runs-on: macos-15
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
@@ -56,7 +56,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
uses: crazy-max/ghaction-import-gpg@v7
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}

View File

@@ -137,7 +137,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
@@ -202,7 +202,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
@@ -221,7 +221,7 @@ jobs:
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
@@ -264,7 +264,7 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/

2
.gitignore vendored
View File

@@ -17,3 +17,5 @@ build/windows/msi/Files*.wixobj
sourcemaps/
stores/snapcraft/insider/*.snap
stores/snapcraft/stable/*.snap
font-size/node_modules/
font-size/generate-css.js

2
.nvmrc
View File

@@ -1 +1 @@
22.21.1
22.22.0

View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH_WEB="no"
fi
else
# alpine-arm64
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine arm64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine arm64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
fi
# alpine-x64
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
fi
fi

View File

@@ -22,8 +22,11 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
# add update's url
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium-insiders|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
else
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
fi
# remove check so build in docker can succeed
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh

345
build/linux/check_tags.sh Normal file
View File

@@ -0,0 +1,345 @@
#!/usr/bin/env bash
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH_WEB="no"
fi
else
# linux-arm64
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "arm64.deb" ) ]]; then
echo "Building on Linux arm64 because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "aarch64.rpm" ) ]]; then
echo "Building on Linux arm64 because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ -z $( contains "arm64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
echo "Building on Linux arm64 because we have no SNAP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_SNAP="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux arm64 builds"
fi
fi
# linux-armhf
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "armhf.deb" ) ]]; then
echo "Building on Linux arm because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
echo "Building on Linux arm because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux arm builds"
fi
fi
# linux-ppc64le
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "ppc64el.deb" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "ppc64le.rpm" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux PowerPC64LE builds"
fi
fi
# linux-riscv64
if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux riscv64 builds"
fi
fi
# linux-loong64
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux Loong64 builds"
fi
fi
# linux-s390x
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux s390x builds"
fi
fi
# linux-x64
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "amd64.deb" ) ]]; then
echo "Building on Linux x64 because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "x86_64.rpm" ) ]]; then
echo "Building on Linux x64 because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
echo "Building on Linux x64 because we have no AppImage"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_APPIMAGE="no"
fi
if [[ -z $( contains "amd64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
echo "Building on Linux x64 because we have no SNAP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_SNAP="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux x64 builds"
fi
fi
fi

View File

@@ -26,10 +26,12 @@ if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
export VSCODE_SYSROOT_PREFIX="-glibc-2.28"
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
export VSCODE_ELECTRON_REPOSITORY='lex-ibm/electron-ppc64le-build-scripts'
export IGNORE_ELECTRON_VERSION="yes"
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases'
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
@@ -56,7 +58,7 @@ if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sh" ]]; then
TARGET=$( npm config get target )
# Only fails at different major versions
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]]; then
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]] && [[ "${IGNORE_ELECTRON_VERSION}" != "yes" ]]; then
# Fail the pipeline if electron target doesn't match what is used.
echo "Electron ${VSCODE_ARCH} binary version doesn't match target electron version!"
echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPOSITORY}/releases"
@@ -144,4 +146,10 @@ find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
. ../build_cli.sh
if [[ -n "${GITHUB_OUTPUT}" ]]; then
echo "VSCODE_SYSROOT_REPOSITORY=${VSCODE_SYSROOT_REPOSITORY:-}" >> "${GITHUB_OUTPUT}"
echo "VSCODE_SYSROOT_VERSION=${VSCODE_SYSROOT_VERSION:-}" >> "${GITHUB_OUTPUT}"
echo "VSCODE_SYSROOT_PREFIX=${VSCODE_SYSROOT_PREFIX:-}" >> "${GITHUB_OUTPUT}"
fi
cd ..

View File

@@ -50,13 +50,13 @@ elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
NODE_VERSION="20.16.0"
NODE_VERSION="22.21.1"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
export VSCODE_SKIP_SETUPENV=1
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
NODE_VERSION="20.16.0"
NODE_VERSION="22.21.1"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:beige-devtoolset-loong64"
export VSCODE_SKIP_SETUPENV=1
@@ -141,6 +141,8 @@ if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
else
cat ./build/checksums/vscode-sysroot.txt
source ./build/azure-pipelines/linux/setup-env.sh
fi

View File

@@ -2,5 +2,5 @@
set -ex
export ELECTRON_VERSION="39.2.7"
export ELECTRON_VERSION="41.0.3"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"

View File

@@ -1,10 +1,11 @@
bacff46523cea806df9788d9e24f7f53fad2317f18afdcbc596b86863dd40805 *chromedriver-v39.2.7-linux-ppc64le.zip
b83820b37325c0a6ce0bbb98344b54f70ef7c2a949eea61bcb423b18c623a742 *electron-v39.2.7-linux-ppc64le-debug.zip
7d3b4ff4320a54572f9e1e0286702a0bed3e1596a2cb34f8fdc455acf3b9234f *electron-v39.2.7-linux-ppc64le-symbols.zip
6974cf1c8a550019b04762222742b8f1d9d76387594a191d3522cd65da075db1 *electron-v39.2.7-linux-ppc64le.zip
40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts
0c923001d08e474d0dcd3b747b4f9a4bfca685d755ec08de8e44556a63f9ad3a *hunspell_dictionaries.zip
ee57f79e88f50f199a6aeb87fa45c83d1bd0f92eb72e00787cfdf4cf11863562 *libcxx-objects-v39.2.7-linux-ppc64le.zip
a8709029737d3073758ccb384161a37d91f16e5a3f8110ca8e2c30f83ef8d7e6 *libcxx_headers.zip
238dcec817528659a86b0cd3d7dabe301e65b4cab25e45c5bbab7642a8849c02 *libcxxabi_headers.zip
be033ed825bd8be92bb6ca86ff81f0907e60aa999aa011f5ddf1360abb19429b *mksnapshot-v39.2.7-linux-ppc64le.zip
120e0e5915c8f1a49904737e82bf50bc72563f8556fc3c5997c118908b377874 *chromedriver-v41.0.3-linux-ppc64le.zip
4601e7692cac011610c245d8c58f14a73b415fccf520194f14674f81e4ce2c41 *electron-v41.0.3-linux-ppc64le-debug.zip
498a74b78699ff9d4819310262d96e861dd7d899f38f8f625a311968b076b29b *electron-v41.0.3-linux-ppc64le-symbols.zip
77e86aa200d9e19b5eb3a51f273ee410788c21977f2ea76b1239d79aa2e1adbf *electron-v41.0.3-linux-ppc64le.zip
e246066ccc328729e6a9f2a0d829bc893391cf54ed199b809bb7e47993fed88f *electron.d.ts
687a36388a7cf06427d7fa7e3db7fca4ab0118c5eab2baeac128c1989a600cff *ffmpeg-v41.0.3-linux-ppc64le.zip
70ba677d4bea3e7164c82f6b5a36ac6b740317fb1dd149a0eaf1ff151da44cb2 *hunspell_dictionaries.zip
3e85df4843497ce567ad36ddf826cd1af7dfe9f883daad4623736ddd012dbfd1 *libcxx-objects-v41.0.3-linux-ppc64le.zip
5587472eeaf9bfb76d0f187ecc19d11d60bc05f5e7c8fa822f2370210c30b95d *libcxx_headers.zip
f531ddd2782b4b19caf622c0355c93892965e22861279cc891675230c1310905 *libcxxabi_headers.zip
6cb0e67dc5a23de0ebbe89253e1f24bf9d4ca41213a1b9f784f2afaa2cf61324 *mksnapshot-v41.0.3-linux-ppc64le.zip

View File

@@ -0,0 +1,67 @@
#!/usr/bin/env bash
cd vscode || { echo "'vscode' dir not found"; exit 1; }
if [[ -z "${VSCODE_SYSROOT_REPOSITORY}" ]]; then
unset VSCODE_SYSROOT_REPOSITORY
fi
if [[ -z "${VSCODE_SYSROOT_VERSION}" ]]; then
unset VSCODE_SYSROOT_VERSION
fi
if [[ -z "${VSCODE_SYSROOT_PREFIX}" ]]; then
unset VSCODE_SYSROOT_PREFIX
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" && "${VSCODE_ARCH}" != "x64" ]]; then
SHOULD_BUILD_APPIMAGE="no"
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-deb"
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-rpm"
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
. ../build/linux/appimage/build.sh
fi
cd ..
if [[ "${CI_BUILD}" == "no" ]]; then
. ./stores/snapcraft/build.sh
if [[ "${SKIP_ASSETS}" == "no" ]]; then
mv stores/snapcraft/build/*.snap assets/
fi
fi
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
echo "Building and moving TAR"
cd "VSCode-linux-${VSCODE_ARCH}"
tar czf "../assets/${APP_NAME}-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
cd ..
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
echo "Moving DEB"
mv vscode/.build/linux/deb/*/deb/*.deb assets/
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
echo "Moving RPM"
mv vscode/.build/linux/rpm/*/*.rpm assets/
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
echo "Moving AppImage"
mv build/linux/appimage/out/*.AppImage* assets/
find assets -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
fi

40
build/osx/check_tags.sh Normal file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env bash
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on MacOS because we have no ZIP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
if [[ -z $( contains ".${VSCODE_ARCH}.${RELEASE_VERSION}.dmg" ) ]]; then
echo "Building on MacOS because we have no DMG"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DMG="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the MacOS builds"
fi

View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
if [[ "${CI_BUILD}" == "no" ]]; then
RUNNER_TEMP="${TMPDIR}"
fi
CERTIFICATE_P12="${APP_NAME}.p12"
KEYCHAIN="${RUNNER_TEMP}/buildagent.keychain"
AGENT_TEMPDIRECTORY="${RUNNER_TEMP}"
# shellcheck disable=SC2006
KEYCHAINS=`security list-keychains | xargs`
rm -f "${KEYCHAIN}"
echo "${CERTIFICATE_OSX_P12_DATA}" | base64 --decode > "${CERTIFICATE_P12}"
echo "+ create temporary keychain"
security create-keychain -p pwd "${KEYCHAIN}"
security set-keychain-settings -lut 21600 "${KEYCHAIN}"
security unlock-keychain -p pwd "${KEYCHAIN}"
# shellcheck disable=SC2086
security list-keychains -s $KEYCHAINS "${KEYCHAIN}"
# security show-keychain-info "${KEYCHAIN}"
echo "+ import certificate to keychain"
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_P12_PASSWORD}" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd "${KEYCHAIN}" > /dev/null
# security find-identity "${KEYCHAIN}"
CODESIGN_IDENTITY="$( security find-identity -v -p codesigning "${KEYCHAIN}" | grep -oEi "([0-9A-F]{40})" | head -n 1 )"
echo "+ signing"
export CODESIGN_IDENTITY AGENT_TEMPDIRECTORY
DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.ts "$( pwd )"
# codesign --display --entitlements :- ""
echo "+ notarize"
cd "VSCode-darwin-${VSCODE_ARCH}"
ZIP_FILE="./${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
zip -r -X -y "${ZIP_FILE}" ./*.app
xcrun notarytool store-credentials "${APP_NAME}" --apple-id "${CERTIFICATE_OSX_ID}" --team-id "${CERTIFICATE_OSX_TEAM_ID}" --password "${CERTIFICATE_OSX_APP_PASSWORD}" --keychain "${KEYCHAIN}"
# xcrun notarytool history --keychain-profile "${APP_NAME}" --keychain "${KEYCHAIN}"
xcrun notarytool submit "${ZIP_FILE}" --keychain-profile "${APP_NAME}" --wait --keychain "${KEYCHAIN}"
echo "+ attach staple"
xcrun stapler staple ./*.app
# spctl --assess -vv --type install ./*.app
rm "${ZIP_FILE}"
cd ..
fi
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Building and moving ZIP"
cd "VSCode-darwin-${VSCODE_ARCH}"
zip -r -X -y "../assets/${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ./*.app
cd ..
fi
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" && "${SHOULD_BUILD_DMG}" != "no" ]]; then
echo "Building and moving DMG"
pushd "VSCode-darwin-${VSCODE_ARCH}"
npx create-dmg ./*.app .
mv ./*.dmg "../assets/${APP_NAME}.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
popd
fi
if [[ "${SHOULD_BUILD_SRC}" == "yes" ]]; then
git archive --format tar.gz --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" HEAD
git archive --format zip --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.zip" HEAD
fi
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
echo "+ clean"
security delete-keychain "${KEYCHAIN}"
# shellcheck disable=SC2086
security list-keychains -s $KEYCHAINS
fi

105
build/windows/check_tags.sh Normal file
View File

@@ -0,0 +1,105 @@
#!/usr/bin/env bash
# windows-arm64
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows arm64 because we have no system setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_SYS="no"
fi
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows arm64 because we have no user setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_USR="no"
fi
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on Windows arm64 because we have no zip"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
export SHOULD_BUILD_REH="no"
export SHOULD_BUILD_REH_WEB="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows arm64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Windows arm64 builds"
fi
# windows-x64
else
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows x64 because we have no system setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_SYS="no"
fi
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows x64 because we have no user setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_USR="no"
fi
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on Windows x64 because we have no zip"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI="no"
fi
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI_NOUP="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no updates-disabled msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI_NOUP="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Windows x64 builds"
fi
fi

View File

@@ -0,0 +1,53 @@
#!/usr/bin/env bash
cd vscode || { echo "'vscode' dir not found"; exit 1; }
npm run gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
fi
# . ../build/windows/appx/build.sh
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
npm run gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
npm run gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
. ../build/windows/msi/build.sh
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
. ../build/windows/msi/build-updates-disabled.sh
fi
fi
cd ..
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
echo "Moving System EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
echo "Moving User EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
echo "Moving MSI"
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" assets/
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
echo "Moving MSI with disabled updates"
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" assets/
fi
fi

View File

@@ -62,7 +62,7 @@ else
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
VSCODE_CLI_TARGET="aarch64-unknown-linux-gnu"
if [[ "${CI_BUILD}" != "no" ]]; then
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
@@ -81,6 +81,21 @@ else
export CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
export PKG_CONFIG_ALLOW_CROSS=1
fi
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
VSCODE_CLI_TARGET="powerpc64le-unknown-linux-gnu"
# Use system libs instead of @vscode/openssl-prebuilt
mkdir -p openssl/out/ppc64le-linux/
ln -sf /usr/lib/powerpc64le-linux-gnu openssl/out/ppc64le-linux/lib
ln -sf /usr/include openssl/out/ppc64le-linux/include
if [[ "${CI_BUILD}" != "no" ]] && [[ "$(uname -m)" != "ppc64le" ]]; then
export CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc-10
export CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc-10
export CXX_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-g++-10
export PKG_CONFIG_ALLOW_CROSS=1
fi
elif [[ "${VSCODE_ARCH}" == "x64" ]]; then
VSCODE_CLI_TARGET="x86_64-unknown-linux-gnu"
fi

View File

@@ -1,6 +1,12 @@
#!/usr/bin/env bash
# shellcheck disable=SC2129
# Env Paramaters
# CHECK_ALL: yes | no
# CHECK_REH: yes | no
# CHECK_ONLY_REH: yes | no
# FORCE_LINUX_SNAP: true
set -e
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
@@ -77,546 +83,23 @@ elif [[ "${ASSETS}" != "null" ]]; then
fi
# macos
elif [[ "${OS_NAME}" == "osx" ]]; then
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on MacOS because we have no ZIP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
if [[ -z $( contains ".${VSCODE_ARCH}.${RELEASE_VERSION}.dmg" ) ]]; then
echo "Building on MacOS because we have no DMG"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DMG="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on MacOS because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the MacOS builds"
fi
. ./build/osx/check_tags.sh
elif [[ "${OS_NAME}" == "windows" ]]; then
# windows-arm64
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows arm64 because we have no system setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_SYS="no"
fi
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows arm64 because we have no user setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_USR="no"
fi
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on Windows arm64 because we have no zip"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
export SHOULD_BUILD_REH="no"
export SHOULD_BUILD_REH_WEB="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows arm64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Windows arm64 builds"
fi
# windows-x64
else
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows x64 because we have no system setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_SYS="no"
fi
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows x64 because we have no user setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_USR="no"
fi
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on Windows x64 because we have no zip"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI="no"
fi
if [[ "${DISABLE_MSI}" == "yes" ]]; then
export SHOULD_BUILD_MSI_NOUP="no"
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows x64 because we have no updates-disabled msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI_NOUP="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows x64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Windows x64 builds"
fi
fi
. ./build/windows/check_tags.sh
else
if [[ "${OS_NAME}" == "linux" ]]; then
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH_WEB="no"
fi
else
# linux-arm64
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "arm64.deb" ) ]]; then
echo "Building on Linux arm64 because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "aarch64.rpm" ) ]]; then
echo "Building on Linux arm64 because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ -z $( contains "arm64.snap" ) ]]; then
echo "Building on Linux arm64 because we have no SNAP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_SNAP="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux arm64 builds"
fi
fi
# linux-armhf
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "armhf.deb" ) ]]; then
echo "Building on Linux arm because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
echo "Building on Linux arm because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux arm because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux arm builds"
fi
fi
# linux-ppc64le
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux PowerPC64LE builds"
fi
fi
# linux-riscv64
if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux RISC-V 64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux riscv64 builds"
fi
fi
# linux-loong64
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
export SHOULD_BUILD_DEB="no"
export SHOULD_BUILD_RPM="no"
export SHOULD_BUILD_APPIMAGE="no"
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux Loong64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux Loong64 builds"
fi
fi
# linux-s390x
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux s390x because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
export SHOULD_BUILD_CLI="no"
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux s390x builds"
fi
fi
# linux-x64
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ -z $( contains "amd64.deb" ) ]]; then
echo "Building on Linux x64 because we have no DEB"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_DEB="no"
fi
if [[ -z $( contains "x86_64.rpm" ) ]]; then
echo "Building on Linux x64 because we have no RPM"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no TAR"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_TAR="no"
fi
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
echo "Building on Linux x64 because we have no AppImage"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_APPIMAGE="no"
fi
if [[ -z $( contains "amd64.snap" ) ]]; then
echo "Building on Linux x64 because we have no SNAP"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_SNAP="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux x64 because we have no CLI archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_CLI="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux x64 builds"
fi
fi
fi
. ./build/linux/check_tags.sh
fi
if [[ "${OS_NAME}" == "alpine" ]] || [[ "${OS_NAME}" == "linux" && "${CHECK_ALL}" == "yes" ]]; then
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH="no"
fi
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
export SHOULD_BUILD_REH_WEB="no"
fi
else
# alpine-arm64
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine arm64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine arm64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
fi
# alpine-x64
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine x64 because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Alpine x64 because we have no REH-web archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH_WEB="no"
fi
fi
fi
. ./build/alpine/check_tags.sh
fi
fi
else
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
export SHOULD_BUILD_SRC="yes"
elif [[ "${OS_NAME}" == "linux" ]]; then
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
SHOULD_BUILD_CLI="no"
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
if [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_CLI="no"

64
dev/merge-patches.sh Executable file
View File

@@ -0,0 +1,64 @@
#!/usr/bin/env bash
set -e
normalize_file() {
if [[ "${1}" == *patch ]]; then
FILE="${1}"
else
FILE="${1}.patch"
fi
if [[ "${FILE}" == patches/* ]]; then
FILE="../${FILE}"
else
FILE="../patches/${FILE}"
fi
}
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
git reset -q --hard HEAD~
done
git apply --reject "../patches/helper/settings.patch"
git add .
git commit --no-verify -q -m "VSCODIUM HELPER"
while [ $# -gt 1 ]; do
normalize_file "${1}"
echo "FILE: ${FILE}"
if [[ -f "${FILE}" ]]; then
if [[ -f "${FILE}.bak" ]]; then
mv -f $FILE{.bak,}
fi
git apply --reject "${FILE}" || true
fi
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
echo
read -rp "Press any key when the conflict have been resolved..." -n1 -s
done
shift
done
normalize_file "${1}"
git add .
git diff --staged -U1 > "${FILE}"
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
git reset -q --hard HEAD
else
git reset -q --hard HEAD~
fi
echo "The patch has been generated."

View File

@@ -119,6 +119,7 @@ check_file() {
fi
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
find . -name '*.rej' -print
read -rp "Press any key when the conflict have been resolved..." -n1 -s
echo
done

View File

@@ -12,11 +12,11 @@
## <a id="incompatibility"></a>Incompatibility
Most MS extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
Most Microsoft extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
Extensions incompatible with VSCodium **include**:
- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
> It's officially unsupported: https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) (explicitly unsupported, as [indicated in the FAQ](https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported))
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
@@ -40,6 +40,5 @@ The following extensions are functional replacements for incompatible extensions
### <a id="remote"></a>Remote Development
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
> SSH server must be configured with the setting `AllowTcpForwarding yes`.
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh) (SSH server must be configured with the setting `AllowTcpForwarding yes`.)
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)

View File

@@ -46,11 +46,74 @@ see [the common dependencies](#dependencies)
### <a id="dependencies-windows"></a>Windows
- powershell
- sed
- 7z
- [WiX Toolset](http://wixtoolset.org/releases/)
- 'Tools for Native Modules' from the official Node.js installer
The build scripts are written in Bash, so on Windows you must run them inside **Git Bash** (bundled with [Git for Windows](https://gitforwindows.org/)) or **WSL2**.
#### Required tools
- **Git for Windows** — provides Git Bash, `sed`, and POSIX utilities used by the build scripts:
```cmd
winget install --id Git.Git -e
```
- **Node.js** — exact version is specified in [`.nvmrc`](../.nvmrc). Use [nvm-windows](https://github.com/coreybutler/nvm-windows) to manage versions:
```cmd
nvm install <version-from-.nvmrc>
nvm use <version-from-.nvmrc>
```
Alternatively, download directly from [nodejs.org](https://nodejs.org/). During installation, enable **"Automatically install the necessary tools"** to get the C++ build tools (required for native Node addons).
- **jq** — JSON processor used throughout the build scripts:
```cmd
winget install --id jqlang.jq -e
```
- **7-Zip** — used to package `.zip` archives:
```cmd
winget install --id 7zip.7zip -e
```
- **Python 3.11** — required by the VS Code build system:
```cmd
winget install --id Python.Python.3.11 -e
```
Ensure `python` / `python3` is on your `PATH` after installation.
- **Rustup** — required to compile some native VS Code modules:
```cmd
winget install --id Rustlang.Rustup -e
```
Restart your shell afterwards so `cargo` and `rustc` are on your `PATH`.
#### Optional tools
- **WiX Toolset v3** _(only needed for `.msi` installer packaging, i.e., the `-p` flag)_:
Download from [wixtoolset.org](https://wixtoolset.org/releases/) and ensure `candle.exe` / `light.exe` are on your `PATH`.
#### PATH verification
After installing all tools, verify each is discoverable from Git Bash:
```bash
node --version # should match .nvmrc
npm --version
jq --version
python3 --version # should be 3.11.x
cargo --version
7z i 2>&1 | head -1
git --version
```
If any command is not found, add its install directory to your `PATH` via **System Properties → Environment Variables → Path**.
## <a id="build-dev"></a>Build for Development
@@ -58,7 +121,10 @@ A build helper script can be found at `dev/build.sh`.
- Linux: `./dev/build.sh`
- MacOS: `./dev/build.sh`
- Windows: `powershell -ExecutionPolicy ByPass -File .\dev\build.ps1` or `"C:\Program Files\Git\bin\bash.exe" ./dev/build.sh`
- Windows (Git Bash — **recommended**): `"C:\Program Files\Git\bin\bash.exe" ./dev/build.sh`
- Windows (PowerShell): `powershell -ExecutionPolicy ByPass -File .\dev\build.ps1`
> **Note for Windows users**: Git Bash is the recommended shell because the build scripts rely on POSIX utilities (`sed`, `grep`, `find`, etc.) bundled with Git for Windows. If you use WSL2, follow the Linux dependencies section instead.
### Insider
@@ -95,6 +161,7 @@ export RELEASE_VERSION="${version}"
```
To go further, you should look at how we build it:
- Linux: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-linux.yml
- macOS: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-macos.yml
- Windows: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-windows.yml

43
docs/patches.md Normal file
View File

@@ -0,0 +1,43 @@
# Patches
Documentation for VSCodium patches applied on top of VS Code.
---
## fix-policies
**Replace `@vscode/policy-watcher` with `@vscodium/policy-watcher`**
VS Code uses `@vscode/policy-watcher` to enforce Group Policy Objects (GPOs) on
Windows. That package reads from:
```
HKLM\SOFTWARE\Policies\Microsoft\<productName>
```
VSCodium forks this into `@vscodium/policy-watcher`, which takes a separate
`vendorName` argument. The `createWatcher()` call becomes:
```ts
createWatcher('VSCodium', this.productName, ...)
```
Because VSCodium sets `product.nameLong = 'VSCodium'` (via `prepare_vscode.sh`),
`this.productName` resolves to `'VSCodium'` at runtime. Therefore, the final
Windows registry key that VSCodium reads policies from is:
```
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>
```
(or `HKCU\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>` for per-user policies)
This differs from VS Code's path (`Microsoft\VSCode`) and is the root cause of
[issue #2714](https://github.com/VSCodium/vscodium/issues/2714) where users mirror
VS Code's registry structure and find their GPOs ignored. Enterprise admins must
use the VSCodium-specific registry path.
### References
- [VSCodium issue #2714](https://github.com/VSCodium/vscodium/issues/2714)
- [VSCodium/policy-watcher — RegistryPolicy.hh](https://github.com/VSCodium/policy-watcher/blob/main/src/windows/RegistryPolicy.hh)

View File

@@ -17,6 +17,7 @@ This page explains how VSCodium handles telemetry and how it enhances your priva
Even though we do not pass the telemetry build flags and go out of our way to cripple the baked-in telemetry, Microsoft still can track usage by default depending on your settings.
We disable all the following telemetry-related settings by default to enhance your privacy:
```
telemetry.telemetryLevel
telemetry.enableCrashReporter
@@ -26,28 +27,33 @@ workbench.enableExperiments
workbench.settings.enableNaturalLanguageSearch
workbench.commandPalette.experimental.enableNaturalLanguageSearch
```
It is also recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). You can use the search filter `@tag:usesOnlineServices` to show such settings and review what to change.
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
**Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.**
For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft. Be sure to check each extension's settings page to disable their telemetry if applicable.
### Update services
By default, the app periodically fetches connections to check for the latest version available to download and install.
Extensions are also checked for updates automatically from time to time.
If you want to prevent such behaviors, modify the following preferences:
For the app itself:
- `update.mode` -> `manual` (or `none`)
- `update.enableWindowsBackgroundUpdates` -> `false` (only applicable for Microsoft Windows)
For extensions:
- `extensions.autoUpdate` -> `false`
- `extensions.autoCheckUpdates` -> `false`
*Note: on Linux, the app update service is disabled completely at build-time even if the `update.mode` preference is configured. This is because users will more likely use their package managers to update the app rather than updating via the app itself.*
_Note: on Linux, the app update service is disabled completely at build-time even if the `update.mode` preference is configured. This is because users will more likely use their package managers to update the app rather than updating via the app itself._
### Feedback telemetry
By default, we keep the preference `telemetry.feedback.enabled` enabled. It's used to allow the button `Report Issue...` to be used on the app depending on the context. It does not send any data by having it enabled (other options already cover it). If you want, you can disable this behavior by toggling the preference value.
## <a id="replacements"></a>Replacements to Microsoft Online Services
@@ -66,7 +72,7 @@ If you want to verify that no telemetry is being sent, you can use network monit
Look for connections to Microsoft domains and telemetry endpoints.
## <a id="announcements"></a>VSCodium anouncements
## <a id="announcements"></a>VSCodium announcements
The welcome page in VSCodium displays announcements that are fetched via the internet from the project's GitHub repository.

View File

@@ -11,10 +11,14 @@
- [Flatpak most common issues](#linux-flatpak-most-common-issues)
- [Remote SSH doesn't work](#linux-remote-ssh)
- [The window doesn't show up](#linux-no-window)
- [Windows](#windows)
- [Group Policy Objects (GPOs) are ignored](#windows-gpo)
- ["Open with VSCodium" missing from context menu](#windows-context-menu)
- [Windows Defender flags the installer as malware](#windows-defender)
## <a id="linux"></a>Linux
### <a id="linux-fonts-rectangle"></a>*Fonts showing up as rectangles*
### <a id="linux-fonts-rectangle"></a>_Fonts showing up as rectangles_
The following command should help:
@@ -24,27 +28,27 @@ rm -rf ~/snap/codium/common/.cache
fc-cache -r
```
### <a id="linux-rendering-glitches"></a>*Text and/or the entire interface not appearing*
### <a id="linux-rendering-glitches"></a>_Text and/or the entire interface not appearing_
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
```bash
rm -rf ~/.config/VSCodium/GPUCache
```
### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
### <a id="linux-kde-global-menu"></a>_Global menu workaround for KDE_
Install these packages on Fedora:
* libdbusmenu-devel
* dbus-glib-devel
* libdbusmenu
- libdbusmenu-devel
- dbus-glib-devel
- libdbusmenu
On Ubuntu this package is called `libdbusmenu-glib4`.
Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/91)
### <a id="linux-flatpak-most-common-issues"></a>*Flatpak most common issues*
### <a id="linux-flatpak-most-common-issues"></a>_Flatpak most common issues_
- blurry screen with HiDPI on wayland run:
```bash
@@ -64,7 +68,7 @@ Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/
- If you have any other problems with the flatpak package try to look on the [FAQ](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#faq) maybe the solution is already there or open an [issue](https://github.com/flathub/com.vscodium.codium/issues).
### <a id="linux-remote-ssh"></a>*Remote SSH doesn't work*
### <a id="linux-remote-ssh"></a>_Remote SSH doesn't work_
Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
@@ -72,9 +76,79 @@ On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes
It might requires additional dependencies due to the OS/distro (alpine).
### <a id="linux-no-window"></a>*The window doesn't show up*
### <a id="linux-no-window"></a>_The window doesn't show up_
If you are under Wayland:
- try the command `codium --verbose`
- if you see an error like `:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported`
- try `codium --ozone-platform=x11`
## <a id="windows"></a>Windows
### <a id="windows-gpo"></a>_Group Policy Objects (GPOs) are ignored_
VSCodium uses its own policy-watcher library (`@vscodium/policy-watcher`) which reads GPO values from a **different registry path** than VS Code.
**VSCodium reads policies from:**
```
HKLM\SOFTWARE\Policies\VSCodium\VSCodium
```
**VS Code reads policies from:**
```
HKLM\SOFTWARE\Policies\Microsoft\VSCode
```
If you are deploying VSCodium in an enterprise environment via Group Policy:
1. Copy the `.admx` template file to `C:\Windows\PolicyDefinitions\`
2. Copy the `.adml` language file to `C:\Windows\PolicyDefinitions\en-US\`
3. Open `gpedit.msc` and configure policies under the VSCodium group
4. Verify the resulting registry key exists at `HKLM\SOFTWARE\Policies\VSCodium\VSCodium` (not `Microsoft\VSCodium`)
If you set policies manually via Registry Editor, make sure you create the key at the correct path:
```
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName> (REG_SZ or REG_DWORD)
```
For example, to set `Update: Mode` to `none`:
```
Registry key: HKLM\SOFTWARE\Policies\VSCodium\VSCodium
Value name: update.mode
Value type: REG_SZ
Value data: none
```
Per-user policies are also supported under `HKCU\SOFTWARE\Policies\VSCodium\VSCodium` (machine policies take precedence).
### <a id="windows-context-menu"></a>_"Open with VSCodium" missing from context menu_
If the **"Open with VSCodium"** option does not appear after installation (even with the checkbox checked during setup):
1. **Run the installer again** and ensure _"Add 'Open with VSCodium' action to Windows Explorer file context menu"_ is checked.
2. **Windows 11 note**: Windows 11 hides most context menu entries behind **Shift + Right-click** ("Show more options"). VSCodium's entry may be present but hidden in the new condensed menu. Try Shift + Right-click to see the classic context menu.
3. If the entry still does not appear, you can add it manually via Registry Editor:
```
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium
Value: (Default) = "Open with VSCodium"
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium\command
Value: (Default) = "C:\Program Files\VSCodium\VSCodium.exe" "%1"
```
Adjust the install path to match your actual installation directory.
### <a id="windows-defender"></a>_Windows Defender flags the installer as malware_
Some users report Windows Defender detecting the VSCodium installer as `Cinjo` or another threat. This is a **false positive** caused by the unsigned nature of certain build artifacts.
- Download VSCodium **only from the official [GitHub Releases page](https://github.com/VSCodium/vscodium/releases)**.
- Verify the SHA256/SHA512 checksum of the downloaded file against the `.sha256` or `.sha512` file published alongside each release.
- If Defender blocks the installer, add an exclusion for the downloaded file, run the install, then remove the exclusion.
- You can also report the false positive directly to Microsoft via the [Windows Defender Security Intelligence submission portal](https://www.microsoft.com/en-us/wdsi/filesubmission).

View File

@@ -0,0 +1,7 @@
artifacts:
"@daiyam/artifact-lang-js":
version: 0.9.3
requires:
- "22"
"@daiyam/artifact-lang-ts":
version: 0.6.3

17
font-size/.editorconfig Normal file
View File

@@ -0,0 +1,17 @@
root = true
[*]
indent_style = tab
tab_width = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{*.yml,*.yaml}]
indent_style = space
indent_size = 2
[*.md]
indent_style = space
indent_size = 4

29
font-size/.fixpackrc Normal file
View File

@@ -0,0 +1,29 @@
{
"sortToTop": [
"name",
"displayName",
"description",
"version",
"private",
"author",
"publisher",
"license",
"homepage",
"repository",
"bugs",
"engines",
"type",
"bin",
"exports",
"main",
"module",
"types",
"typesVersions",
"scripts",
"dependencies",
"devDependencies",
"optionalDependencies",
"keywords"
],
"finalNewLine": true
}

2
font-size/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/node_modules/
/lib/

1
font-size/.nvmrc Normal file
View File

@@ -0,0 +1 @@
v22.21.1

9
font-size/.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,9 @@
{
"search.exclude": {
"package-lock.json": true,
"lib/**": true,
},
"taskExplorer.exclude": [
".husky",
],
}

153
font-size/.xo-config.json Normal file
View File

@@ -0,0 +1,153 @@
{
"ignores": [
"*.config.js",
"*.config.ts"
],
"rules": {
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/brace-style": [
"error",
"stroustrup"
],
"@typescript-eslint/class-literal-property-style": [
"error",
"fields"
],
"@typescript-eslint/keyword-spacing": [
"error",
{
"overrides": {
"if": {
"after": false
},
"for": {
"after": false
},
"switch": {
"after": false
},
"while": {
"after": false
}
}
}
],
"@typescript-eslint/member-ordering": [
"error",
{
"default": [
"field",
"constructor",
"get",
"set",
"method"
]
}
],
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "variable",
"modifiers": ["const", "global"],
"format": ["camelCase", "UPPER_CASE"],
"filter": {
"regex": "^(__filename|__dirname)$",
"match": false
}
},
{
"selector": "variable",
"format": ["camelCase"],
"filter": {
"regex": "^(__filename|__dirname)$",
"match": false
}
}
],
"@typescript-eslint/no-confusing-void-expression": "off",
"@typescript-eslint/no-dynamic-delete": "off",
"@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/object-curly-spacing": [
"error",
"always"
],
"@typescript-eslint/parameter-properties": "off",
"@typescript-eslint/prefer-promise-reject-errors": "off",
"@typescript-eslint/return-await": "off",
"arrow-parens": [
"error",
"always"
],
"capitalized-comments": "off",
"complexity": "off",
"default-case": "off",
"import/extensions": [
"error",
"never"
],
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object"
],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
"max-depth": [
"error",
8
],
"max-params": [
"error",
12
],
"no-await-in-loop": "off",
"no-else-return": "off",
"no-lonely-if": "off",
"no-negated-condition": "off",
"object-curly-newline": "off",
"one-var": [
"error",
"never"
],
"unicorn/empty-brace-spaces": "off",
"unicorn/no-array-callback-reference": "off",
"unicorn/no-length-as-slice-end": "off",
"unicorn/no-object-as-default-parameter": "off",
"unicorn/prefer-json-parse-buffer": "off",
"unicorn/prefer-module": "off",
"unicorn/prefer-node-protocol": "off",
"unicorn/prefer-switch": "off",
"unicorn/prefer-ternary": "off",
"unicorn/prevent-abbreviations": [
"error",
{
"replacements": {
"arg": false,
"args": false,
"dir": false,
"err": false,
"fn": false,
"func": false,
"i": false,
"j": false,
"mod": false,
"num": false,
"pkg": false,
"str": false
}
}
]
}
}

270
font-size/generate-css.ts Executable file
View File

@@ -0,0 +1,270 @@
#!/usr/bin/env node
import path from 'node:path';
import process from 'node:process';
import fse from '@zokugun/fs-extra-plus/async';
import { err, OK, type Result, stringifyError, xtry } from '@zokugun/xtry';
import postcss, { Root, type Rule } from 'postcss';
type Area = {
name: string;
defaultSize: number;
files: string[];
prefixes: string[];
};
const PX_REGEX = /(-?\d+(\.\d+)?)px\b/g;
const COEFF_PRECISION = 6;
const HEADER = '/*** Generated for Custom Font Size ***/';
const ZEROS = ['margin', 'padding'];
const AREAS: Record<string, Area> = {
activitybar: {
name: 'activitybar',
defaultSize: 16,
files: ['src/vs/workbench/browser/parts/activitybar/media/activityaction.css'],
prefixes: ['.monaco-workbench .activitybar'],
},
bottompane: {
name: 'bottompane',
defaultSize: 13,
files: ['src/vs/workbench/browser/parts/panel/media/panelpart.css', 'src/vs/base/browser/ui/actionbar/actionbar.css', 'src/vs/workbench/browser/parts/media/paneCompositePart.css'],
prefixes: ['.monaco-workbench .part.panel'],
},
statusbar: {
name: 'statusbar',
defaultSize: 12,
files: ['src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css'],
prefixes: ['.monaco-workbench .part.statusbar'],
},
sidebar: {
name: 'sidebar',
defaultSize: 13,
files: [
'src/vs/base/browser/ui/actionbar/actionbar.css',
'src/vs/base/browser/ui/button/button.css',
'src/vs/base/browser/ui/inputbox/inputBox.css',
'src/vs/workbench/contrib/debug/browser/media/debugToolBar.css',
'src/vs/workbench/contrib/debug/browser/media/debugViewlet.css',
'src/vs/workbench/contrib/extensions/browser/media/extension.css',
'src/vs/workbench/contrib/extensions/browser/media/extensionActions.css',
'src/vs/workbench/contrib/search/browser/media/searchview.css',
'src/vs/workbench/contrib/scm/browser/media/scm.css',
],
prefixes: ['.monaco-workbench .part.sidebar', '.monaco-workbench .part.auxiliarybar'],
},
tabs: {
name: 'tabs',
defaultSize: 13,
files: [
'src/vs/workbench/browser/parts/editor/media/editortabscontrol.css',
'src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css',
'src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css'
],
prefixes: ['.monaco-workbench .part.editor > .content .editor-group-container > .title.tabs'],
},
};
function formatCoefficient(n: number): string { // {{{
const fixed = n.toFixed(COEFF_PRECISION);
return fixed.replace(/\.?0+$/, '');
} // }}}
function replacePx(area: Area) { // {{{
return (match: string, numStr: string): string => {
const pxValue = Number.parseFloat(numStr);
if(pxValue === 1) {
return match;
}
const coeff = formatCoefficient(pxValue / area.defaultSize);
return `calc(var(--vscode-workbench-${area.name}-font-size) * ${coeff})`;
};
} // }}}
function transformPxValue(value: string, area: Area): string { // {{{
return value.replaceAll(PX_REGEX, replacePx(area));
} // }}}
async function processFile(filePath: string, areas: Area[]): Promise<Result<void, string>> { // {{{
const readResult = await fse.readFile(filePath, 'utf8');
if(readResult.fails) {
return err(stringifyError(readResult.error));
}
const content = extractOriginal(readResult.value);
const postcssResult = xtry(() => postcss.parse(content, { from: filePath }));
if(postcssResult.fails) {
return err(`Failed to parse ${filePath}: ${stringifyError(postcssResult.error)}`);
}
const generatedRoot = postcss.root();
for(const area of areas) {
processFileArea(postcssResult.value, generatedRoot, area)
}
if(generatedRoot.nodes && generatedRoot.nodes.length > 0) {
const writeResult = await fse.writeFile(filePath, content + `\n\n\n${HEADER}\n\n` + generatedRoot.toString(), 'utf8');
if(writeResult.fails) {
return err(stringifyError(readResult.error));
}
console.log(`Generated: ${filePath}`);
}
else {
console.log(`No px sizes found in: ${filePath}`);
}
return OK;
} // }}}
function processFileArea(postcssResult: Root, generatedRoot: Root, area: Area): void { // {{{
postcssResult.walkRules((rule: Rule) => {
const declarationsToAdd: Array<{ prop: string; value: string }> = [];
rule.walkDecls((declaration) => {
if(PX_REGEX.test(declaration.value)) {
const newValue = transformPxValue(declaration.value, area);
declarationsToAdd.push({ prop: declaration.prop, value: newValue });
}
else if(declaration.value === 'auto' && (declaration.prop === 'height' || declaration.prop === 'width')) {
declarationsToAdd.push({ prop: declaration.prop, value: 'auto' });
}
else if(declaration.value === '0' && ZEROS.includes(declaration.prop)) {
declarationsToAdd.push({ prop: declaration.prop, value: '0' });
}
});
if(declarationsToAdd.length > 0) {
const selectors = (rule.selectors && rule.selectors.length > 0) ? rule.selectors : [rule.selector];
const prefixeds: string[] = [];
for(const prefix of area.prefixes) {
const parts = prefix.split(' ');
const prefixed = selectors.map((s) => prefixSelector(s, parts)).join(', ');
prefixeds.push(prefixed);
}
const newRule = postcss.rule({ selector: `${prefixeds.join(', ')}` });
let length = 0;
for(const declaration of declarationsToAdd) {
if(!declaration.prop.startsWith('border')) {
newRule.append({ ...declaration });
length += 1;
}
}
if(length > 0) {
generatedRoot.append(newRule);
}
}
});
} // }}}
function extractOriginal(content: string): string { // {{{
const index = content.indexOf(HEADER);
if(index === -1) {
return content;
}
return content.slice(0, Math.max(0, index - 3));
} // }}}
function extractStyle(selector: string): string { // {{{
const match = /^(\.[\w-]+)/.exec(selector);
return match?.[1] ?? '';
} // }}}
function mergeSelector(selectors: string[], prefixes: string[], index: number): void { // {{{
if(index >= prefixes.length) {
return;
}
const prefix = prefixes[index];
const selector = selectors[index];
const style = extractStyle(prefix);
if(selector === style) {
if(prefix.length > style.length) {
selectors[index] = prefix;
}
mergeSelector(selectors, prefixes, index + 1);
}
else if(selector.startsWith(style)) {
mergeSelector(selectors, prefixes, index + 1);
}
else if(index === 0) {
selectors.unshift(...prefixes)
}
else {
selectors.splice(index + 1, 0, ...prefixes.slice(index));
}
} // }}}
function prefixSelector(selector: string, prefixParts: string[]): string { // {{{
const parts = selector.split(' ');
if(parts[0] === '.mac' || parts[0] === '.linux' || parts[0] === '.windows') {
parts[0] = `${prefixParts[0]}${parts[0]}`;
parts.splice(1, 0, ...prefixParts.slice(1));
}
else {
mergeSelector(parts, prefixParts, 0);
}
return parts.join(' ');
} // }}}
async function main(): Promise<void> { // {{{
const name = process.argv[2];
const area = AREAS[name];
if(area) {
for(const file of area.files) {
const result = await processFile(path.join('..', 'vscode', file), [area]);
if(result.fails) {
console.error(`Error processing ${file}:`, result.error);
}
}
}
else if(name === 'all') {
const files: Record<string, Area[]> = {};
for(const area of Object.values(AREAS)) {
for(const file of area.files) {
if(files[file]) {
files[file].push(area)
}
else {
files[file] = [area]
}
}
}
for(const [file, areas] of Object.entries(files)) {
const result = await processFile(path.join('..', 'vscode', file), areas);
if(result.fails) {
console.error(`Error processing ${file}:`, result.error);
}
}
}
else {
console.log(`No area found for ${name}`);
console.log(`\nAvailable areas:\n- ${Object.keys(AREAS).join('\n- ')}`);
return;
}
} // }}}
await main();

7391
font-size/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

30
font-size/package.json Normal file
View File

@@ -0,0 +1,30 @@
{
"name": "font-size",
"description": "",
"version": "1.0.0",
"author": {
"name": "Baptiste Augrain",
"email": "daiyam@zokugun.org"
},
"license": "MIT",
"type": "module",
"main": "generate-css.ts",
"scripts": {
"clean": "rimraf lib",
"lint": "xo",
"lint:fix": "xo --fix",
"prepare": "fixpack || true"
},
"dependencies": {
"@zokugun/fs-extra-plus": "^0.3.3",
"@zokugun/xtry": "^0.10.1",
"fast-glob": "^3.3.3",
"postcss": "^8.5.6"
},
"devDependencies": {
"@types/node": "^22.9.0",
"fixpack": "^4.0.0",
"xo": "0.60.0"
},
"keywords": []
}

View File

@@ -0,0 +1,78 @@
{
"compilerOptions": {
/* Language and Environment */
"target": "ES2022", /* Specify ECMAScript target version. */
"lib": [ /* Specify library files to be included in the compilation. */
"ES2022",
],
/* Modules */
"module": "node16", /* Specify what module code is generated. */
/* Basic Options */
// "allowJs": false, /* Allow javascript files to be compiled. */
// "checkJs": false, /* Report errors in '.js' files. */
// "jsx": undefined, /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
// "declaration": false, /* Generates corresponding '.d.ts' file. */
// "declarationDir": "" /* Specify the output directory for generated declaration files. */
// "declarationMap": false, /* Generates a sourcemap for each corresponding '.d.ts' file. */
// "outFile": "", /* Specify a file that bundles all outputs into one JavaScript file. */
// "outDir": "", /* Specify an output folder for all emitted files. */
// "rootDir": "", /* Specify the root directory of input files. */
// "incremental": false, /* Save '.tsbuildinfo' files to allow for incremental compilation of projects. */
// "composite": false, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": ".tsbuildinfo", /* Specify the folder for '.tsbuildinfo' incremental compilation files. */
// "removeComments": false, /* Disable emitting comments. */
// "noEmit": true, /* Disable emitting file from a compilation. */
// "importHelpers": false, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "downlevelIteration": false, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": false, /* Ensure that each file can be safely transpiled without relying on other imports. */
/* Strict Type-Checking Options */
"strict": true, /* Enable all strict type-checking options. */
"strictNullChecks": true, /* When type checking, take into account null and undefined. */
// "strictFunctionTypes": false, /* Enable strict checking of function types. */
// "strictBindCallApply": false, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
// "strictPropertyInitialization": false, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": false, /* Enable error reporting when 'this' is given the type 'any'. */
"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
"noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": false, /* Report errors on unused parameters. */
"noImplicitAny": false, /* Report error for expressions and declarations with an implied any type.. */
"noImplicitReturns": false, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": false, /* Report errors for fallthrough cases in switch statement. */
// "noUncheckedIndexedAccess": false, /* Include 'undefined' in index signature results */
// "noImplicitOverride": false, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */
// "noPropertyAccessFromIndexSignature": false, /* Require undeclared properties from index signatures to use element accesses. */
/* Module Resolution Options */
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "", /* Specify the base directory to resolve non-relative module names. */
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
// "preserveSymlinks": false, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
// "allowUmdGlobalAccess": false, /* Allow accessing UMD globals from modules. */
// "resolveJsonModule": false, /* Enable importing .json files */
/* Source Map Options */
// "sourceMap": false, /* Create source map files for emitted JavaScript files. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": false, /* Include sourcemap files inside the emitted JavaScript. */
// "inlineSources": false, /* Include source code in the sourcemaps inside the emitted JavaScript. */
/* Experimental Options */
// "experimentalDecorators": false, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": false, /* Emit design-type metadata for decorated declarations in source files. */
/* Advanced Options */
"skipLibCheck": true, /* Skip type checking all .d.ts files. */
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
},
}

15
font-size/tsconfig.json Normal file
View File

@@ -0,0 +1,15 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
/* Basic Options */
"outDir": ".",
"rootDir": ".",
"declaration": true,
/* Module Resolution Options */
"resolveJsonModule": true, /* Enable importing .json files */
},
"files": [
"package.json",
],
}

View File

@@ -1,18 +1,18 @@
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
index cb1a0a5..dacedc3 100644
index b935764..68067db 100644
--- a/build/gulpfile.reh.ts
+++ b/build/gulpfile.reh.ts
@@ -323,3 +323,3 @@ function packageTask(type: string, platform: string, arch: string, sourceFolderN
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(jsonEditor({ commit, date: readISODate('out-build'), version }))
+ .pipe(jsonEditor({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
- .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version }))
+ .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
.pipe(es.through(function (file) {
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index d3ab651..1000abc 100644
index a103f11..82142a1 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -272,3 +272,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
@@ -374,3 +374,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version }))
+ .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
- .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version }))
+ .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
.pipe(es.through(function (file) {

View File

@@ -1,22 +1,22 @@
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index d3ab651..63cd71f 100644
index a103f11..cc95785 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -369,3 +369,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
.pipe(replace('@@APPNAME@@', product.applicationName))
@@ -466,3 +466,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
.pipe(replace('@@NAME@@', product.nameShort))
- .pipe(rename('bin/code'));
+ .pipe(rename('bin/' + product.applicationName));
const policyDest = gulp.src('.build/policies/darwin/**', { base: '.build/policies/darwin' })
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
index 2c3b710..8041f08 100644
index 93d0008..a04d296 100644
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
@@ -503,3 +503,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
@@ -539,3 +539,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
private async getShellCommandLink(): Promise<{ readonly source: string; readonly target: string }> {
- const target = resolve(this.environmentMainService.appRoot, 'bin', 'code');
+ const target = resolve(this.environmentMainService.appRoot, 'bin', this.productService.applicationName);
const source = `/usr/local/bin/${this.productService.applicationName}`;
@@ -772,3 +772,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
@@ -808,3 +808,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
if (this.environmentMainService.isBuilt) {
- return join(this.environmentMainService.appRoot, 'bin', 'code');
+ return join(this.environmentMainService.appRoot, 'bin', `${this.productService.applicationName}`);

View File

@@ -19,7 +19,7 @@ index 12b50f3..7cb0d1b 100644
+ completions.push(this.newSimpleCompletionItem(getText('appName'), range, vscode.l10n.t("e.g. !!APP_NAME!!")));
completions.push(this.newSimpleCompletionItem(getText('remoteName'), range, vscode.l10n.t("e.g. SSH")));
diff --git a/extensions/css-language-features/package.nls.json b/extensions/css-language-features/package.nls.json
index 057ec21..53c32b4 100644
index d3de224..94eea2f 100644
--- a/extensions/css-language-features/package.nls.json
+++ b/extensions/css-language-features/package.nls.json
@@ -4,4 +4,4 @@
@@ -45,7 +45,7 @@ index 057ec21..53c32b4 100644
+ "scss.completion.triggerPropertyValueCompletion.desc": "By default, !!APP_NAME!! triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.",
"scss.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties.",
diff --git a/extensions/emmet/package.nls.json b/extensions/emmet/package.nls.json
index 2a58c39..8224615 100644
index 683bcc7..312b4b2 100644
--- a/extensions/emmet/package.nls.json
+++ b/extensions/emmet/package.nls.json
@@ -1,3 +1,3 @@
@@ -62,7 +62,7 @@ index 1be4d0e..647b147 100644
-export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as VS Code generates these automatically from your package.json contribution declarations.");
+export const redundantImplicitActivationEvent = l10n.t("This activation event can be removed as !!APP_NAME!! generates these automatically from your package.json contribution declarations.");
diff --git a/extensions/extension-editing/src/extensionLinter.ts b/extensions/extension-editing/src/extensionLinter.ts
index 5c73304..3294fd8 100644
index 6249500..6d89804 100644
--- a/extensions/extension-editing/src/extensionLinter.ts
+++ b/extensions/extension-editing/src/extensionLinter.ts
@@ -34,3 +34,3 @@ const relativeUrlRequiresHttpsRepository = l10n.t("Relative image URLs require a
@@ -71,37 +71,37 @@ index 5c73304..3294fd8 100644
+const apiProposalNotListed = l10n.t("This proposal cannot be used because for this extension the product defines a fixed set of API proposals. You can test your extension but before publishing you MUST reach out to the !!APP_NAME!! team.");
diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json
index 94a1f61..c0ac9ea 100644
index 147a75f..565109e 100644
--- a/extensions/git/package.nls.json
+++ b/extensions/git/package.nls.json
@@ -250,3 +250,3 @@
@@ -259,3 +259,3 @@
"{Locked='](command:git.showOutput'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -278,4 +278,4 @@
@@ -287,4 +287,4 @@
"config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.",
- "config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
- "config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
+ "config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
"config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.",
@@ -349,3 +349,3 @@
@@ -358,3 +358,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -359,3 +359,3 @@
@@ -368,3 +368,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -369,3 +369,3 @@
@@ -378,3 +378,3 @@
"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -381,6 +381,6 @@
@@ -390,6 +390,6 @@
"view.workbench.scm.disabled": {
- "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -110,7 +110,7 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -389,6 +389,6 @@
@@ -398,6 +398,6 @@
"view.workbench.scm.empty": {
- "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -119,7 +119,7 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -397,6 +397,6 @@
@@ -406,6 +406,6 @@
"view.workbench.scm.folder": {
- "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -128,7 +128,7 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -405,6 +405,6 @@
@@ -414,6 +414,6 @@
"view.workbench.scm.workspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -137,18 +137,13 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -413,6 +413,6 @@
@@ -422,6 +422,6 @@
"view.workbench.scm.emptyWorkspace": {
- "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
"comment": [
"{Locked='](command:workbench.action.addRootFolder'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -431,3 +431,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -440,3 +440,3 @@
@@ -156,17 +151,22 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -448,3 +448,3 @@
@@ -449,3 +449,3 @@
"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -457,3 +457,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -456,3 +456,3 @@
@@ -465,3 +465,3 @@
"{Locked='](command:git.manageUnsafeRepositories'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -461,6 +461,6 @@
@@ -470,6 +470,6 @@
"view.workbench.scm.closedRepository": {
- "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -175,7 +175,7 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -469,6 +469,6 @@
@@ -478,6 +478,6 @@
"view.workbench.scm.closedRepositories": {
- "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
+ "message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -184,18 +184,18 @@ index 94a1f61..c0ac9ea 100644
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -480,3 +480,3 @@
@@ -489,3 +489,3 @@
"{Locked='](command:git.clone'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -484,3 +484,3 @@
@@ -493,3 +493,3 @@
},
- "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)."
+ "view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)."
}
diff --git a/extensions/github/package.nls.json b/extensions/github/package.nls.json
index 40271be..00dae16 100644
index 0449759..70a7c7c 100644
--- a/extensions/github/package.nls.json
+++ b/extensions/github/package.nls.json
@@ -2,3 +2,3 @@
@@ -203,17 +203,17 @@ index 40271be..00dae16 100644
- "description": "GitHub features for VS Code",
+ "description": "GitHub features for !!APP_NAME!!",
"command.copyVscodeDevLink": "Copy vscode.dev Link",
@@ -8,3 +8,3 @@
@@ -10,3 +10,3 @@
"config.branchProtection": "Controls whether to query repository rules for GitHub repositories",
- "config.gitAuthentication": "Controls whether to enable automatic GitHub authentication for git commands within VS Code.",
+ "config.gitAuthentication": "Controls whether to enable automatic GitHub authentication for git commands within !!APP_NAME!!.",
"config.gitProtocol": "Controls which protocol is used to clone a GitHub repository",
@@ -17,3 +17,3 @@
@@ -19,3 +19,3 @@
"{Locked='](command:github.publish'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
"Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links"
@@ -27,3 +27,3 @@
@@ -29,3 +29,3 @@
"{Locked='](command:github.publish'}",
- "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
+ "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
@@ -230,7 +230,7 @@ index 789a579..12e230e 100644
+ "displayName": "Grunt support for !!APP_NAME!!",
"config.grunt.autoDetect": "Controls enablement of Grunt task detection. Grunt task detection can cause files in any open workspace to be executed.",
diff --git a/extensions/html-language-features/client/src/htmlClient.ts b/extensions/html-language-features/client/src/htmlClient.ts
index 54fc914..77fa09d 100644
index 250b340..8f53898 100644
--- a/extensions/html-language-features/client/src/htmlClient.ts
+++ b/extensions/html-language-features/client/src/htmlClient.ts
@@ -109,3 +109,3 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
@@ -273,7 +273,7 @@ index e82030e..ac999f6 100644
+ "displayName": "Jake support for !!APP_NAME!!",
"jake.taskDefinition.type.description": "The Jake task to customize.",
diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json
index 9052d37..f505551 100644
index 30199b2..008aed7 100644
--- a/extensions/json-language-features/package.nls.json
+++ b/extensions/json-language-features/package.nls.json
@@ -11,3 +11,3 @@
@@ -332,7 +332,7 @@ index 1cb74c5..3f5f892 100644
+ <a href="#" class="open-file-link">${vscode.l10n.t("Open file using !!APP_NAME!!'s standard text/binary editor?")}</a>
</div>
diff --git a/extensions/notebook-renderers/package.json b/extensions/notebook-renderers/package.json
index 77c042e..d262ee3 100644
index fad11bc..64e48ce 100644
--- a/extensions/notebook-renderers/package.json
+++ b/extensions/notebook-renderers/package.json
@@ -22,3 +22,3 @@
@@ -341,7 +341,7 @@ index 77c042e..d262ee3 100644
+ "displayName": "!!APP_NAME!! Builtin Notebook Output Renderer",
"requiresMessaging": "never",
diff --git a/extensions/npm/package.nls.json b/extensions/npm/package.nls.json
index 56a77ff..e9f32d1 100644
index 1235a55..b647563 100644
--- a/extensions/npm/package.nls.json
+++ b/extensions/npm/package.nls.json
@@ -2,3 +2,3 @@
@@ -350,7 +350,7 @@ index 56a77ff..e9f32d1 100644
+ "displayName": "NPM support for !!APP_NAME!!",
"workspaceTrust": "This extension executes tasks, which require trust to run.",
diff --git a/extensions/swift/syntaxes/swift.tmLanguage.json b/extensions/swift/syntaxes/swift.tmLanguage.json
index a8bbe5d..00694dc 100644
index d52cabb..eb3a76c 100644
--- a/extensions/swift/syntaxes/swift.tmLanguage.json
+++ b/extensions/swift/syntaxes/swift.tmLanguage.json
@@ -260,3 +260,3 @@
@@ -359,39 +359,41 @@ index a8bbe5d..00694dc 100644
+ "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks !!APP_NAME!! / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",
"name": "support.variable.swift",
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
index e01e4de..1797d03 100644
index 48955c3..0ff7003 100644
--- a/extensions/typescript-language-features/package.nls.json
+++ b/extensions/typescript-language-features/package.nls.json
@@ -82,4 +82,4 @@
"configuration.tsserver.experimental.enableProjectDiagnostics": "Enables project wide error reporting.",
@@ -136,5 +136,5 @@
"configuration.tsserver.experimental.enableProjectDiagnostics.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.tsserver.experimental.enableProjectDiagnostics#` instead.",
- "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.",
- "typescript.locale.auto": "Use VS Code's configured display language.",
+ "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use !!APP_NAME!!'s locale.",
"typescript.locale.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.locale#` instead.",
- "typescript.locale.auto": "Use VS Code's configured display language.",
+ "typescript.locale.auto": "Use !!APP_NAME!!'s configured display language.",
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
@@ -166,3 +166,3 @@
"typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in `Go to Symbol in Workspace` results. Requires using TypeScript 5.3+ in the workspace.",
@@ -247,3 +247,3 @@
"configuration.workspaceSymbols.excludeLibrarySymbols.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.workspaceSymbols.excludeLibrarySymbols#` instead.",
- "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
+ "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in !!APP_NAME!!.",
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
@@ -173,5 +173,5 @@
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
@@ -258,5 +258,5 @@
"configuration.suggest.completeJSDocs.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.jsdoc.enabled#` instead.",
- "configuration.tsserver.useVsCodeWatcher": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.useVsCodeWatcher": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.watchOptions": "Configure which watching strategies should be used to keep track of files and directories.",
- "configuration.tsserver.watchOptions.vscode": "Use VS Code's file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
+ "configuration.tsserver.watchOptions.vscode": "Use !!APP_NAME!!'s file watchers instead of TypeScript's. Requires using TypeScript 5.4+ in the workspace.",
"configuration.tsserver.watchOptions.watchFile": "Strategy for how individual files are watched.",
@@ -225,6 +225,6 @@
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.",
@@ -313,3 +313,3 @@
"configuration.suggest.objectLiteralMethodSnippets.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.suggest.objectLiteralMethodSnippets.enabled#` instead.",
- "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
+ "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that !!APP_NAME!! is running in a trusted context.",
"configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`",
"configuration.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.",
- "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want !!APP_NAME!! to detect a Node installation.",
"configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.6+.",
@@ -240,7 +240,7 @@
"configuration.tsserver.web.projectWideIntellisense.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.tsserver.web.projectWideIntellisense.enabled#` instead.",
@@ -319,3 +319,3 @@
"configuration.tsserver.web.typeAcquisition.enabled.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.tsserver.web.typeAcquisition.enabled#` instead.",
- "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or `node` if you want VS Code to detect a Node installation.",
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or `node` if you want !!APP_NAME!! to detect a Node installation.",
"configuration.tsserver.nodePath.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.tsserver.node.path#` instead.",
@@ -334,7 +334,7 @@
"walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript",
- "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
- "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.",
@@ -404,10 +406,10 @@ index e01e4de..1797d03 100644
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in !!APP_NAME!!."
}
diff --git a/extensions/typescript-language-features/src/tsServer/versionManager.ts b/extensions/typescript-language-features/src/tsServer/versionManager.ts
index dcfee49..35e9ef3 100644
index 8d99637..a8d9986 100644
--- a/extensions/typescript-language-features/src/tsServer/versionManager.ts
+++ b/extensions/typescript-language-features/src/tsServer/versionManager.ts
@@ -111,3 +111,3 @@ export class TypeScriptVersionManager extends Disposable {
@@ -112,3 +112,3 @@ export class TypeScriptVersionManager extends Disposable {
? '• '
- : '') + vscode.l10n.t("Use VS Code's Version"),
+ : '') + vscode.l10n.t("Use !!APP_NAME!!'s Version"),
@@ -431,26 +433,26 @@ index 9905fd5..62c2e3c 100644
+ vscode.l10n.t("Please open a folder in !!APP_NAME!! to use a TypeScript or JavaScript project"));
return;
diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts
index 207698d..9948527 100644
index 507f9e6..067fb79 100644
--- a/extensions/typescript-language-features/src/typescriptServiceClient.ts
+++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts
@@ -661,3 +661,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -660,3 +660,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showErrorMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
} else {
@@ -682,3 +682,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -681,3 +681,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
} else {
@@ -696,3 +696,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
@@ -695,3 +695,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
- vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
+ vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
} else {
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index c3c08b1..d0f4d3d 100644
index 0ba8a2d..db93abf 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -2,3 +2,3 @@
@@ -528,24 +530,24 @@ index a351aa7..c32e3ef 100644
+ throw Error(`Failed to download and unzip !!APP_NAME!! ${quality} - ${commit}`);
}
diff --git a/extensions/vscode-test-resolver/src/extension.ts b/extensions/vscode-test-resolver/src/extension.ts
index 74d25c6..878e228 100644
index c342647..17af7ae 100644
--- a/extensions/vscode-test-resolver/src/extension.ts
+++ b/extensions/vscode-test-resolver/src/extension.ts
@@ -178,3 +178,3 @@ export function activate(context: vscode.ExtensionContext) {
@@ -180,3 +180,3 @@ export function activate(context: vscode.ExtensionContext) {
const serverBin = path.join(remoteDataDir, 'bin');
- progress.report({ message: 'Installing VSCode Server' });
+ progress.report({ message: 'Installing !!APP_NAME!! Server' });
serverLocation = await downloadAndUnzipVSCodeServer(updateUrl, commit, quality, serverBin, m => outputChannel.appendLine(m));
diff --git a/src/main.ts b/src/main.ts
index ecbbb16..a61b2d3 100644
index 42f599c..1f90b59 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -416,3 +416,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
@@ -413,3 +413,3 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
const defaultArgvConfigContent = [
- '// This configuration file allows you to pass permanent command line arguments to VS Code.',
+ '// This configuration file allows you to pass permanent command line arguments to !!APP_NAME!!.',
'// Only a subset of arguments is currently supported to reduce the likelihood of breaking',
@@ -422,6 +422,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
@@ -419,6 +419,6 @@ function createDefaultArgvConfigSync(argvConfigPath: string): void {
'//',
- '// NOTE: Changing this file requires a restart of VS Code.',
+ '// NOTE: Changing this file requires a restart of !!APP_NAME!!.',
@@ -555,10 +557,10 @@ index ecbbb16..a61b2d3 100644
+ ' // This can help in cases where you see rendering issues in !!APP_NAME!!.',
' // "disable-hardware-acceleration": true',
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index a3efce9..ba6055d 100644
index c2c70d3..44941e9 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -532,3 +532,3 @@ export class CodeApplication extends Disposable {
@@ -550,3 +550,3 @@ export class CodeApplication extends Disposable {
async startup(): Promise<void> {
- this.logService.debug('Starting VS Code');
+ this.logService.debug('Starting !!APP_NAME!!');
@@ -582,7 +584,7 @@ index c256dba..10a79c8 100644
+export const ProductQualityContext = new RawContextKey<string>('productQualityType', '', localize('productQualityType', "Quality type of !!APP_NAME!!"));
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
index cdf0c67..d567815 100644
index cef0d3c..e6016ae 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
@@ -153,3 +153,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
@@ -613,7 +615,7 @@ index 6346b9d..77ff0f9 100644
+ notices.push(nls.localize('apiProposalMismatch2', "This extension is using the API proposals {0} and '{1}' that are not compatible with the current version of !!APP_NAME!!.",
incompatibleProposals.slice(0, incompatibleProposals.length - 1).map(p => `'${p}'`).join(', '),
diff --git a/src/vs/platform/externalTerminal/node/externalTerminalService.ts b/src/vs/platform/externalTerminal/node/externalTerminalService.ts
index 4813da4..9f8fd41 100644
index e7cf3f5..4424cc7 100644
--- a/src/vs/platform/externalTerminal/node/externalTerminalService.ts
+++ b/src/vs/platform/externalTerminal/node/externalTerminalService.ts
@@ -17,3 +17,3 @@ import { ITerminalEnvironment } from '../../terminal/common/terminal.js';
@@ -631,28 +633,28 @@ index 27fd88b..ad97d7b 100644
+ description: localize('terminal.integrated.inheritEnv', "Whether new shells should inherit their environment from !!APP_NAME!!, which may source a login shell to ensure $PATH and other development variables are initialized. This has no effect on Windows."),
type: 'boolean',
diff --git a/src/vs/platform/update/common/update.config.contribution.ts b/src/vs/platform/update/common/update.config.contribution.ts
index e5fb1ab..bd4740b 100644
index 53e3a78..888a549 100644
--- a/src/vs/platform/update/common/update.config.contribution.ts
+++ b/src/vs/platform/update/common/update.config.contribution.ts
@@ -70,3 +70,3 @@ configurationRegistry.registerConfiguration({
title: localize('enableWindowsBackgroundUpdatesTitle', "Enable Background Updates on Windows"),
- description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new VS Code versions in the background on Windows."),
+ description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background on Windows."),
@@ -71,3 +71,3 @@ configurationRegistry.registerConfiguration({
title: localize('enableWindowsBackgroundUpdatesTitle', "Enable Background Updates"),
- description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new VS Code versions in the background."),
+ description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new !!APP_NAME!! versions in the background."),
included: isWindows && !isWeb
diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts
index 0e63d40..5b8085e 100644
index c943bca..d5c8506 100644
--- a/src/vs/platform/update/electron-main/abstractUpdateService.ts
+++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts
@@ -33,3 +33,3 @@ export type UpdateErrorClassification = {
@@ -69,3 +69,3 @@ export type UpdateErrorClassification = {
messageHash: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The hash of the error message.' };
- comment: 'This is used to know how often VS Code updates have failed.';
+ comment: 'This is used to know how often !!APP_NAME!! updates have failed.';
};
diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts
index 6a0eacf..2959dad 100644
index 58ff362..9bf7ed9 100644
--- a/src/vs/server/node/server.cli.ts
+++ b/src/vs/server/node/server.cli.ts
@@ -474,3 +474,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) {
@@ -475,3 +475,3 @@ function asExtensionIdOrVSIX(inputs: string[] | undefined) {
function fatal(message: string, err: unknown): void {
- console.error('Unable to connect to VS Code server: ' + message);
+ console.error('Unable to connect to !!APP_NAME!! server: ' + message);
@@ -685,10 +687,10 @@ index a04bbd0..202f130 100644
+ ApiCommandArgument.String.with('viewId', 'Custom editor view id. This should be the viewType string for custom editors or the notebookType string for notebooks. Use \'default\' to use !!APP_NAME!!\'s default text editor'),
new ApiCommandArgument<vscode.ViewColumn | typeConverters.TextEditorOpenOptions | undefined, [vscode.ViewColumn?, ITextEditorOptions?] | undefined>('columnOrOptions', 'Either the column in which to open or editor options, see vscode.TextDocumentShowOptions',
diff --git a/src/vs/workbench/api/common/extHostCommands.ts b/src/vs/workbench/api/common/extHostCommands.ts
index 161e19b..b6bfeb2 100644
index 92e874d..d59e726 100644
--- a/src/vs/workbench/api/common/extHostCommands.ts
+++ b/src/vs/workbench/api/common/extHostCommands.ts
@@ -466,4 +466,4 @@ export class ApiCommandArgument<V, O = V> {
@@ -464,4 +464,4 @@ export class ApiCommandArgument<V, O = V> {
static readonly TypeHierarchyItem = new ApiCommandArgument('item', 'A type hierarchy item', v => v instanceof extHostTypes.TypeHierarchyItem, extHostTypeConverter.TypeHierarchyItem.from);
- static readonly TestItem = new ApiCommandArgument('testItem', 'A VS Code TestItem', v => v instanceof TestItemImpl, extHostTypeConverter.TestItem.from);
- static readonly TestProfile = new ApiCommandArgument('testProfile', 'A VS Code test profile', v => v instanceof extHostTypes.TestRunProfileBase, extHostTypeConverter.TestRunProfile.from);
@@ -714,7 +716,7 @@ index 91f52f5..dbb0ad4 100644
+ let content = '# !!APP_NAME!! Policy Diagnostics\n\n';
content += '*WARNING: This file may contain sensitive information.*\n\n';
diff --git a/src/vs/workbench/browser/actions/helpActions.ts b/src/vs/workbench/browser/actions/helpActions.ts
index 2487213..a22b4d1 100644
index 7e4fb7b..b459421 100644
--- a/src/vs/workbench/browser/actions/helpActions.ts
+++ b/src/vs/workbench/browser/actions/helpActions.ts
@@ -163,3 +163,3 @@ class OpenNewsletterSignupUrlAction extends Action2 {
@@ -732,47 +734,47 @@ index e342f83..7c314e6 100644
+ throw new Error('Unable to create the !!APP_NAME!! workbench more than once.');
} else {
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
index 5ea32fb..23584f4 100644
index 058693c..9c3afe3 100644
--- a/src/vs/workbench/browser/workbench.contribution.ts
+++ b/src/vs/workbench/browser/workbench.contribution.ts
@@ -748,3 +748,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
@@ -806,3 +806,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
localize('profileName', "`${profileName}`: name of the profile in which the workspace is opened (e.g. Data Science (Profile)). Ignored if default profile is used."),
- localize('appName', "`${appName}`: e.g. VS Code."),
+ localize('appName', "`${appName}`: e.g. !!APP_NAME!!."),
localize('remoteName', "`${remoteName}`: e.g. SSH"),
diff --git a/src/vs/workbench/common/contextkeys.ts b/src/vs/workbench/common/contextkeys.ts
index 3a27ea1..684e2c7 100644
index c034874..b0bb4a0 100644
--- a/src/vs/workbench/common/contextkeys.ts
+++ b/src/vs/workbench/common/contextkeys.ts
@@ -43,3 +43,3 @@ export const EmbedderIdentifierContext = new RawContextKey<string | undefined>('
@@ -41,3 +41,3 @@ export const EmbedderIdentifierContext = new RawContextKey<string | undefined>('
-export const InAutomationContext = new RawContextKey<boolean>('inAutomation', false, localize('inAutomation', "Whether VS Code is running under automation/smoke test"));
+export const InAutomationContext = new RawContextKey<boolean>('inAutomation', false, localize('inAutomation', "Whether !!APP_NAME!! is running under automation/smoke test"));
diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
index d211a1d..bfb973c 100644
index ae0171f..060350f 100644
--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
+++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
@@ -467,3 +467,3 @@ configurationRegistry.registerConfiguration({
@@ -558,3 +558,3 @@ configurationRegistry.registerConfiguration({
nls.localize('chat.mcp.access.none', "No access to MCP servers."),
- nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."),
+ nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."),
nls.localize('chat.mcp.access.any', "Allow access to any installed MCP server.")
@@ -494,3 +494,3 @@ configurationRegistry.registerConfiguration({
@@ -585,3 +585,3 @@ configurationRegistry.registerConfiguration({
{
- key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that VS Code is connected to."),
+ key: 'chat.mcp.access.registry', value: nls.localize('chat.mcp.access.registry', "Allows access to MCP servers installed from the registry that !!APP_NAME!! is connected to."),
},
diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts
index 88a46ef..6efa8ab 100644
index 1936819..8f3bd30 100644
--- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts
+++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.ts
@@ -115,3 +115,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation {
@@ -119,3 +119,3 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation {
// Register VSCode agent
- const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller);
+ const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, ChatModeKind.Agent, context, controller);
disposables.add(vscodeDisposable);
@@ -132,4 +132,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation {
@@ -136,4 +136,4 @@ export class SetupAgent extends Disposable implements IChatAgentImplementation {
displayName: localize('setupToolDisplayName', "New Workspace"),
- modelDescription: 'Scaffold a new workspace in VS Code',
- userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"),
@@ -780,10 +782,10 @@ index 88a46ef..6efa8ab 100644
+ userDescription: localize('setupToolsDescription', "Scaffold a new workspace in !!APP_NAME!!"),
canBeReferencedInPrompt: true,
diff --git a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts
index d582ca6..b721308 100644
index d814c0b..66237e0 100644
--- a/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts
+++ b/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.ts
@@ -218,5 +218,5 @@ export class PromptValidator {
@@ -248,5 +248,5 @@ export class PromptValidator {
if (validGithubCopilotAttributeNames.value.has(attribute.key)) {
- report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in VS Code.", attribute.key), attribute.range, MarkerSeverity.Info));
+ report(toMarker(localize('promptValidator.ignoredAttribute.vscode-agent', "Attribute '{0}' is ignored when running locally in !!APP_NAME!!.", attribute.key), attribute.range, MarkerSeverity.Info));
@@ -792,7 +794,7 @@ index d582ca6..b721308 100644
+ report(toMarker(localize('promptValidator.unknownAttribute.vscode-agent', "Attribute '{0}' is not supported in !!APP_NAME!! agent files. Supported: {1}.", attribute.key, supportedNames.value), attribute.range, MarkerSeverity.Warning));
}
diff --git a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
index 7504a9c..2e485bb 100644
index 0b9ced3..731d952 100644
--- a/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
+++ b/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts
@@ -177,3 +177,3 @@ export class AdapterManager extends Disposable implements IAdapterManager {
@@ -801,30 +803,30 @@ index 7504a9c..2e485bb 100644
+ description: nls.localize('debugServer', "For debug extension development only: if a port is specified !!APP_NAME!! tries to connect to a debug adapter running in server mode"),
default: 4711
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index 6956d79..ea5fa28 100644
index 6e2b340..dfcfccb 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -353,3 +353,3 @@ CommandsRegistry.registerCommand({
@@ -363,3 +363,3 @@ CommandsRegistry.registerCommand({
description: '(optional) Options for installing the extension. Object with the following properties: ' +
- '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ',
+ '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ',
isOptional: true,
@@ -360,3 +360,3 @@ CommandsRegistry.registerCommand({
@@ -370,3 +370,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."),
+ 'description': localize('workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX', "When enabled, !!APP_NAME!! installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."),
default: false
@@ -365,3 +365,3 @@ CommandsRegistry.registerCommand({
@@ -375,3 +375,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, VS Code installs the pre-release version of the extension if available."),
+ 'description': localize('workbench.extensions.installExtension.option.installPreReleaseVersion', "When enabled, !!APP_NAME!! installs the pre-release version of the extension if available."),
default: false
@@ -370,3 +370,3 @@ CommandsRegistry.registerCommand({
@@ -380,3 +380,3 @@ CommandsRegistry.registerCommand({
'type': 'boolean',
- 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, VS Code do not sync this extension when Settings Sync is on."),
+ 'description': localize('workbench.extensions.installExtension.option.donotSync', "When enabled, !!APP_NAME!! do not sync this extension when Settings Sync is on."),
default: false
@@ -895,4 +895,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
@@ -909,4 +909,4 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
Severity.Info,
- vsixs.length > 1 ? localize('InstallVSIXs.successReload', "Completed installing extensions. Please reload Visual Studio Code to enable them.")
- : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload Visual Studio Code to enable it."),
@@ -832,7 +834,7 @@ index 6956d79..ea5fa28 100644
+ : localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."),
[{
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
index f2a1f70..4bbabd2 100644
index d1dacd0..035239a 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
@@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action {
@@ -856,15 +858,15 @@ index f2a1f70..4bbabd2 100644
+ this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true);
} else {
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
index 23ea0f7..0e2c889 100644
index de71064..d0035cc 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
@@ -477,3 +477,3 @@ export class Extension implements IExtension {
@@ -478,3 +478,3 @@ export class Extension implements IExtension {
return Promise.resolve(`# ${this.displayName || this.name}
-**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
+**Notice:** This extension is bundled with !!APP_NAME!!. It can be disabled but not uninstalled.
## Features
@@ -515,3 +515,3 @@ ${this.description}
@@ -516,3 +516,3 @@ ${this.description}
if (this.type === ExtensionType.System) {
- return Promise.resolve(`Please check the [VS Code Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
+ return Promise.resolve(`Please check the [!!APP_NAME!! Release Notes](command:${ShowCurrentReleaseNotesActionId}) for changes to the built-in extensions.`);
@@ -923,10 +925,10 @@ index 050dde4..a8a61bd 100644
+ description: localize2('configureLocaleDescription', "Changes the locale of !!APP_NAME!! based on installed language packs. Common languages include French, Chinese, Spanish, Japanese, German, Korean, and more.")
}
diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
index 7f4dfea..2d4da89 100644
index 864cc4f..b0b431a 100644
--- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
+++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
@@ -262,3 +262,3 @@ export class McpServersListView extends AbstractExtensionsListView<IWorkbenchMcp
@@ -276,3 +276,3 @@ export class McpServersListView extends AbstractExtensionsListView<IWorkbenchMcp
new MarkdownString(
- localize('mcp.welcome.descriptionWithLink', "Browse and install [Model Context Protocol (MCP) servers](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) directly from VS Code to extend agent mode with extra tools for connecting to databases, invoking APIs and performing specialized tasks."),
+ localize('mcp.welcome.descriptionWithLink', "Browse and install [Model Context Protocol (MCP) servers](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) directly from !!APP_NAME!! to extend agent mode with extra tools for connecting to databases, invoking APIs and performing specialized tasks."),
@@ -943,10 +945,10 @@ index b533feb..112d695 100644
+ `// ${nls.localize('doc', 'Open !!APP_NAME!! and run "Developer: Inspect Key Mappings (JSON)" from Command Palette.')}`,
``,
diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
index 96ce5ef..bbb1d33 100644
index 808dcdd..9539cf3 100644
--- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
+++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
@@ -3496,3 +3496,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
@@ -3479,3 +3479,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
- this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
+ this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting !!APP_NAME!! might result in orphaned processes.'));
@@ -966,16 +968,16 @@ index 9db6b8a..cecac9f 100644
+ description: nls.localize('JsonSchema.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running background task.'),
default: false
diff --git a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
index d917ab2..bb39d83 100644
index 56eb132..f25deed 100644
--- a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
+++ b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
@@ -429,3 +429,3 @@ const taskConfiguration: IJSONSchema = {
@@ -439,3 +439,3 @@ const taskConfiguration: IJSONSchema = {
type: 'boolean',
- description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when VS Code closes with a running task.'),
+ description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running task.'),
default: false
diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
index 9a74572..9a2e55a 100644
index 01632be..ad6af05 100644
--- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts
+++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts
@@ -210,3 +210,3 @@ export class TerminalViewPane extends ViewPane {
@@ -984,7 +986,7 @@ index 9a74572..9a2e55a 100644
+ this._notificationService.prompt(Severity.Warning, nls.localize('terminal.monospaceOnly', "The terminal only supports monospace fonts. Be sure to restart !!APP_NAME!! if this is a newly installed font."), choices);
}
diff --git a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
index 87e3a63..2ec958a 100644
index ff97469..d6222d2 100644
--- a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
+++ b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
@@ -107,3 +107,3 @@ if [ -z "${VSCODE_PYTHON_AUTOACTIVATE_GUARD:-}" ]; then
@@ -993,7 +995,7 @@ index 87e3a63..2ec958a 100644
+ builtin printf '\x1b[0m\x1b[7m * \x1b[0;103m !!APP_NAME!! Python bash activation failed with exit code %d \x1b[0m' "$__vsc_activation_status"
fi
diff --git a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh
index 5389bd9..5586d79 100644
index 4869a39..74e4cf6 100644
--- a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh
+++ b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh
@@ -78,3 +78,3 @@ if [ -z "${VSCODE_PYTHON_AUTOACTIVATE_GUARD:-}" ]; then
@@ -1002,7 +1004,7 @@ index 5389bd9..5586d79 100644
+ builtin printf '\x1b[0m\x1b[7m * \x1b[0;103m !!APP_NAME!! Python zsh activation failed with exit code %d \x1b[0m' "$__vsc_activation_status"
fi
diff --git a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish
index 0e0b679..f3241ac 100644
index 6cff748..98e3d6a 100644
--- a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish
+++ b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish
@@ -94,3 +94,3 @@ if not set -q VSCODE_PYTHON_AUTOACTIVATE_GUARD
@@ -1010,71 +1012,71 @@ index 0e0b679..f3241ac 100644
- builtin printf '\x1b[0m\x1b[7m * \x1b[0;103m VS Code Python fish activation failed with exit code %d \x1b[0m \n' "$__vsc_activation_status"
+ builtin printf '\x1b[0m\x1b[7m * \x1b[0;103m !!APP_NAME!! Python fish activation failed with exit code %d \x1b[0m \n' "$__vsc_activation_status"
end
@@ -106,3 +106,3 @@ end
@@ -110,3 +110,3 @@ end
# Helper function
-function __vsc_esc -d "Emit escape sequences for VS Code shell integration"
+function __vsc_esc -d "Emit escape sequences for !!APP_NAME!! shell integration"
builtin printf "\e]633;%s\a" (string join ";" -- $argv)
diff --git a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1 b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1
index e89f6ec..1228544 100644
index afeac19..bcb52c0 100644
--- a/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1
+++ b/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1
@@ -88,3 +88,3 @@ if (-not $env:VSCODE_PYTHON_AUTOACTIVATE_GUARD) {
@@ -87,3 +87,3 @@ if (-not $env:VSCODE_PYTHON_AUTOACTIVATE_GUARD) {
$activationError = $_
- Write-Host "`e[0m`e[7m * `e[0;103m VS Code Python powershell activation failed with exit code $($activationError.Exception.Message) `e[0m"
+ Write-Host "`e[0m`e[7m * `e[0;103m !!APP_NAME!! Python powershell activation failed with exit code $($activationError.Exception.Message) `e[0m"
}
diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
index 7431c14..b9ad2c7 100644
index 132db6d..0dc7abe 100644
--- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
+++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
@@ -311,3 +311,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -316,3 +316,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
[TerminalSettingId.DetectLocale]: {
- markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since VS Code's terminal only supports UTF-8 encoded data coming from the shell."),
+ markdownDescription: localize('terminal.integrated.detectLocale', "Controls whether to detect and set the `$LANG` environment variable to a UTF-8 compliant option since !!APP_NAME!!'s terminal only supports UTF-8 encoded data coming from the shell."),
type: 'string',
@@ -325,3 +325,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -330,3 +330,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
markdownEnumDescriptions: [
- localize('terminal.integrated.gpuAcceleration.auto', "Let VS Code detect which renderer will give the best experience."),
+ localize('terminal.integrated.gpuAcceleration.auto', "Let !!APP_NAME!! detect which renderer will give the best experience."),
localize('terminal.integrated.gpuAcceleration.on', "Enable GPU acceleration within the terminal."),
@@ -413,3 +413,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -418,3 +418,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
'terminal.integrated.commandsToSkipShell',
- "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
+ "A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by !!APP_NAME!!. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example `Ctrl+P` to launch Quick Open.\n\n&nbsp;\n\nMany commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the `-` character. For example add `-workbench.action.quickOpen` to allow `Ctrl+P` to reach the shell.\n\n&nbsp;\n\nThe following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, {1} and search for the first command from the list below.\n\n&nbsp;\n\nDefault Skipped Commands:\n\n{0}",
DEFAULT_COMMANDS_TO_SKIP_SHELL.sort().map(command => `- ${command}`).join('\n'),
@@ -425,3 +425,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -430,3 +430,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
[TerminalSettingId.AllowChords]: {
- markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not VS Code).", '`#terminal.integrated.commandsToSkipShell#`'),
+ markdownDescription: localize('terminal.integrated.allowChords', "Whether or not to allow chord keybindings in the terminal. Note that when this is true and the keystroke results in a chord it will bypass {0}, setting this to false is particularly useful when you want ctrl+k to go to your shell (not !!APP_NAME!!).", '`#terminal.integrated.commandsToSkipShell#`'),
type: 'boolean',
@@ -436,3 +436,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -441,3 +441,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the VS Code process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.osx', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on macOS. Set to `null` to delete the environment variable."),
type: 'object',
@@ -445,3 +445,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -450,3 +450,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.linux', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Linux. Set to `null` to delete the environment variable."),
type: 'object',
@@ -454,3 +454,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -459,3 +459,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the VS Code process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
+ markdownDescription: localize('terminal.integrated.env.windows', "Object with environment variables that will be added to the !!APP_NAME!! process to be used by the terminal on Windows. Set to `null` to delete the environment variable."),
type: 'object',
@@ -473,3 +473,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -478,3 +478,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with VS Code, instead of the one bundled with Windows."),
+ markdownDescription: localize('terminal.integrated.windowsUseConptyDll', "Whether to use the experimental conpty.dll (v1.23.251008001) shipped with !!APP_NAME!!, instead of the one bundled with Windows."),
type: 'boolean',
@@ -606,3 +606,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
@@ -617,3 +617,3 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
restricted: true,
- markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives VS Code insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
+ markdownDescription: localize('terminal.integrated.shellIntegration.enabled', "Determines whether or not shell integration is auto-injected to support features like enhanced command tracking and current working directory detection. \n\nShell integration works by injecting the shell with a startup script. The script gives !!APP_NAME!! insight into what is happening within the terminal.\n\nSupported shells:\n\n- Linux/macOS: bash, fish, pwsh, zsh\n - Windows: pwsh, git bash\n\nThis setting applies only when terminals are created, so you will need to restart your terminals for it to take effect.\n\n Note that the script injection may not work if you have custom arguments defined in the terminal profile, have enabled {1}, have a [complex bash `PROMPT_COMMAND`](https://code.visualstudio.com/docs/editor/integrated-terminal#_complex-bash-promptcommand), or other unsupported setup. To disable decorations, see {0}", '`#terminal.integrated.shellIntegration.decorationsEnabled#`', '`#editor.accessibilitySupport#`'),
type: 'boolean',
diff --git a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts b/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts
index 4979520..30ae11b 100644
index dc20533..2d2d488 100644
--- a/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts
+++ b/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts
@@ -19,3 +19,3 @@ export const terminalAutoRepliesConfiguration: IStringDictionary<IConfigurationP
@@ -1110,17 +1112,17 @@ index 0f23e5a..27f311e 100644
+ message = localize('terminal.voice.installSpeechExtension', "Would you like to install '!!APP_NAME!! Speech' extension from 'Microsoft'?");
run = () => commandService.executeCommand('workbench.extensions.installExtension', 'ms-vscode.vscode-speech');
diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts
index 55cc7d3..b2a7789 100644
index 36f7d09..e6b14db 100644
--- a/src/vs/workbench/contrib/update/browser/update.ts
+++ b/src/vs/workbench/contrib/update/browser/update.ts
@@ -621,4 +621,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
@@ -639,4 +639,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
detail: newQuality === 'insider' ?
- nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of VS Code.") :
- nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of VS Code."),
+ nls.localize('relaunchDetailInsiders', "Press the reload button to switch to the Insiders version of !!APP_NAME!!.") :
+ nls.localize('relaunchDetailStable', "Press the reload button to switch to the Stable version of !!APP_NAME!!."),
primaryButton: nls.localize({ key: 'reload', comment: ['&& denotes a mnemonic'] }, "&&Reload")
@@ -657,3 +657,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
@@ -675,3 +675,3 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
message: nls.localize('selectSyncService.message', "Choose the settings sync service to use after changing the version"),
- detail: nls.localize('selectSyncService.detail', "The Insiders version of VS Code will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."),
+ detail: nls.localize('selectSyncService.detail', "The Insiders version of !!APP_NAME!! will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."),
@@ -1140,7 +1142,7 @@ index 393c8c3..9268a6c 100644
+ content += `// By default, !!APP_NAME!! trusts "localhost".\n`;
}
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
index 2b50e71..f322981 100644
index f6e28df..86b8e78 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
@@ -52,3 +52,3 @@ registerAction2(class extends Action2 {
@@ -1332,7 +1334,7 @@ index bdd30bf..317d11c 100644
+Well if you have got this far then you will have touched on some of the editing features in !!APP_NAME!!. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try:
- Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal)
diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
index d134535..93cae5f 100644
index 1159e4c..d8ebb47 100644
--- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
+++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
@@ -765,3 +765,3 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
@@ -1346,15 +1348,15 @@ index d134535..93cae5f 100644
+ markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
tags: [WORKSPACE_TRUST_SETTING_TAG],
diff --git a/src/vs/workbench/electron-browser/desktop.contribution.ts b/src/vs/workbench/electron-browser/desktop.contribution.ts
index 5fad6f9..4edfd81 100644
index 4c3893a..9c3267a 100644
--- a/src/vs/workbench/electron-browser/desktop.contribution.ts
+++ b/src/vs/workbench/electron-browser/desktop.contribution.ts
@@ -447,3 +447,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-b
@@ -448,3 +448,3 @@ import product from '../../platform/product/common/product.js';
type: 'boolean',
- description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running VS Code as elevated on Linux and running under Applocker on Windows.")
+ description: localize('argv.disableChromiumSandbox', "Disables the Chromium sandbox. This is useful when running !!APP_NAME!! as elevated on Linux and running under Applocker on Windows.")
},
@@ -451,3 +451,3 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL } from '../../platform/window/electron-b
@@ -452,3 +452,3 @@ import product from '../../platform/product/common/product.js';
type: 'boolean',
- description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running VS Code extension tests or when you're experiencing difficulties with the credential store.")
+ description: localize('argv.useInMemorySecretStorage', "Ensures that an in-memory store will be used for secret storage instead of using the OS's credential store. This is often used when running !!APP_NAME!! extension tests or when you're experiencing difficulties with the credential store.")
@@ -1369,14 +1371,14 @@ index ea7f364..25c4fda 100644
+ const productName = localize('!!APP_NAME!! for Web', "{0} for the Web", this.productService.nameLong);
const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest);
diff --git a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
index 6704355..1d58ea0 100644
index f9d57d5..73d4c66 100644
--- a/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
+++ b/src/vs/workbench/services/extensions/common/extensionsRegistry.ts
@@ -181,3 +181,3 @@ export const schema: IJSONSchema = {
type: 'string',
- description: nls.localize('vscode.extension.engines.vscode', 'For VS Code extensions, specifies the VS Code version that the extension is compatible with. Cannot be *. For example: ^0.10.5 indicates compatibility with a minimum VS Code version of 0.10.5.'),
+ description: nls.localize('vscode.extension.engines.vscode', 'For !!APP_NAME!! extensions, specifies the !!APP_NAME!! version that the extension is compatible with. Cannot be *. For example: ^0.10.5 indicates compatibility with a minimum !!APP_NAME!! version of 0.10.5.'),
default: '^1.22.0',
- description: nls.localize('vscode.extension.engines.vscode', 'For VS Code extensions, specifies the VS Code version that the extension is compatible with. Cannot be *. For example: ^1.105.0 indicates compatibility with a minimum VS Code version of 1.105.0.'),
+ description: nls.localize('vscode.extension.engines.vscode', 'For !!APP_NAME!! extensions, specifies the !!APP_NAME!! version that the extension is compatible with. Cannot be *. For example: ^1.105.0 indicates compatibility with a minimum !!APP_NAME!! version of 1.105.0.'),
default: '^1.105.0',
@@ -187,3 +187,3 @@ export const schema: IJSONSchema = {
publisher: {
- description: nls.localize('vscode.extension.publisher', 'The publisher of the VS Code extension.'),
@@ -1436,7 +1438,7 @@ index 2b6104a..9d2dffd 100644
+ label: nls.localize('relaunch', "Relaunch !!APP_NAME!!"),
run: () => {
diff --git a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
index cc56d9a..f446b8e 100644
index 43da461..c7d4149 100644
--- a/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
+++ b/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.ts
@@ -199,3 +199,3 @@ export class UserDataProfileManagementService extends Disposable implements IUse

View File

@@ -1,29 +1,39 @@
diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
index 7b64c28..bea3a3f 100644
index 1998414..cdc533b 100644
--- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
+++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
@@ -192,3 +192,4 @@ abstract class OpenChatGlobalAction extends Action2 {
@@ -206,3 +206,4 @@ abstract class OpenChatGlobalAction extends Action2 {
ChatContextKeys.Setup.hidden.negate(),
- ChatContextKeys.Setup.disabled.negate()
+ ChatContextKeys.Setup.disabled.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate()
)
@@ -806,3 +807,3 @@ export function registerChatActions() {
@@ -1142,3 +1143,3 @@ export function registerChatActions() {
precondition: ContextKeyExpr.and(
- ChatContextKeys.Setup.installed,
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ChatContextKeys.Setup.disabled.negate(),
@@ -1232,3 +1233,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, {
@@ -1715,3 +1716,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, {
ChatContextKeys.Setup.hidden.negate(),
- ChatContextKeys.Setup.disabled.negate()
+ ChatContextKeys.Setup.disabled.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate()
)
diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
index b8c8e03..512e40f 100644
--- a/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
+++ b/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
@@ -314,3 +314,4 @@ class AttachSelectionToChatAction extends Action2 {
ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData)
- )
+ ),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
)
diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
index d211a1d..cfbcdf5 100644
index be62dda..7b5f1ed 100644
--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
+++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
@@ -969,3 +969,3 @@ configurationRegistry.registerConfiguration({
@@ -1237,3 +1237,3 @@ configurationRegistry.registerConfiguration({
description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."),
- default: false,
+ default: true,
@@ -50,44 +60,74 @@ index ddb5df4..7831288 100644
+ ChatContextKeys.extensionInvalid.negate()
+ )
};
diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
index 4a71579..f8b3e83 100644
--- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
+++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
@@ -228,2 +228,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
ChatContextKeys.Setup.untrusted,
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ChatContextKeys.Setup.installed.negate(),
@@ -346,2 +347,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
ChatContextKeys.Setup.hidden.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ChatContextKeys.Setup.installed.negate(),
@@ -518,2 +520,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
ChatContextKeys.Setup.disabled.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ChatContextKeys.Setup.installed.negate(),
diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
index 9085864..4331066 100644
index c8fc17b..fbd2afd 100644
--- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
+++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
@@ -126,3 +126,3 @@ export namespace ChatContextKeyExprs {
@@ -163,3 +163,3 @@ export namespace ChatContextKeyExprs {
export const chatSetupTriggerContext = ContextKeyExpr.or(
- ChatContextKeys.Setup.installed.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ChatContextKeys.Entitlement.canSignUp
diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
index e9b4077..b33d6f2 100644
--- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
+++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
@@ -133,3 +133,9 @@ MenuRegistry.appendMenuItem(MenuId.InlineChatEditorAffordance, {
order: 1,
- when: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasNonEmptySelection, CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate(), ChatEntitlementContextKeys.Setup.hidden.negate()),
+ when: ContextKeyExpr.and(
+ EditorContextKeys.writable,
+ EditorContextKeys.hasNonEmptySelection,
+ CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate(),
+ ChatEntitlementContextKeys.Setup.hidden.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
+ ),
command: {
diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
index 7f4dfea..5957267 100644
index 864cc4f..b877a8e 100644
--- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
+++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
@@ -540,3 +540,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
@@ -554,3 +554,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
ctorDescriptor: new SyncDescriptor(DefaultBrowseMcpServersView, [{}]),
- when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyExpr.or(ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`), ProductQualityContext.notEqualsTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`))),
+ when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyExpr.or(ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`), ProductQualityContext.notEqualsTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`))),
weight: 40,
@@ -555,3 +555,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
@@ -569,3 +569,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
ctorDescriptor: new SyncDescriptor(DefaultBrowseMcpServersView, [{ showWelcome: true }]),
- when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()),
+ when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()),
weight: 40,
diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
index c38dc40..a3e398c 100644
index 8f2ea73..429e28f 100644
--- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
+++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
@@ -704,3 +704,3 @@ registerAction2(class extends Action2 {
@@ -705,3 +705,3 @@ registerAction2(class extends Action2 {
ChatContextKeys.Setup.disabled.negate(),
- ChatContextKeys.Setup.installed.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'),
diff --git a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts
index 012d3c5..2f53955 100644
--- a/src/vs/workbench/contrib/scm/browser/scmViewPane.ts
+++ b/src/vs/workbench/contrib/scm/browser/scmViewPane.ts
@@ -1417,3 +1417,3 @@ registerAction2(class extends Action2 {
diff --git a/src/vs/workbench/contrib/scm/browser/scmInput.ts b/src/vs/workbench/contrib/scm/browser/scmInput.ts
index a35d479..da5a449 100644
--- a/src/vs/workbench/contrib/scm/browser/scmInput.ts
+++ b/src/vs/workbench/contrib/scm/browser/scmInput.ts
@@ -850,2 +850,3 @@ registerAction2(class extends Action2 {
ChatContextKeys.Setup.disabled.negate(),
- ChatContextKeys.Setup.installed.negate(),
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
ContextKeyExpr.equals('scmProvider', 'git')
ChatContextKeys.Setup.installed.negate(),

View File

@@ -1,8 +1,8 @@
diff --git a/extensions/github/package.json b/extensions/github/package.json
index 726a882..b9a4969 100644
index bce90fe..73debf7 100644
--- a/extensions/github/package.json
+++ b/extensions/github/package.json
@@ -44,19 +44,2 @@
@@ -45,19 +45,2 @@
},
- {
- "command": "github.copyVscodeDevLink",
@@ -22,7 +22,7 @@ index 726a882..b9a4969 100644
- "icon": "$(globe)"
- },
{
@@ -72,11 +55,2 @@
@@ -83,11 +66,2 @@
],
- "continueEditSession": [
- {
@@ -34,7 +34,7 @@ index 726a882..b9a4969 100644
- }
- ],
"menus": {
@@ -91,18 +65,2 @@
@@ -110,18 +84,2 @@
},
- {
- "command": "github.copyVscodeDevLink",
@@ -53,7 +53,7 @@ index 726a882..b9a4969 100644
- "when": "false"
- },
{
@@ -112,42 +70,2 @@
@@ -131,42 +89,2 @@
],
- "file/share": [
- {
@@ -97,13 +97,15 @@ index 726a882..b9a4969 100644
- ],
"scm/historyItem/context": [
diff --git a/extensions/github/src/commands.ts b/extensions/github/src/commands.ts
index 48e9574..aa853a5 100644
index 33acf5a..107e94a 100644
--- a/extensions/github/src/commands.ts
+++ b/extensions/github/src/commands.ts
@@ -9,28 +9,3 @@ import { publishRepository } from './publish.js';
@@ -9,30 +9,5 @@ import { publishRepository } from './publish.js';
import { DisposableStore, getRepositoryFromUrl } from './util.js';
-import { LinkContext, getCommitLink, getLink, getVscodeDevHost } from './links.js';
-
+import { getCommitLink } from './links.js';
import { getOctokit } from './auth.js';
-async function copyVscodeDevLink(gitAPI: GitAPI, useSelection: boolean, context: LinkContext, includeRange = true) {
- try {
- const permalink = await getLink(gitAPI, useSelection, true, getVscodeDevHost(), 'headlink', context, includeRange);
@@ -128,9 +130,9 @@ index 48e9574..aa853a5 100644
- return undefined;
- }
-}
+import { getCommitLink } from './links.js';
@@ -70,14 +45,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
-
interface ResolvedSessionRepo {
@@ -210,14 +185,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
- disposables.add(vscode.commands.registerCommand('github.copyVscodeDevLink', async (context: LinkContext) => {
- return copyVscodeDevLink(gitAPI, true, context);
@@ -145,13 +147,13 @@ index 48e9574..aa853a5 100644
- }));
-
disposables.add(vscode.commands.registerCommand('github.openOnGitHub', async (url: string, historyItemId: string) => {
@@ -113,6 +76,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
@@ -253,6 +216,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
- disposables.add(vscode.commands.registerCommand('github.openOnVscodeDev', async () => {
- return openVscodeDevLink(gitAPI);
- }));
-
return disposables;
disposables.add(vscode.commands.registerCommand('github.createPullRequest', async (sessionResource: vscode.Uri | undefined, sessionMetadata: { worktreePath?: string } | undefined) => {
diff --git a/extensions/github/src/extension.ts b/extensions/github/src/extension.ts
index 17906c5..86a0ca8 100644
--- a/extensions/github/src/extension.ts
@@ -165,7 +167,7 @@ index 17906c5..86a0ca8 100644
- disposables.add(new VscodeDevShareProvider(gitAPI));
setGitHubContext(gitAPI, disposables);
diff --git a/extensions/github/src/remoteSourceProvider.ts b/extensions/github/src/remoteSourceProvider.ts
index 291a3f1..6304ed8 100644
index bed2bb1..2880f97 100644
--- a/extensions/github/src/remoteSourceProvider.ts
+++ b/extensions/github/src/remoteSourceProvider.ts
@@ -10,3 +10,3 @@ import { Octokit } from '@octokit/rest';
@@ -173,7 +175,7 @@ index 291a3f1..6304ed8 100644
-import { getBranchLink, getVscodeDevHost } from './links.js';
+import { getBranchLink } from './links.js';
@@ -129,9 +129,2 @@ export class GithubRemoteSourceProvider implements RemoteSourceProvider {
@@ -137,9 +137,2 @@ export class GithubRemoteSourceProvider implements RemoteSourceProvider {
}
- }, {
- label: l10n.t('Checkout on vscode.dev'),

View File

@@ -1,11 +0,0 @@
--- vscode-1.80.1/extensions/mangle-loader.js.old 2023-07-12 18:45:52.000000000 +0200
+++ vscode-1.80.1/extensions/mangle-loader.js 2023-07-28 11:55:01.177444702 +0200
@@ -37,7 +37,7 @@ function getMangledFileContents(projectP
* @type {webpack.LoaderDefinitionFunction}
*/
module.exports = async function (source, sourceMap, meta) {
- if (this.mode !== 'production') {
+ if (true) {
// Only enable mangling in production builds
return source;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,107 @@
diff --git a/build/.moduleignore b/build/.moduleignore
index ed36151..022d6ed 100644
--- a/build/.moduleignore
+++ b/build/.moduleignore
@@ -82,7 +82,7 @@ native-is-elevated/deps/**
-@vscode/vsce-sign/**
-!@vscode/vsce-sign/src/main.d.ts
-!@vscode/vsce-sign/src/main.js
-!@vscode/vsce-sign/package.json
-!@vscode/vsce-sign/bin/**
+@vscodium/vsce-sign/**
+!@vscodium/vsce-sign/src/main.d.ts
+!@vscodium/vsce-sign/src/main.js
+!@vscodium/vsce-sign/package.json
+!@vscodium/vsce-sign/bin/**
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index 187726c..076f08b 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -449,3 +449,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
'**/*.wasm',
- '**/@vscode/vsce-sign/bin/*',
+ '**/@vscodium/vsce-sign/bin/*',
], [
diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts
index 24462a3..ecb43fd 100644
index aacf25c..c4b0391 100644
--- a/build/lib/extensions.ts
+++ b/build/lib/extensions.ts
@@ -94,3 +94,3 @@ function fromLocal(extensionPath: string, forWeb: boolean, disableMangle: boolea
function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, disableMangle: boolean): Stream {
- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce');
+ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce');
const webpack = require('webpack');
@@ -208,3 +208,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string,
@@ -116,3 +116,3 @@ export function typeCheckExtensionStream(extensionPath: string, forWeb: boolean)
function fromLocalNormal(extensionPath: string): Stream {
- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce');
+ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce');
const result = es.through();
@@ -138,3 +138,3 @@ function fromLocalNormal(extensionPath: string): Stream {
function fromLocalEsbuild(extensionPath: string, esbuildConfigFileName: string): Stream {
- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce');
+ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce');
const result = es.through();
diff --git a/build/package-lock.json b/build/package-lock.json
index fe9be0c..9747dca 100644
index 644e16f..fac5de0 100644
--- a/build/package-lock.json
+++ b/build/package-lock.json
@@ -51,3 +51,3 @@
"@vscode/ripgrep": "^1.15.13",
"@vscode/ripgrep": "^1.17.1",
- "@vscode/vsce": "3.6.1",
+ "@vscodium/vsce": "3.6.1-258428",
"ansi-colors": "^3.2.3",
@@ -1944,6 +1944,6 @@
@@ -1941,6 +1941,45 @@
},
- "node_modules/@vscode/vsce": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.6.1.tgz",
- "integrity": "sha512-UXtMgeCBl/t5zjn1TX1v1sl5L/oIv3Xc3pkKPGzaqeFCIkp5+wfFFDBXTWDt3d5uUulHnZKORHkMIsKNe9+k5A==",
+ "node_modules/@vscode/vsce/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "extraneous": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@vscode/vsce/node_modules/brace-expansion": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
+ "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "extraneous": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": {
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "extraneous": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@vscodium/vsce": {
+ "version": "3.6.1-258428",
+ "resolved": "https://registry.npmjs.org/@vscodium/vsce/-/vsce-3.6.1-258428.tgz",
+ "integrity": "sha512-B2uys5YU5MGNmzQPHsMsRXxzlQvZanhxE8Sfkd4Sr/LBN9BaV5yhMCppV7jyLUOQajj9K3YZThLqUYm4CCBy3A==",
"dev": true,
@@ -1956,3 +1956,2 @@
@@ -1953,3 +1992,2 @@
"@secretlint/secretlint-rule-preset-recommend": "^10.1.2",
- "@vscode/vsce-sign": "^2.0.0",
"azure-devops-node-api": "^12.5.0",
@@ -1991,148 +1990,3 @@
@@ -1988,148 +2026,3 @@
},
- "node_modules/@vscode/vsce-sign": {
- "version": "2.0.7",
@@ -186,42 +251,52 @@ index fe9be0c..9747dca 100644
- "node_modules/@vscode/vsce/node_modules/ansi-styles": {
+ "node_modules/@vscodium/vsce/node_modules/ansi-styles": {
"version": "4.3.0",
@@ -2152,3 +2006,3 @@
@@ -2149,3 +2042,3 @@
},
- "node_modules/@vscode/vsce/node_modules/balanced-match": {
+ "node_modules/@vscodium/vsce/node_modules/balanced-match": {
"version": "4.0.4",
@@ -2159,3 +2052,3 @@
},
- "node_modules/@vscode/vsce/node_modules/brace-expansion": {
+ "node_modules/@vscodium/vsce/node_modules/brace-expansion": {
"version": "5.0.4",
@@ -2172,3 +2065,3 @@
},
- "node_modules/@vscode/vsce/node_modules/chalk": {
+ "node_modules/@vscodium/vsce/node_modules/chalk": {
"version": "4.1.2",
@@ -2169,3 +2023,3 @@
@@ -2189,3 +2082,3 @@
},
- "node_modules/@vscode/vsce/node_modules/color-convert": {
+ "node_modules/@vscodium/vsce/node_modules/color-convert": {
"version": "2.0.1",
@@ -2182,3 +2036,3 @@
@@ -2202,3 +2095,3 @@
},
- "node_modules/@vscode/vsce/node_modules/color-name": {
+ "node_modules/@vscodium/vsce/node_modules/color-name": {
"version": "1.1.4",
@@ -2189,3 +2043,3 @@
@@ -2209,3 +2102,3 @@
},
- "node_modules/@vscode/vsce/node_modules/glob": {
+ "node_modules/@vscodium/vsce/node_modules/glob": {
"version": "11.1.0",
@@ -2213,3 +2067,3 @@
@@ -2233,3 +2126,3 @@
},
- "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": {
+ "node_modules/@vscodium/vsce/node_modules/glob/node_modules/minimatch": {
"version": "10.1.1",
@@ -2229,3 +2083,3 @@
"version": "10.2.4",
@@ -2249,3 +2142,3 @@
},
- "node_modules/@vscode/vsce/node_modules/has-flag": {
+ "node_modules/@vscodium/vsce/node_modules/has-flag": {
"version": "4.0.0",
@@ -2239,3 +2093,3 @@
@@ -2259,3 +2152,3 @@
},
- "node_modules/@vscode/vsce/node_modules/jsonc-parser": {
+ "node_modules/@vscodium/vsce/node_modules/jsonc-parser": {
"version": "3.3.1",
@@ -2243,9 +2097,11 @@
@@ -2263,9 +2156,11 @@
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
- "dev": true
+ "dev": true,
@@ -238,12 +313,12 @@ index fe9be0c..9747dca 100644
"dev": true,
+ "license": "ISC",
"bin": {
@@ -2257,3 +2113,3 @@
@@ -2277,3 +2172,3 @@
},
- "node_modules/@vscode/vsce/node_modules/supports-color": {
+ "node_modules/@vscodium/vsce/node_modules/supports-color": {
"version": "7.2.0",
@@ -2270,12 +2126,2 @@
@@ -2290,12 +2185,2 @@
},
- "node_modules/@vscode/vsce/node_modules/yazl": {
- "version": "2.5.1",
@@ -256,7 +331,7 @@ index fe9be0c..9747dca 100644
- }
- },
"node_modules/@xmldom/xmldom": {
@@ -6955,2 +6801,12 @@
@@ -7001,2 +6886,12 @@
},
+ "node_modules/yazl": {
+ "version": "2.5.1",
@@ -270,11 +345,20 @@ index fe9be0c..9747dca 100644
+ },
"node_modules/yocto-queue": {
diff --git a/build/package.json b/build/package.json
index 39db6b7..55beb4a 100644
index 8a65120..a36d5c4 100644
--- a/build/package.json
+++ b/build/package.json
@@ -45,3 +45,3 @@
"@vscode/ripgrep": "^1.15.13",
"@vscode/ripgrep": "^1.17.1",
- "@vscode/vsce": "3.6.1",
+ "@vscodium/vsce": "3.6.1-258428",
"ansi-colors": "^3.2.3",
diff --git a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
index 98535c5..cc37d7b 100644
--- a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
@@ -69,3 +69,3 @@ export class ExtensionSignatureVerificationService implements IExtensionSignatur
private async resolveVsceSign(): Promise<typeof vsceSign> {
- const mod = '@vscode/vsce-sign';
+ const mod = '@vscodium/vsce-sign';
return import(mod);

View File

@@ -1,14 +1,14 @@
diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
index 594412f..52de11c 100644
index 6414a46..0bdc5a2 100644
--- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
+++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
@@ -1814,3 +1814,3 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
@@ -1944,3 +1944,3 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
- const context = await this.requestService.request({
+ const requestOptions: IRequestOptions = {
type: 'GET',
@@ -1818,3 +1818,9 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
timeout: this.getRequestTimeout()
@@ -1949,3 +1949,9 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
callSite: 'extensionGalleryService.getExtensionsControlManifest'
- }, CancellationToken.None);
+ };
+

View File

@@ -1,8 +1,8 @@
diff --git a/.npmrc b/.npmrc
index 50d910c..472b622 100644
index a275846..87f881f 100644
--- a/.npmrc
+++ b/.npmrc
@@ -5,2 +5,3 @@ runtime="electron"
@@ -6,2 +6,3 @@ ignore-scripts=false
build_from_source="true"
+build_from_source_native_keymap="no"
legacy-peer-deps="true"
@@ -24,27 +24,27 @@ index ed36151..5b040cc 100644
+!@vscodium/native-keymap/build/Release/*.node
diff --git a/eslint.config.js b/eslint.config.js
index 47eeebf..f8077c2 100644
index 73f062a..f008259 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -1465,3 +1465,3 @@ export default tseslint.config(
@@ -1481,3 +1481,3 @@ export default tseslint.config(
'node:module',
- 'native-keymap',
+ '@vscodium/native-keymap',
'net',
diff --git a/package-lock.json b/package-lock.json
index 801e87b..a991591 100644
index bc72a21..ae566c1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -32,2 +32,3 @@
"@vscode/windows-registry": "^1.1.0",
"@vscode/windows-registry": "^1.2.0",
+ "@vscodium/native-keymap": "3.3.7-258424",
"@xterm/addon-clipboard": "^0.3.0-beta.109",
"@xterm/addon-clipboard": "^0.3.0-beta.191",
@@ -49,3 +50,2 @@
"native-is-elevated": "0.9.0",
- "native-keymap": "^3.3.5",
"node-pty": "^1.2.0-beta.10",
@@ -3674,2 +3674,9 @@
@@ -4862,2 +4862,9 @@
},
+ "node_modules/@vscodium/native-keymap": {
+ "version": "3.3.7-258424",
@@ -53,8 +53,8 @@ index 801e87b..a991591 100644
+ "hasInstallScript": true,
+ "license": "MIT"
+ },
"node_modules/@webassemblyjs/ast": {
@@ -12741,5 +12748,6 @@
"node_modules/@wdio/config": {
@@ -15159,5 +15166,6 @@
"node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
@@ -64,7 +64,7 @@ index 801e87b..a991591 100644
+ "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
+ "license": "MIT"
},
@@ -12752,9 +12760,2 @@
@@ -15170,9 +15178,2 @@
},
- "node_modules/native-keymap": {
- "version": "3.3.9",
@@ -74,7 +74,7 @@ index 801e87b..a991591 100644
- "license": "MIT"
- },
"node_modules/natural-compare": {
@@ -14142,5 +14143,6 @@
@@ -16693,5 +16694,6 @@
"node_modules/prebuild-install": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz",
@@ -84,16 +84,16 @@ index 801e87b..a991591 100644
+ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
+ "license": "MIT",
"dependencies": {
@@ -14151,3 +14153,3 @@
@@ -16702,3 +16704,3 @@
"mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
+ "napi-build-utils": "^2.0.0",
"node-abi": "^3.3.0",
diff --git a/package.json b/package.json
index efeaec1..b2a6703 100644
index d727d5a..54d14ad 100644
--- a/package.json
+++ b/package.json
@@ -111,3 +111,3 @@
@@ -119,3 +119,3 @@
"native-is-elevated": "0.9.0",
- "native-keymap": "^3.3.5",
+ "@vscodium/native-keymap": "3.3.7-258424",

View File

@@ -1,3 +1,5 @@
# Fix: Replace @vscode/policy-watcher with @vscodium/policy-watcher
# Documentation: docs/patches.md#fix-policies
diff --git a/build/.moduleignore b/build/.moduleignore
index 5b040cc..8d5fd71 100644
--- a/build/.moduleignore
@@ -21,28 +23,71 @@ index 5b040cc..8d5fd71 100644
+@vscodium/policy-watcher/index.d.ts
+!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node
diff --git a/build/lib/policies/basePolicy.ts b/build/lib/policies/basePolicy.ts
index 7f650ba..db927cb 100644
--- a/build/lib/policies/basePolicy.ts
+++ b/build/lib/policies/basePolicy.ts
@@ -38,3 +38,3 @@ export abstract class BasePolicy implements Policy {
return [
- `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\Microsoft\\${regKey}" presentation="$(presentation.${this.name})">`,
+ `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\!!ORG_NAME!!\\${regKey}" presentation="$(presentation.${this.name})">`,
` <parentCategory ref="${this.category.name.nlsKey}" />`,
diff --git a/build/lib/policies/render.ts b/build/lib/policies/render.ts
index 47b485d..8437fd4 100644
--- a/build/lib/policies/render.ts
+++ b/build/lib/policies/render.ts
@@ -49,3 +49,3 @@ export function renderADMX(regKey: string, versions: string[], categories: Categ
<policyNamespaces>
- <target prefix="${regKey}" namespace="Microsoft.Policies.${regKey}" />
+ <target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
</policyNamespaces>
@@ -167,3 +167,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
<key>pfm_default</key>
- <string>Microsoft</string>
+ <string>!!ORG_NAME!!</string>
<key>pfm_name</key>
@@ -185,3 +185,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
<key>pfm_app_url</key>
- <string>https://code.visualstudio.com/</string>
+ <string>https://github.com/VSCodium/vscodium</string>
<key>pfm_description</key>
@@ -189,3 +189,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
<key>pfm_documentation_url</key>
- <string>https://code.visualstudio.com/docs/setup/enterprise</string>
+ <string>https://github.com/VSCodium/vscodium</string>
<key>pfm_domain</key>
@@ -255,3 +255,3 @@ ${policyEntries}
<key>PayloadDescription</key>
- <string>This profile manages ${appName}. For more information see https://code.visualstudio.com/docs/setup/enterprise</string>
+ <string>This profile manages ${appName}. For more information see https://github.com/VSCodium/vscodium</string>
<key>PayloadDisplayName</key>
@@ -261,3 +261,3 @@ ${policyEntries}
<key>PayloadOrganization</key>
- <string>Microsoft</string>
+ <string>!!ORG_NAME!!</string>
<key>PayloadType</key>
diff --git a/eslint.config.js b/eslint.config.js
index f8077c2..182d6ce 100644
index f008259..f87fda1 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -1448,3 +1448,3 @@ export default tseslint.config(
@@ -1464,3 +1464,3 @@ export default tseslint.config(
'@vscode/native-watchdog',
- '@vscode/policy-watcher',
+ '@vscodium/policy-watcher',
'@vscode/proxy-agent',
diff --git a/package-lock.json b/package-lock.json
index a991591..fb05fad 100644
index ae566c1..3b3a5dd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,3 +21,2 @@
"@vscode/native-watchdog": "^1.4.6",
- "@vscode/policy-watcher": "^1.3.2",
"@vscode/proxy-agent": "^0.37.0",
"@vscode/proxy-agent": "^0.39.1",
@@ -33,2 +32,3 @@
"@vscodium/native-keymap": "3.3.7-258424",
+ "@vscodium/policy-watcher": "^1.3.2-252465",
"@xterm/addon-clipboard": "^0.3.0-beta.109",
@@ -3345,22 +3345,2 @@
"@xterm/addon-clipboard": "^0.3.0-beta.191",
@@ -4538,22 +4538,2 @@
},
- "node_modules/@vscode/policy-watcher": {
- "version": "1.3.7",
@@ -65,12 +110,12 @@ index a991591..fb05fad 100644
- }
- },
"node_modules/@vscode/proxy-agent": {
@@ -3681,2 +3661,22 @@
@@ -4869,2 +4849,22 @@
},
+ "node_modules/@vscodium/policy-watcher": {
+ "version": "1.3.2-252465",
+ "resolved": "https://registry.npmjs.org/@vscodium/policy-watcher/-/policy-watcher-1.3.2-252465.tgz",
+ "integrity": "sha512-kpnb656HMteBIm8d9LhBpQ5gL2A/4rJrsaLCF0D8IWyrZAQ0UR9EzXM6tZ6p5H+KWot3QUjm0Gry6vMV1yye5Q==",
+ "version": "1.3.2-255408",
+ "resolved": "https://registry.npmjs.org/@vscodium/policy-watcher/-/policy-watcher-1.3.2-255408.tgz",
+ "integrity": "sha512-0KERmB+VkSz9hvFWEDGalCpxQ9+qjLaUazXMBkzWQ9SjKPaD6zU9u6wA4/OUu816JnvCFEeJYEe9WcDZPnKQ1w==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
@@ -79,24 +124,24 @@ index a991591..fb05fad 100644
+ }
+ },
+ "node_modules/@vscodium/policy-watcher/node_modules/node-addon-api": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz",
+ "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==",
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.6.0.tgz",
+ "integrity": "sha512-gBVjCaqDlRUk0EwoPNKzIr9KkS9041G/q31IBShPs1Xz6UTA+EXdZADbzqAJQrpDRq71CIMnOP5VMut3SL0z5Q==",
+ "license": "MIT",
+ "engines": {
+ "node": "^18 || ^20 || >= 21"
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"node_modules/@wdio/config": {
diff --git a/package.json b/package.json
index b2a6703..3d03e9a 100644
index 54d14ad..47778c2 100644
--- a/package.json
+++ b/package.json
@@ -83,3 +83,3 @@
@@ -91,3 +91,3 @@
"@vscode/native-watchdog": "^1.4.6",
- "@vscode/policy-watcher": "^1.3.2",
+ "@vscodium/policy-watcher": "^1.3.2-252465",
"@vscode/proxy-agent": "^0.37.0",
"@vscode/proxy-agent": "^0.39.1",
diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt
index ee0a24b..881ce36 100644
--- a/src/vs/base/test/node/uri.perf.data.txt
@@ -210,7 +255,7 @@ index ca6cea2..32b22fe 100644
+ assert.ok(typeof watcher.createWatcher === 'function', testErrorMessage('@vscodium/policy-watcher'));
});
diff --git a/src/vs/platform/policy/node/nativePolicyService.ts b/src/vs/platform/policy/node/nativePolicyService.ts
index 5b08cd9..728d7bd 100644
index feb4ba1..4d9e0c3 100644
--- a/src/vs/platform/policy/node/nativePolicyService.ts
+++ b/src/vs/platform/policy/node/nativePolicyService.ts
@@ -8,3 +8,3 @@ import { IStringDictionary } from '../../../base/common/collections.js';

View File

@@ -1,35 +1,25 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 514edcd..9aa6920 100644
index 7434345..f870f59 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -26,3 +26,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
@@ -29,6 +29,6 @@
"[typescript]": {
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
@@ -30,3 +30,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
"[javascript]": {
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
@@ -34,3 +34,3 @@
@@ -36,3 +36,3 @@
"editor.defaultFormatter": "rust-lang.rust-analyzer",
- "editor.formatOnSave": true,
+ // "editor.formatOnSave": true,
},
@@ -41,4 +41,4 @@
@@ -42,4 +42,4 @@
// --- Files ---
- "files.trimTrailingWhitespace": true,
- "files.insertFinalNewline": true,
+ // "files.trimTrailingWhitespace": true,
+ // "files.insertFinalNewline": true,
"files.exclude": {
@@ -51,5 +51,5 @@
"build/**/*.js.map": true,
- "build/**/*.js": {
- "when": "$(basename).ts"
- }
+ // "build/**/*.js": {
+ // "when": "$(basename).ts"
+ // }
},

View File

@@ -13,10 +13,10 @@ index f0d5fe6..fdb3707 100755
+ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
fi
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
index 2714933..36396dc 100644
index 8e7f6bb..0874203 100644
--- a/build/gulpfile.reh.ts
+++ b/build/gulpfile.reh.ts
@@ -235,9 +235,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi
@@ -239,9 +239,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi
case 'linux':
- return (product.nodejsRepository !== 'https://nodejs.org' ?
- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) :
@@ -48,10 +48,10 @@ index 2714933..36396dc 100644
+ }
case 'alpine':
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index 358bb3a..2cc6d9a 100644
index 25a3600..c9402f3 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -372,2 +372,12 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
@@ -516,4 +516,15 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
+ const electronOverride: { repo?: string; tag?: string } = {};
+ if (process.env.VSCODE_ELECTRON_REPOSITORY) {
@@ -63,12 +63,10 @@ index 358bb3a..2cc6d9a 100644
+ electronOverride.tag = process.env.VSCODE_ELECTRON_TAG;
+ }
+
let result: NodeJS.ReadWriteStream = all
@@ -376,3 +386,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
.pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523
- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
.pipe(filter(['**', '!LICENSE', '!version'], { dot: true }));
const electronConfig = {
...config,
+ ...electronOverride,
platform,
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 46c257d..78bfb66 100644
--- a/build/linux/debian/dep-lists.ts
@@ -79,7 +77,7 @@ index 46c257d..78bfb66 100644
+ ],
};
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 2cab657..0d9dc55 100644
index 0dfc69a..7b6ac8b 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -82,3 +82,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)

View File

@@ -1,5 +1,5 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index 2c98e50..6ff90d4 100755
index fdb3707..67bc741 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
@@ -18,7 +18,7 @@ index 2c98e50..6ff90d4 100755
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/usr/lib/powerpc64le-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/powerpc64le-linux-gnu/powerpc64le-linux-gnu/sysroot/lib/powerpc64le-linux-gnu"
fi
diff --git a/build/azure-pipelines/linux/verify-glibc-requirements.sh b/build/azure-pipelines/linux/verify-glibc-requirements.sh
index 3db9047..1418fee 100755
index 5294177..1e33aeb 100755
--- a/build/azure-pipelines/linux/verify-glibc-requirements.sh
+++ b/build/azure-pipelines/linux/verify-glibc-requirements.sh
@@ -9,2 +9,4 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then
@@ -27,17 +27,18 @@ index 3db9047..1418fee 100755
+ TRIPLE="powerpc64le-linux-gnu"
fi
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
index 5744a5f..3fedbe9 100644
index 847383e..04962e7 100644
--- a/build/checksums/vscode-sysroot.txt
+++ b/build/checksums/vscode-sysroot.txt
@@ -7 +7,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux-
84acc5a15566c98ddf80631731d672e0ce9febcf3f2e969101e0dfd7ef2405e3 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
@@ -7 +7,3 @@ ac4b6b14b4cec027a22a51bbbb049b3504958a78106c8a8d5cec144206b767d1 x86_64-linux-g
1ebb6ef1fe2983269fd0855a88f9c9a37f9b515d16524a9146198e4cabdf34f7 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
+fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
+bdab0a372cf5bfdc154226cc5ed72d417096c725085d193509d1f12e0debec66 powerpc64le-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
index 6c21dd2..f986b4e 100644
index 904130f..42888f0 100644
--- a/build/gulpfile.reh.ts
+++ b/build/gulpfile.reh.ts
@@ -52,2 +52,3 @@ const BUILD_TARGETS = [
@@ -56,2 +56,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
{ platform: 'alpine', arch: 'arm64' },
@@ -66,10 +67,10 @@ index c5d2163..da4fc1f 100644
+ { arch: 'ppc64le' },
];
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index d5efbdb..1d7e9d5 100644
index 5e373f6..4e1fcf6 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -517,2 +517,3 @@ const BUILD_TARGETS = [
@@ -702,2 +702,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
];
@@ -88,7 +89,7 @@ index 98a9630..6c6bbf5 100644
+ break;
}
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 34ecdf1..73d451f 100644
index 78bfb66..5acd3a0 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -142,2 +142,41 @@ export const referenceGeneratedDepsByArch = {
@@ -134,12 +135,13 @@ index 34ecdf1..73d451f 100644
+ ],
};
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 0d9dc55..3086928 100644
index 7b6ac8b..ef7dd2b 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
@@ -158,2 +158,7 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
break;
+ case 'ppc64le':
+ case 'ppc64el':
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
+ triple = `powerpc64le-linux-gnu`;
+ break;
@@ -158,10 +160,10 @@ index e97485e..c56d067 100644
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index 783923f..fba6ee4 100644
index 0424c8d..c7e0820 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -316,2 +316,102 @@ export const referenceGeneratedDepsByArch = {
@@ -318,2 +318,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "ppc64le": [
@@ -277,6 +279,19 @@ index c6a01da..3f3c3f5 100644
- return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
}
diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts
index dd53ff4..ca427d9 100644
--- a/build/npm/preinstall.ts
+++ b/build/npm/preinstall.ts
@@ -149,3 +149,7 @@ function installHeaders() {
} catch (error) {
- throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`);
+ if (process.env['VSCODE_ARCH'] === 'ppc64le') {
+ console.log('Ignoring patch error for ppc64le architecture');
+ } else {
+ throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`);
+ }
}
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index 3b7ef5c..ec97760 100644
--- a/cli/src/update_service.rs
@@ -303,7 +318,7 @@ index 3b7ef5c..ec97760 100644
+ Platform::LinuxPPC64LE => "LinuxPPC64LE",
Platform::DarwinX64 => "DarwinX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index 44c8597..679aacb 100644
index 44c8597..205c274 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -82,2 +82,4 @@ impl PreReqChecker {
@@ -311,6 +326,11 @@ index 44c8597..679aacb 100644
+ } else if cfg!(target_arch = "powerpc64") {
+ Platform::LinuxPPC64LE
} else {
@@ -207,2 +209,4 @@ async fn check_glibcxx_version() -> Result<bool, String> {
const DEFAULT_LIB_PATH: &str = "/usr/lib64/libstdc++.so.6";
+ #[cfg(target_arch = "powerpc64")]
+ const DEFAULT_LIB_PATH: &str = "/usr/lib64/libstdc++.so.6";
#[cfg(any(target_arch = "x86", target_arch = "arm"))]
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
index 8ea4c0b..94028e3 100644
--- a/resources/server/bin/helpers/check-requirements-linux.sh
@@ -320,7 +340,7 @@ index 8ea4c0b..94028e3 100644
+ ppc64le) LDCONFIG_ARCH="64bit";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 34eaca0..a754ff3 100644
index ab11f6b..fd1ec31 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -48,2 +48,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
@@ -338,10 +358,10 @@ index 34eaca0..a754ff3 100644
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index 8961b90..b605be0 100644
index 3e5b309..0fbbb67 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -331,2 +331,3 @@ export const enum TargetPlatform {
@@ -343,2 +343,3 @@ export const enum TargetPlatform {
LINUX_ARMHF = 'linux-armhf',
+ LINUX_PPC64LE = 'linux-ppc64le',

View File

@@ -1,5 +1,5 @@
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
index 6ff90d4..381150d 100755
index 67bc741..4f0521b 100755
--- a/build/azure-pipelines/linux/setup-env.sh
+++ b/build/azure-pipelines/linux/setup-env.sh
@@ -88,2 +88,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then
@@ -18,17 +18,17 @@ index 6ff90d4..381150d 100755
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
fi
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
index 3fedbe9..3c4e291 100644
index dd159f8..8e8cbe9 100644
--- a/build/checksums/vscode-sysroot.txt
+++ b/build/checksums/vscode-sysroot.txt
@@ -8 +8,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux-
fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
@@ -8 +8,2 @@ ac4b6b14b4cec027a22a51bbbb049b3504958a78106c8a8d5cec144206b767d1 x86_64-linux-g
bdab0a372cf5bfdc154226cc5ed72d417096c725085d193509d1f12e0debec66 powerpc64le-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
+7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
index af8403a..a697f8c 100644
index e6ff02c..65f7efe 100644
--- a/build/gulpfile.reh.ts
+++ b/build/gulpfile.reh.ts
@@ -55,2 +55,3 @@ const BUILD_TARGETS = [
@@ -59,2 +59,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
{ platform: 'alpine', arch: 'arm64' },
@@ -57,10 +57,10 @@ index e146586..ca18865 100644
+ { arch: 's390x' },
];
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index d5f3ed8..ac87a54 100644
index e1e5265..295a755 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -520,2 +520,3 @@ const BUILD_TARGETS = [
@@ -705,2 +705,3 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'loong64' },
+ { platform: 'linux', arch: 's390x' },
];
@@ -78,7 +78,7 @@ index 5ee005e..71fb92e 100644
+ break;
}
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 7ea5910..9498993 100644
index 0e28f90..6e81b12 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -221,2 +221,42 @@ export const referenceGeneratedDepsByArch = {
@@ -125,10 +125,10 @@ index 7ea5910..9498993 100644
+ ],
};
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
index 6e5246c..89fac34 100644
index aece9b9..52a25ce 100644
--- a/build/linux/debian/install-sysroot.ts
+++ b/build/linux/debian/install-sysroot.ts
@@ -166,2 +166,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
@@ -167,2 +167,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
break;
+ case 's390x':
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
@@ -149,10 +149,10 @@ index 5d63ed2..5f793e2 100644
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64', 's390x'].includes(s);
}
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index fba6ee4..33efc80 100644
index c7e0820..03528c0 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -416,2 +416,102 @@ export const referenceGeneratedDepsByArch = {
@@ -418,2 +418,102 @@ export const referenceGeneratedDepsByArch = {
'xdg-utils'
+ ],
+ "s390x": [
@@ -277,7 +277,7 @@ index dc9faac..9078cc9 100644
+ s390x) LDCONFIG_ARCH="64bit";;
esac
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index 7162d83..f6bb8fd 100644
index 9a67e9d..aeb7dc0 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -51,2 +51,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
@@ -295,10 +295,10 @@ index 7162d83..f6bb8fd 100644
+ }
return TargetPlatform.UNKNOWN;
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index f93e0ca..c4cc8c9 100644
index 7b11edb..b8a6193 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -334,2 +334,3 @@ export const enum TargetPlatform {
@@ -346,2 +346,3 @@ export const enum TargetPlatform {
LINUX_LOONG64 = 'linux-loong64',
+ LINUX_S390X = 'linux-s390x',

View File

@@ -18,14 +18,14 @@ index 874c802..04731cf 100644
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
// Add the main executable.
diff --git a/build/package-lock.json b/build/package-lock.json
index 1a544ba..78337cd 100644
index b78c4c8..58ee897 100644
--- a/build/package-lock.json
+++ b/build/package-lock.json
@@ -17,3 +17,2 @@
"@electron/get": "^2.0.0",
- "@electron/osx-sign": "^2.0.0",
"@types/ansi-colors": "^3.2.0",
@@ -107,5 +106,5 @@
@@ -106,5 +105,5 @@
"node_modules/@azure/core-auth": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz",
@@ -34,19 +34,19 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.1.tgz",
+ "integrity": "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg==",
"dev": true,
@@ -113,4 +112,4 @@
@@ -112,4 +111,4 @@
"dependencies": {
- "@azure/abort-controller": "^2.0.0",
- "@azure/core-util": "^1.11.0",
+ "@azure/abort-controller": "^2.1.2",
+ "@azure/core-util": "^1.13.0",
"tslib": "^2.6.2"
@@ -118,3 +117,3 @@
@@ -117,3 +116,3 @@
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
@@ -237,5 +236,5 @@
@@ -236,5 +235,5 @@
"node_modules/@azure/core-rest-pipeline": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.18.0.tgz",
@@ -55,7 +55,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz",
+ "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==",
"dev": true,
@@ -243,9 +242,8 @@
@@ -242,9 +241,8 @@
"dependencies": {
- "@azure/abort-controller": "^2.0.0",
- "@azure/core-auth": "^1.8.0",
@@ -71,12 +71,12 @@ index 1a544ba..78337cd 100644
+ "@azure/logger": "^1.3.0",
+ "@typespec/ts-http-runtime": "^0.3.0",
"tslib": "^2.6.2"
@@ -253,3 +251,3 @@
@@ -252,3 +250,3 @@
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
@@ -270,5 +268,5 @@
@@ -269,5 +267,5 @@
"node_modules/@azure/core-tracing": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz",
@@ -85,12 +85,12 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz",
+ "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==",
"dev": true,
@@ -279,3 +277,3 @@
@@ -278,3 +276,3 @@
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
@@ -283,5 +281,5 @@
@@ -282,5 +280,5 @@
"node_modules/@azure/core-util": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz",
@@ -99,18 +99,18 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.1.tgz",
+ "integrity": "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A==",
"dev": true,
@@ -289,3 +287,4 @@
@@ -288,3 +286,4 @@
"dependencies": {
- "@azure/abort-controller": "^2.0.0",
+ "@azure/abort-controller": "^2.1.2",
+ "@typespec/ts-http-runtime": "^0.3.0",
"tslib": "^2.6.2"
@@ -293,3 +292,3 @@
@@ -292,3 +291,3 @@
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
@@ -372,11 +371,13 @@
@@ -371,11 +370,13 @@
"node_modules/@azure/logger": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.1.tgz",
@@ -129,7 +129,7 @@ index 1a544ba..78337cd 100644
- "node": ">=8.0.0"
+ "node": ">=20.0.0"
}
@@ -483,5 +484,5 @@
@@ -482,5 +483,5 @@
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
@@ -138,7 +138,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"dev": true,
@@ -766,50 +767,2 @@
@@ -539,50 +540,2 @@
},
- "node_modules/@electron/osx-sign": {
- "version": "2.0.0",
@@ -188,8 +188,8 @@ index 1a544ba..78337cd 100644
- "node": ">=10"
- }
- },
"node_modules/@electron/rebuild": {
@@ -2029,5 +1982,5 @@
"node_modules/@esbuild/aix-ppc64": {
@@ -1367,5 +1320,5 @@
"node_modules/@textlint/ast-node-types": {
- "version": "15.2.2",
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz",
@@ -198,7 +198,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.4.1.tgz",
+ "integrity": "sha512-XifMpBMdo0E1Fuh85YdcYAgy+okNg9WKBzIPIO4JUDnSWUVFihnogrM4cjDapeHkgzSgulwR8oJVJ17eyxI1bA==",
"dev": true,
@@ -2036,5 +1989,5 @@
@@ -1374,5 +1327,5 @@
"node_modules/@textlint/linter-formatter": {
- "version": "15.2.2",
- "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz",
@@ -207,7 +207,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.4.1.tgz",
+ "integrity": "sha512-kAV7Sup3vwvqxKvBbf9lx/JaPHkRybQp/LLvA73U1AorPZE6XyfBAFG24BbMiCs4OX1ax4g7kXRuFPgMLWRf+g==",
"dev": true,
@@ -2044,8 +1997,8 @@
@@ -1382,8 +1335,8 @@
"@azu/style-format": "^1.0.1",
- "@textlint/module-interop": "15.2.2",
- "@textlint/resolver": "15.2.2",
@@ -221,7 +221,7 @@ index 1a544ba..78337cd 100644
+ "debug": "^4.4.3",
+ "js-yaml": "^4.1.0",
"lodash": "^4.17.21",
@@ -2121,2 +2074,9 @@
@@ -1459,2 +1412,9 @@
},
+ "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": {
+ "version": "8.0.0",
@@ -231,7 +231,7 @@ index 1a544ba..78337cd 100644
+ "license": "MIT"
+ },
"node_modules/@textlint/linter-formatter/node_modules/has-flag": {
@@ -2138,2 +2098,17 @@
@@ -1476,2 +1436,17 @@
},
+ "node_modules/@textlint/linter-formatter/node_modules/string-width": {
+ "version": "4.2.3",
@@ -249,7 +249,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/@textlint/linter-formatter/node_modules/strip-ansi": {
@@ -2165,5 +2140,5 @@
@@ -1503,5 +1478,5 @@
"node_modules/@textlint/module-interop": {
- "version": "15.2.2",
- "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz",
@@ -258,7 +258,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.4.1.tgz",
+ "integrity": "sha512-jHtM2E5CR68P3z/+FGrEU5pml2fQVzEo2sez9FEjrVHSPCrHtqHcPaKfsYbQJjc9C48ObwaWrCzRNaL3KedNCQ==",
"dev": true,
@@ -2172,5 +2147,5 @@
@@ -1510,5 +1485,5 @@
"node_modules/@textlint/resolver": {
- "version": "15.2.2",
- "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz",
@@ -267,7 +267,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.4.1.tgz",
+ "integrity": "sha512-uVssyG3XXXKNY+O7NOajGvQZTyOuhPviwlq7Xek6ZT9K1eDQtA8074cPkAQoLMYhi/TUyOE5P5kpz42UF8Lmdw==",
"dev": true,
@@ -2179,5 +2154,5 @@
@@ -1517,5 +1492,5 @@
"node_modules/@textlint/types": {
- "version": "15.2.2",
- "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz",
@@ -276,12 +276,12 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.4.1.tgz",
+ "integrity": "sha512-WByVZ3zblbvuI+voWQplUP7seSTKXI9z6TMVXEB3dY3JFrZCIXWKNfLbETX5lZV7fYkCMaDtILO1l6s11wdbQA==",
"dev": true,
@@ -2185,3 +2160,3 @@
@@ -1523,3 +1498,3 @@
"dependencies": {
- "@textlint/ast-node-types": "15.2.2"
+ "@textlint/ast-node-types": "15.4.1"
}
@@ -2279,12 +2254,2 @@
@@ -1617,12 +1592,2 @@
},
- "node_modules/@types/graceful-fs": {
- "version": "4.1.9",
@@ -294,23 +294,7 @@ index 1a544ba..78337cd 100644
- }
- },
"node_modules/@types/gulp": {
@@ -2429,2 +2394,3 @@
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -2594,2 +2560,3 @@
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -2606,2 +2573,3 @@
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -2621,2 +2589,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -2626,2 +2595,17 @@
@@ -1944,2 +1909,17 @@
},
+ "node_modules/@typespec/ts-http-runtime": {
+ "version": "0.3.2",
@@ -328,11 +312,11 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/@vscode/iconv-lite-umd": {
@@ -2952,2 +2936,3 @@
@@ -2270,2 +2250,3 @@
"dev": true,
+ "license": "ISC",
"bin": {
@@ -3056,5 +3041,5 @@
@@ -2347,5 +2328,5 @@
"node_modules/ansi-escapes": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz",
@@ -341,7 +325,11 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz",
+ "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==",
"dev": true,
@@ -3336,17 +3321,7 @@
@@ -2392,2 +2373,3 @@
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -2422,17 +2404,7 @@
"node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
@@ -363,31 +351,25 @@ index 1a544ba..78337cd 100644
- "license": "BSD-3-Clause"
+ "license": "Python-2.0"
},
@@ -3477,3 +3452,4 @@
}
- ]
+ ],
+ "license": "BSD-2-Clause"
},
@@ -3509,2 +3485,3 @@
@@ -2480,2 +2452,3 @@
"dev": true,
+ "license": "ISC",
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -3519,3 +3496,4 @@
@@ -2564,2 +2537,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -2575,3 +2549,4 @@
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
@@ -3526,2 +3504,3 @@
"dev": true,
+ "license": "ISC",
"optional": true
@@ -3782,2 +3761,3 @@
@@ -2677,2 +2652,3 @@
"dev": true,
+ "license": "MIT",
"engines": {
@@ -3980,6 +3960,7 @@
"dependencies": {
@@ -2736,6 +2712,7 @@
"node_modules/cheerio": {
- "version": "1.0.0-rc.12",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
@@ -398,7 +380,7 @@ index 1a544ba..78337cd 100644
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -3988,9 +3969,13 @@
@@ -2744,9 +2721,13 @@
"domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "htmlparser2": "^8.0.1",
@@ -417,107 +399,7 @@ index 1a544ba..78337cd 100644
- "node": ">= 6"
+ "node": ">=20.18.1"
},
@@ -4043,2 +4028,3 @@
"dev": true,
+ "license": "MIT",
"optional": true
@@ -4112,2 +4098,13 @@
},
+ "node_modules/cli-truncate/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cli-truncate/node_modules/ansi-styles": {
@@ -4151,2 +4148,10 @@
},
+ "node_modules/cli-truncate/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/cli-truncate/node_modules/slice-ansi": {
@@ -4167,2 +4172,32 @@
},
+ "node_modules/cli-truncate/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-truncate/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cliui": {
@@ -4228,2 +4263,24 @@
},
+ "node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cliui/node_modules/strip-ansi": {
@@ -4282,2 +4339,3 @@
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -4372,3 +4430,3 @@
"engines": {
- "node": ">=18"
+ "node": ">=20"
}
@@ -4428,2 +4486,3 @@
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -4440,6 +4499,7 @@
@@ -2961,6 +2942,7 @@
"node_modules/css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
@@ -528,19 +410,13 @@ index 1a544ba..78337cd 100644
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
@@ -4501,2 +4561,3 @@
"dev": true,
+ "license": "(MIT OR WTFPL)",
"optional": true,
@@ -4552,2 +4613,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -4584,2 +4646,3 @@
"dev": true,
+ "license": "ISC",
"optional": true
@@ -4766,6 +4829,7 @@
@@ -3119,3 +3101,4 @@
}
- ]
+ ],
+ "license": "BSD-2-Clause"
},
@@ -3137,6 +3120,7 @@
"node_modules/domutils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
@@ -551,12 +427,12 @@ index 1a544ba..78337cd 100644
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -4773,3 +4837,3 @@
@@ -3144,3 +3128,3 @@
"domelementtype": "^2.3.0",
- "domhandler": "^5.0.1"
+ "domhandler": "^5.0.3"
},
@@ -5029,5 +5093,5 @@
@@ -3211,5 +3195,5 @@
"node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -565,7 +441,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true,
@@ -5046,2 +5110,16 @@
@@ -3217,2 +3201,16 @@
},
+ "node_modules/encoding-sniffer": {
+ "version": "0.2.1",
@@ -582,7 +458,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/end-of-stream": {
@@ -5056,6 +5134,7 @@
@@ -3227,6 +3225,7 @@
"node_modules/entities": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
@@ -593,11 +469,7 @@ index 1a544ba..78337cd 100644
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
@@ -5150,2 +5229,3 @@
"dev": true,
+ "license": "MIT",
"optional": true
@@ -5213,16 +5293,2 @@
@@ -3367,16 +3366,2 @@
},
- "node_modules/esprima": {
- "version": "4.0.1",
@@ -614,40 +486,19 @@ index 1a544ba..78337cd 100644
- }
- },
"node_modules/events": {
@@ -5241,2 +5307,3 @@
"dev": true,
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"optional": true,
@@ -5271,2 +5338,3 @@
@@ -3418,2 +3403,3 @@
"dev": true,
+ "license": "ISC",
"dependencies": {
@@ -5515,5 +5583,5 @@
"node_modules/form-data": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
- "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
@@ -3617,2 +3603,3 @@
"dev": true,
@@ -5536,2 +5604,3 @@
"dev": true,
+ "license": "MIT",
+ "license": "ISC",
"optional": true
@@ -5576,2 +5645,3 @@
"hasInstallScript": true,
+ "license": "MIT",
"optional": true,
@@ -5703,2 +5773,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -5866,2 +5937,3 @@
@@ -3924,2 +3911,3 @@
"dev": true,
+ "license": "MIT",
"engines": {
@@ -5925,5 +5997,5 @@
@@ -3983,5 +3971,5 @@
"node_modules/htmlparser2": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
@@ -656,7 +507,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz",
+ "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==",
"dev": true,
@@ -5936,7 +6008,21 @@
@@ -3994,7 +3982,21 @@
],
+ "license": "MIT",
"dependencies": {
@@ -681,7 +532,23 @@ index 1a544ba..78337cd 100644
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
@@ -6070,5 +6156,5 @@
@@ -4048,2 +4050,15 @@
},
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/ieee754": {
@@ -4080,5 +4095,5 @@
"node_modules/index-to-position": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz",
@@ -690,11 +557,11 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz",
+ "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==",
"dev": true,
@@ -6088,2 +6174,3 @@
@@ -4114,2 +4129,3 @@
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -6359,5 +6446,5 @@
"optional": true
@@ -4288,5 +4304,5 @@
"node_modules/js-yaml": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
@@ -703,13 +570,25 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true,
@@ -6365,4 +6452,3 @@
@@ -4294,4 +4310,3 @@
"dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "argparse": "^2.0.1"
},
@@ -6725,9 +6811,2 @@
@@ -4360,2 +4375,3 @@
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
@@ -4438,2 +4454,3 @@
"hasInstallScript": true,
+ "license": "MIT",
"optional": true,
@@ -4449,2 +4466,3 @@
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -4531,9 +4549,2 @@
},
- "node_modules/markdown-it/node_modules/argparse": {
- "version": "2.0.1",
@@ -719,7 +598,19 @@ index 1a544ba..78337cd 100644
- "license": "Python-2.0"
- },
"node_modules/matcher": {
@@ -7047,6 +7126,7 @@
@@ -4543,2 +4554,3 @@
"dev": true,
+ "license": "(MIT OR WTFPL)",
"optional": true,
@@ -4556,2 +4568,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -4693,2 +4706,3 @@
"dev": true,
+ "license": "ISC",
"optional": true
@@ -4709,6 +4723,7 @@
"node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
@@ -730,7 +621,11 @@ index 1a544ba..78337cd 100644
"dev": true,
+ "license": "MIT",
"optional": true
@@ -7205,5 +7285,5 @@
@@ -4755,2 +4770,3 @@
"dev": true,
+ "license": "MIT",
"optional": true
@@ -4770,5 +4786,5 @@
"node_modules/node-sarif-builder": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz",
@@ -739,7 +634,12 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.3.1.tgz",
+ "integrity": "sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==",
"dev": true,
@@ -7308,5 +7388,5 @@
@@ -4780,3 +4796,3 @@
"engines": {
- "node": ">=18"
+ "node": ">=20"
}
@@ -4857,5 +4873,5 @@
"node_modules/normalize-package-data/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -748,7 +648,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true,
@@ -7575,5 +7655,5 @@
@@ -4985,5 +5001,5 @@
"node_modules/p-map": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
@@ -757,7 +657,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
"dev": true,
@@ -7653,8 +7733,9 @@
@@ -5063,8 +5079,9 @@
"node_modules/parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
@@ -771,7 +671,7 @@ index 1a544ba..78337cd 100644
- "entities": "^4.4.0"
+ "entities": "^6.0.0"
},
@@ -7665,8 +7746,22 @@
@@ -5075,8 +5092,22 @@
"node_modules/parse5-htmlparser2-tree-adapter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
@@ -798,7 +698,7 @@ index 1a544ba..78337cd 100644
"dependencies": {
- "domhandler": "^5.0.2",
"parse5": "^7.0.0"
@@ -7677,2 +7772,15 @@
@@ -5087,2 +5118,15 @@
},
+ "node_modules/parse5/node_modules/entities": {
+ "version": "6.0.1",
@@ -814,7 +714,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/path-is-absolute": {
@@ -7696,5 +7804,5 @@
@@ -5106,5 +5150,5 @@
"node_modules/path-scurry": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
@@ -823,23 +723,20 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
"dev": true,
@@ -7838,6 +7946,7 @@
"node_modules/prebuild-install": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
+ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
@@ -5237,2 +5281,3 @@
"dev": true,
+ "license": "MIT",
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"optional": true,
@@ -7849,3 +7958,3 @@
@@ -5244,3 +5289,3 @@
"mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
+ "napi-build-utils": "^2.0.0",
"node-abi": "^3.3.0",
@@ -8024,22 +8133,2 @@
@@ -5292,2 +5337,3 @@
"dev": true,
+ "license": "ISC",
"dependencies": {
@@ -5385,22 +5431,2 @@
},
- "node_modules/rc-config-loader/node_modules/argparse": {
- "version": "2.0.1",
@@ -862,7 +759,15 @@ index 1a544ba..78337cd 100644
- }
- },
"node_modules/read": {
@@ -8320,6 +8409,7 @@
@@ -5591,7 +5617,15 @@
},
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -874,15 +779,27 @@ index 1a544ba..78337cd 100644
+ "dev": true,
+ "license": "ISC"
},
@@ -8517,2 +8607,3 @@
@@ -5642,2 +5676,3 @@
"dev": true,
+ "license": "MIT",
"optional": true
@@ -5649,2 +5684,3 @@
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -5789,2 +5825,3 @@
],
+ "license": "BSD-3-Clause",
"optional": true
@@ -8538,2 +8629,3 @@
@@ -5810,2 +5847,3 @@
],
+ "license": "MIT",
"optional": true,
@@ -8771,5 +8863,5 @@
@@ -5889,2 +5927,3 @@
"dev": true,
+ "license": "MIT",
"engines": {
@@ -5968,5 +6007,5 @@
"node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -891,7 +808,7 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
@@ -8793,31 +8885,11 @@
@@ -5990,31 +6029,11 @@
"dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
@@ -929,7 +846,7 @@ index 1a544ba..78337cd 100644
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
@@ -8834,2 +8906,9 @@
@@ -6031,2 +6050,9 @@
},
+ "node_modules/string-width/node_modules/emoji-regex": {
+ "version": "8.0.0",
@@ -939,14 +856,18 @@ index 1a544ba..78337cd 100644
+ "license": "MIT"
+ },
"node_modules/string-width/node_modules/strip-ansi": {
@@ -8927,4 +9006,5 @@
@@ -6124,4 +6150,5 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"dev": true,
+ "license": "MIT",
"optional": true,
@@ -9042,2 +9122,24 @@
@@ -6159,2 +6186,3 @@
"dev": true,
+ "license": "MIT",
"dependencies": {
@@ -6245,2 +6273,24 @@
},
+ "node_modules/table/node_modules/emoji-regex": {
+ "version": "8.0.0",
@@ -971,7 +892,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/table/node_modules/strip-ansi": {
@@ -9310,5 +9412,5 @@
@@ -6376,5 +6426,5 @@
"node_modules/tmp": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz",
@@ -980,26 +901,14 @@ index 1a544ba..78337cd 100644
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
+ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
"dev": true,
@@ -9435,6 +9537,7 @@
"node_modules/tslib": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
- "dev": true
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD"
},
@@ -9453,4 +9556,5 @@
@@ -6500,4 +6550,5 @@
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dev": true,
+ "license": "Apache-2.0",
"optional": true,
@@ -9502,2 +9606,12 @@
@@ -6549,2 +6600,12 @@
},
+ "node_modules/undici": {
+ "version": "7.16.0",
@@ -1012,13 +921,13 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/undici-types": {
@@ -9577,3 +9691,4 @@
@@ -6588,3 +6649,4 @@
"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
@@ -9790,2 +9905,25 @@
@@ -6768,2 +6830,25 @@
},
+ "node_modules/whatwg-encoding": {
+ "version": "3.1.1",
@@ -1044,7 +953,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/which": {
@@ -9894,2 +10032,24 @@
@@ -6872,2 +6957,24 @@
},
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
@@ -1069,7 +978,7 @@ index 1a544ba..78337cd 100644
+ }
+ },
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
@@ -9920,27 +10080,2 @@
@@ -6898,27 +7005,2 @@
},
- "node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "9.2.2",
@@ -1097,13 +1006,13 @@ index 1a544ba..78337cd 100644
- }
- },
"node_modules/wrappy": {
@@ -10036,2 +10171,47 @@
@@ -6975,2 +7057,47 @@
},
+ "node_modules/yargs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "extraneous": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
@@ -1113,14 +1022,14 @@ index 1a544ba..78337cd 100644
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "extraneous": true,
+ "license": "MIT"
+ },
+ "node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "extraneous": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
@@ -1135,7 +1044,7 @@ index 1a544ba..78337cd 100644
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "extraneous": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
@@ -1146,7 +1055,7 @@ index 1a544ba..78337cd 100644
+ },
"node_modules/yauzl": {
diff --git a/build/package.json b/build/package.json
index e45161d..30ba3c3 100644
index 785f04f..e523427 100644
--- a/build/package.json
+++ b/build/package.json
@@ -11,3 +11,2 @@

View File

@@ -1,14 +1,15 @@
diff --git a/build/npm/postinstall.ts b/build/npm/postinstall.ts
index c4bbbf5..2a1c6c5 100644
index ae2651c..3bc46fa 100644
--- a/build/npm/postinstall.ts
+++ b/build/npm/postinstall.ts
@@ -52,5 +52,6 @@ function npmInstall(dir: string, opts?: child_process.SpawnSyncOptions) {
opts.cwd = root;
@@ -74,5 +74,7 @@ async function npmInstallAsync(dir: string, opts?: child_process.SpawnOptions):
- if (process.env['npm_config_arch'] === 'arm64') {
- run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
- run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], syncOpts);
- }
+ const emulateArchList = ['arm64', 'arm', 'ppc64', 'riscv64', 's390x', 'loong64'];
+ if (process.env['DISABLE_QEMU'] !== 'true' && !!process.env['npm_config_arch'] && emulateArchList.includes(process.env['npm_config_arch'])) {
+ run('sudo', ['docker', 'run', '--rm', '--privileged', 'tonistiigi/binfmt:latest', '--install', 'all'], opts);
+ run('sudo', ['docker', 'run', '--rm', '--privileged', 'tonistiigi/binfmt:latest', '--install', 'all'], syncOpts);
+ }
+
run('sudo', [

View File

@@ -1,8 +1,8 @@
diff --git a/package-lock.json b/package-lock.json
index fd395eb..f56bc78 100644
index bc72a21..a875c97 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18274,6 +18274,7 @@
@@ -20630,6 +20630,7 @@
"node_modules/web-tree-sitter": {
- "version": "0.20.8",
- "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz",
@@ -15,12 +15,12 @@ index fd395eb..f56bc78 100644
+ "license": "MIT"
},
diff --git a/package.json b/package.json
index eb0abcc..40b107a 100644
index d727d5a..ce7ba11 100644
--- a/package.json
+++ b/package.json
@@ -226,2 +226,5 @@
"node-addon-api": "7.1.0"
+ },
@@ -231,2 +231,5 @@
"overrides": {
+ "@vscode/l10n-dev@0.0.35": {
+ "web-tree-sitter": "0.23.0"
}
+ },
"node-gyp-build": "4.8.1",

View File

@@ -1,21 +1,59 @@
diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts
index 24462a3..1daa855 100644
--- a/build/lib/extensions.ts
+++ b/build/lib/extensions.ts
@@ -33,4 +33,5 @@ const require = createRequire(import.meta.url);
const root = path.dirname(path.dirname(import.meta.dirname));
+const product = JSON.parse(fs.readFileSync(path.join(root, 'product.json'), 'utf8'));
const commit = getVersion(root);
diff --git a/build/gulpfile.extensions.ts b/build/gulpfile.extensions.ts
index e013781..3caf586 100644
--- a/build/gulpfile.extensions.ts
+++ b/build/gulpfile.extensions.ts
@@ -26,2 +26,3 @@ import * as util from './lib/util.ts';
import watcher from './lib/watch/index.ts';
+import product from '../product.json' with { type: 'json' };
@@ -100,3 +101,3 @@ const compilations = [
-const getBaseUrl = (out: string) => `https://main.vscode-cdn.net/sourcemaps/${commit}/${out}`;
+const getBaseUrl = (out: string) => `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/extensions-${out.replaceAll('/', '-')}`;
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
index 0ad08ab..78f17b8 100644
--- a/build/gulpfile.reh.ts
+++ b/build/gulpfile.reh.ts
@@ -494,3 +494,3 @@ function tweakProductForServerWeb(product: typeof import('../product.json')) {
util.rimraf(`out-vscode-${type}-min`),
- optimize.minifyTask(`out-vscode-${type}`, `https://main.vscode-cdn.net/sourcemaps/${commit}/core`)
+ optimize.minifyTask(`out-vscode-${type}`, `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/core`)
));
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
index 187726c..4854af5 100644
--- a/build/gulpfile.vscode.ts
+++ b/build/gulpfile.vscode.ts
@@ -238,3 +238,3 @@ function runTsGoTypeCheck(): Promise<void> {
-const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
+const sourceMappingURLBase = `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}`;
const isCI = !!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY'] || !!process.env['GITHUB_WORKSPACE'];
diff --git a/build/gulpfile.vscode.web.ts b/build/gulpfile.vscode.web.ts
index 3e6b29a..f031b99 100644
--- a/build/gulpfile.vscode.web.ts
+++ b/build/gulpfile.vscode.web.ts
@@ -164,3 +164,3 @@ const minifyVSCodeWebTask = task.define('minify-vscode-web-OLD', task.series(
util.rimraf('out-vscode-web-min'),
- optimize.minifyTask('out-vscode-web', `https://main.vscode-cdn.net/sourcemaps/${commit}/core`)
+ optimize.minifyTask('out-vscode-web', `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}/core`)
));
@@ -169,3 +169,3 @@ gulp.task(minifyVSCodeWebTask);
// esbuild-based tasks (new)
-const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
+const sourceMappingURLBase = `https://github.com/VSCodium/sourcemaps/releases/download/${product.quality}-${commit}`;
const esbuildBundleVSCodeWebTask = task.define('esbuild-vscode-web', () => runEsbuildBundle('out-vscode-web', false, true));
diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts
index aacf25c..a62f2a7 100644
--- a/build/lib/extensions.ts
+++ b/build/lib/extensions.ts
@@ -32,4 +32,2 @@ const require = createRequire(import.meta.url);
const root = path.dirname(path.dirname(import.meta.dirname));
-// const commit = getVersion(root);
-// const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
@@ -181,3 +182,3 @@ function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string,
data.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, function (_m, g1) {
- return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions/${path.basename(extensionPath)}/${relativeOutputPath}/${g1}`;
+ return `\n//# sourceMappingURL=${sourceMappingURLBase}/extensions-${path.basename(extensionPath).replaceAll('/', '-')}-${relativeOutputPath.replaceAll('/', '-')}-${g1.replaceAll('/', '-')}`;
}), 'utf8');
diff --git a/build/lib/optimize.ts b/build/lib/optimize.ts
index 58b8e07..f452614 100644
index f5e812e..f9a4adc 100644
--- a/build/lib/optimize.ts
+++ b/build/lib/optimize.ts
@@ -229,3 +229,3 @@ export function bundleTask(opts: IBundleTaskOpts): () => NodeJS.ReadWriteStream
@@ -24,10 +62,10 @@ index 58b8e07..f452614 100644
+ const sourceMappingURL = sourceMapBaseUrl ? ((f: any) => `${sourceMapBaseUrl}-${f.relative.replaceAll('/', '-')}.map`) : undefined;
const target = getBuildTarget();
diff --git a/build/lib/util.ts b/build/lib/util.ts
index f1354b8..dda8c37 100644
index 4203e6e..a01fb78 100644
--- a/build/lib/util.ts
+++ b/build/lib/util.ts
@@ -285,4 +285,4 @@ export function rewriteSourceMappingURL(sourceMappingURLBase: string): NodeJS.Re
@@ -287,4 +287,4 @@ export function rewriteSourceMappingURL(sourceMappingURLBase: string): NodeJS.Re
const contents = (f.contents as Buffer).toString('utf8');
- const str = `//# sourceMappingURL=${sourceMappingURLBase}/${path.dirname(f.relative).replace(/\\/g, '/')}/$1`;
- f.contents = Buffer.from(contents.replace(/\n\/\/# sourceMappingURL=(.*)$/gm, str));

View File

@@ -0,0 +1,203 @@
diff --git a/.npmrc b/.npmrc
index a275846..e31402c 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,3 +1,3 @@
disturl="https://electronjs.org/headers"
-target="39.8.0"
+target="39.8.4"
ms_build_id="13470701"
diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt
index 5d8343f..1fd0e54 100644
--- a/build/checksums/electron.txt
+++ b/build/checksums/electron.txt
@@ -1,75 +1,75 @@
-d70954386008ad2c65d9849bb89955ab3c7dd08763256ae0d91d8604e8894d64 *chromedriver-v39.8.0-darwin-arm64.zip
-2f6b654337133c13440aafdaf9e8b15f5ebb244e7d49f20977f03438e9bb8adb *chromedriver-v39.8.0-darwin-x64.zip
-ef8681bb6b6af42cdf0e14c9ce188f035e01620781308c06cd3c6b922aaea2e6 *chromedriver-v39.8.0-linux-arm64.zip
-c03fea6ac2b743d771407dc5f58809f44d2a885b1830b847957823cac2e7b222 *chromedriver-v39.8.0-linux-armv7l.zip
-4bb7c6d9b3a7bfdd89edd0db98e63599ebf6dacdb888d5985bbb73f6153acc0c *chromedriver-v39.8.0-linux-x64.zip
-aad1f6f970b5636d637c1c242766fbaa5bebe2707a605a38aadc7b40724b3d11 *chromedriver-v39.8.0-mas-arm64.zip
-e89ebebe3a135d3ce40168152a0aabfd055b9fa6b118262a6df18405fd2ea433 *chromedriver-v39.8.0-mas-x64.zip
-232e1a0460f6a59056499cccfff3265bf92eae22f20f02f2419e5e49552aaed7 *chromedriver-v39.8.0-win32-arm64.zip
-ab92f46cc55da7c719175b50203c734781828389b8b3a1a535204bf0dc7d1296 *chromedriver-v39.8.0-win32-ia32.zip
-a40eb521063e4ea6791ed4005815fa8ac259c1febc850246a83a47ce120121ce *chromedriver-v39.8.0-win32-x64.zip
-d6a33b4c3c0de845ea23d1e2614c6c6d3bbe35b771bb63ae521c4db11373b021 *electron-api.json
-5425323fdb23167870075e944ec6cf3ae383fbe45ad141d08b1d9689030ccd05 *electron-v39.8.0-darwin-arm64-dsym-snapshot.zip
-aa32ab00ee58d8827cd53ca561b8c26b7cb7e2ad8cb0801acdda117ee728388e *electron-v39.8.0-darwin-arm64-dsym.zip
-f94e589804a3394a4735543b888927be873f8f402899d0debe32a9dc570d6285 *electron-v39.8.0-darwin-arm64-symbols.zip
-681d82c2ec6677ff0bf12f5bb1808b5a51dcbf10894bd0298641015119a3e04d *electron-v39.8.0-darwin-arm64.zip
-a95e83b5cde762a37e64229e5669b0c19b95aac148689d96ca344535109eb983 *electron-v39.8.0-darwin-x64-dsym-snapshot.zip
-8c989d8ca835ecdd93d49d9627f5548272c0ed03e263392b21ed287960b29e41 *electron-v39.8.0-darwin-x64-dsym.zip
-b4b6fda9c5b9063a104318645aa29ef4738dd099da2b722e3e9b6dde5e098418 *electron-v39.8.0-darwin-x64-symbols.zip
-ec53f2ba79498410323bb96a19ce98741bf28666cc9d83e07d11dadcc5506f38 *electron-v39.8.0-darwin-x64.zip
-9141e64f9d4ea7f0e6a43ae364c8232a0dac79ecec44de2d4a0e5d688fbb742c *electron-v39.8.0-linux-arm64-debug.zip
-5fac949d5331abaff0643dbcda7cc187e548cd4bf9d198c1ffc361383bfaa79f *electron-v39.8.0-linux-arm64-symbols.zip
-c9db883fa671237fbc16256cf89aba55b9fcfbd9825fec32a6d57724a6446fe1 *electron-v39.8.0-linux-arm64.zip
-b26ac10e84f6b7d338c13a38547aa66b5e9afbe2f1355b183ebc2ff8f428cfa9 *electron-v39.8.0-linux-armv7l-debug.zip
-16c47c008a8783f6c8d6387fe01ea15425161befbf4211e4667bbdd6bb806ef0 *electron-v39.8.0-linux-armv7l-symbols.zip
-b1b37fd450a5081a876c2b00b6ca007d454747a7d1d8f04feb16119d6ace94c6 *electron-v39.8.0-linux-armv7l.zip
-1e8039cdf60b27785771c9e3f3c4c39fad37602bb0e6b75a30f83c57fdbef069 *electron-v39.8.0-linux-x64-debug.zip
-ff9ca169c6e79649dd4c5a49a82a8d4b1761b62fbe14c15c61bf534381a9f653 *electron-v39.8.0-linux-x64-symbols.zip
-854076cc4c63d6d6c320df1ca3f4bd7084ef9f9bb47c7b75d80feb2c2ed920b4 *electron-v39.8.0-linux-x64.zip
-91bc313cbd009435552d8d5efff5d6ed0ff15465743c2629dac1cfe99ac34e4d *electron-v39.8.0-mas-arm64-dsym-snapshot.zip
-974f10f80ec6c65f8d9f2ac1ccd8c4395bb34e24e2b09dc0ff80bd351099692e *electron-v39.8.0-mas-arm64-dsym.zip
-b3878bc9198cff324b7c829ce2fbea7a4ee505f2f99b0bb3c11ac5e60651be59 *electron-v39.8.0-mas-arm64-symbols.zip
-48dac99c757a850b0db7b38c1b95e08270f690a7ea1b58872e45308c2f7c8c93 *electron-v39.8.0-mas-arm64.zip
-1a6e4df1092f89ed46833938d6dd1b3036640037bd09f0630a369ae386a7c872 *electron-v39.8.0-mas-x64-dsym-snapshot.zip
-81425eb867527341af64c00726bd462957fec4d5f073922df891d830addbc5bc *electron-v39.8.0-mas-x64-dsym.zip
-748ce154e894a27b117b46354cc288dc9442fade844c637b59fe1c1f3f7c625d *electron-v39.8.0-mas-x64-symbols.zip
-91f8f7d4eb1a42ac4fa0eaa93034c8e6155ccb50718f9f55541ce2be4a4ed6d0 *electron-v39.8.0-mas-x64.zip
-b775b7584afb84e52b0a770e1e63a2f17384b66eeebe845e0c5c82beacaf7e93 *electron-v39.8.0-win32-arm64-pdb.zip
-ac62373d11ed682b4fcdae27de2bd72ebf7d46d3b569f5fcf242de01786d0948 *electron-v39.8.0-win32-arm64-symbols.zip
-b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.0-win32-arm64-toolchain-profile.zip
-08b79fa5deabbcace447f1e15eb99b3b117b42a84b71ad5b0f52d2da68a34192 *electron-v39.8.0-win32-arm64.zip
-f4fb798d76a0c2f80717ef1607571537dbbb07f1cc5f177048bcfd17046c2255 *electron-v39.8.0-win32-ia32-pdb.zip
-37c1d2988793604294724b648589fca6459472021189abab1550d5e1eecff1a7 *electron-v39.8.0-win32-ia32-symbols.zip
-b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.0-win32-ia32-toolchain-profile.zip
-59b70a12abedb550795614bc74c5803787e824da3529a631fdb5c2b5aad00196 *electron-v39.8.0-win32-ia32.zip
-0357c6fb0d7198c45cba0e8c939473ea1d971e1efe801bc84e2c559141b368e7 *electron-v39.8.0-win32-x64-pdb.zip
-8e6f4e8516d15aecde5244beac315067c13513c7074383086523eef2638a5e8d *electron-v39.8.0-win32-x64-symbols.zip
-b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.0-win32-x64-toolchain-profile.zip
-9edc111b22aee1a0efb5103d6d3b48645af57b48214eeb48f75f9edfc3e271d6 *electron-v39.8.0-win32-x64.zip
-b6eca0e05fcff2464382278dff52367f6f21eb1a580dd8a0a954fc16397ab085 *electron.d.ts
-27cf8e375bc22ceea6b3d42132f2927ea544edac2b8b2c5dc3c10b5df8dfb027 *ffmpeg-v39.8.0-darwin-arm64.zip
-321d9c07f74c6cf77027ec07d888fb7b634d6589207e3c9e016c43e277ca9944 *ffmpeg-v39.8.0-darwin-x64.zip
-52ae6eccbdb4a9403a6c3eb46b356a28940ec25958b6b9181fb2f38e612e40ed *ffmpeg-v39.8.0-linux-arm64.zip
-622cb781fb1e3b9617e7e60c36384427f7b0d9b5ad888e9bc356a83b050e13f1 *ffmpeg-v39.8.0-linux-armv7l.zip
-ba441851788008362f013bf2983b22b0042af8df31bf90123328f928cc067492 *ffmpeg-v39.8.0-linux-x64.zip
-27cf8e375bc22ceea6b3d42132f2927ea544edac2b8b2c5dc3c10b5df8dfb027 *ffmpeg-v39.8.0-mas-arm64.zip
-321d9c07f74c6cf77027ec07d888fb7b634d6589207e3c9e016c43e277ca9944 *ffmpeg-v39.8.0-mas-x64.zip
-3ba7c7507181e0d4836f70f3d8800b4e9ba379e1086e9e89fda7ff9b3b9ad2cb *ffmpeg-v39.8.0-win32-arm64.zip
-f37e7d51b8403e2ed8ca192bc6ae759cf63d80010e747b15eeb7120b575578b2 *ffmpeg-v39.8.0-win32-ia32.zip
-b252e232438010f9683e8fd10c3bf0631df78e42a6ae11d6cb7aa7e6ac11185f *ffmpeg-v39.8.0-win32-x64.zip
-365735192f58a7f7660100227ec348ba3df604415ff5264b54d93cb6cf5f6f6f *hunspell_dictionaries.zip
-6384ee31daa39de4dd4bd3aa225cdb14cdddb7f463a2c1663b38a79e122a13e2 *libcxx-objects-v39.8.0-linux-arm64.zip
-9748b3272e52a8274fe651def2d6ae2dad7a3771b520dd105f46f4020ba9d63b *libcxx-objects-v39.8.0-linux-armv7l.zip
-74d47a155ecc6c2054418c7c3e0540f32b983ebdc65e8b4ea5d3e257d29b3f4f *libcxx-objects-v39.8.0-linux-x64.zip
-c0755fbb84011664bd36459fc6e06a603078dccd3b7b260f6ed6ad1d409f79f7 *libcxx_headers.zip
-3ea41e9bd56e8f52ab8562c1406ba9416abe3993640935e981cbbd77c0f2654b *libcxxabi_headers.zip
-befcd6067f35d911a6a87b927e79dc531cb7bea39e85f86a65e9ab82ef0cece1 *mksnapshot-v39.8.0-darwin-arm64.zip
-f0e692655298ffed60630c3e6490ced69e9d8726e85bcaecfa34485f3a991469 *mksnapshot-v39.8.0-darwin-x64.zip
-d5d0901cd1eafdf921d2a0d1565829cf60f454a71ce74fa60db98780fd8a1a96 *mksnapshot-v39.8.0-linux-arm64-x64.zip
-1bc0a3294d258a59846aa5c5359cd8b0f43831ebd7c3e1dde9a6cfaa39d845bf *mksnapshot-v39.8.0-linux-armv7l-x64.zip
-4e414dbe75f460cb34508608db984aa6f4d274f333fa327a3d631da4a516da8f *mksnapshot-v39.8.0-linux-x64.zip
-c51c86e3a11ad75fb4f7559798f6d64ec7def19583c96ce08de7ee5796568841 *mksnapshot-v39.8.0-mas-arm64.zip
-6544d1e93adea1e9a694f9b9f539d96f84df647d9c9319b29d4fc88751ff9075 *mksnapshot-v39.8.0-mas-x64.zip
-372b4685c53f19ccc72c33d78c1283d9389c72f42cd48224439fe4f89199caa0 *mksnapshot-v39.8.0-win32-arm64-x64.zip
-199e9244f4522a4a02aece09a6a33887b24d7ec837640d39c930170e4b3caa57 *mksnapshot-v39.8.0-win32-ia32.zip
-970e979e7a8b70f300f7854cb571756d9049bc42b44a6153a9ce3a18e1a83243 *mksnapshot-v39.8.0-win32-x64.zip
+1e91e08b27242bfa38e3321eac27a76b4527b5240d9b7fa55b34b27272c7d20d *chromedriver-v39.8.4-darwin-arm64.zip
+e6036542dea19cf60b0d1ae6b7be1cdfb741363f7af8243720566363a9d04a23 *chromedriver-v39.8.4-darwin-x64.zip
+464e5f0c7ae0dcf4817436d6289bcee5cd655e7da96debf8e4723a10f2545362 *chromedriver-v39.8.4-linux-arm64.zip
+2be3059d746a33bf3e4c0cf89131401294ef270e152a0e567ffb279a77cd3bba *chromedriver-v39.8.4-linux-armv7l.zip
+dfce0407bf9304f1df3f053e305d8c7660ab7ac2b6f4b81bedab343d16bcc48d *chromedriver-v39.8.4-linux-x64.zip
+28c4f1b14580fc2a0b35cb9a9b29e8742e117311df8843c1ba31439249b368c3 *chromedriver-v39.8.4-mas-arm64.zip
+381581e0ba9ca49682d39b7cdf05d5f3c2c477c2db7878738103051bffb02c5d *chromedriver-v39.8.4-mas-x64.zip
+22c4c9e1fdbb80b02bfca06de84407ff4fae79072f192b4e4c9260ccd2d55ded *chromedriver-v39.8.4-win32-arm64.zip
+d2771daa0fdd9375b6b82b8fbdc61781fba3ab3aa104a57d0e4a5262b8aa7baa *chromedriver-v39.8.4-win32-ia32.zip
+984738998aa9f5947f11446386d5c26dc5836de5869be4a11a8db6c1a21a9801 *chromedriver-v39.8.4-win32-x64.zip
+21469b4c0fba6ff2470f3ca046c4fedaa0e7169de6849d3a515df1229583e72b *electron-api.json
+4ef051701b2d01f19f8d3d29d41d27e3a9c6881c9defefc3883b35157234ffb0 *electron-v39.8.4-darwin-arm64-dsym-snapshot.zip
+115a40e2f14a492cc5ea9948e61e8c00ad758c568a74c94551acde0a0c6ff892 *electron-v39.8.4-darwin-arm64-dsym.zip
+d744d733681a36a242abb8b997c58571b49edb12db616bbd966111b1ff9f2114 *electron-v39.8.4-darwin-arm64-symbols.zip
+47636d2c4e07dc587fad991d2e682a8a8aa42281732e33323418e16e4d31245d *electron-v39.8.4-darwin-arm64.zip
+8196638bd34cc5815bd91de60f2d5eaa1119c8d473519c208e640cf68a1d9410 *electron-v39.8.4-darwin-x64-dsym-snapshot.zip
+f6cc6d79870acb14efda0bfb33f1e78b96fcab3bdbecc6d91c505dddb519f09f *electron-v39.8.4-darwin-x64-dsym.zip
+14204efe7f170b82e9c369d060f8b05d5a32aceb9800330861dbc05482ada505 *electron-v39.8.4-darwin-x64-symbols.zip
+48bc4c03e3dab5678ddc447378ec639803d687d75939575675a273f054b98237 *electron-v39.8.4-darwin-x64.zip
+8c5e0eb3e15b90b2397dc641255c8bac797a0e4a2f999ea77e4461d667add977 *electron-v39.8.4-linux-arm64-debug.zip
+25df0c1a03bdad3a19f5a9d6385efadc249b48a512cbb7967bccffe1a123a007 *electron-v39.8.4-linux-arm64-symbols.zip
+67d9c084e664ee2a5f76dce2efb13f79aff60e014deb06174af82b6cfd43b101 *electron-v39.8.4-linux-arm64.zip
+514dbca9bf81f82f6574ae906057b78f13c4bd781eba9033ed58d6609ce944a8 *electron-v39.8.4-linux-armv7l-debug.zip
+3baa152b9ae413da46ced437291b7bd65dca390168a62f9ba01b7f8c9bc76ed4 *electron-v39.8.4-linux-armv7l-symbols.zip
+a2d835231443afc8022a99a3ab94b7b4a90ebfbda77c2fbefafca430753174fe *electron-v39.8.4-linux-armv7l.zip
+8ea7223c43a03779fafc6272742ebca104f584b3952abcf17b186af3624803d7 *electron-v39.8.4-linux-x64-debug.zip
+4d834e7574dda95f1bd10a7758ed93fbc12d2aa4aa6cc6fad091a37ea422d196 *electron-v39.8.4-linux-x64-symbols.zip
+66f1ea702595deda724f6c6246acfddc84a317c7f0262bd7fd350af50dbbe4e9 *electron-v39.8.4-linux-x64.zip
+ce85bfbd66c6731004e7d035a2bf65b2c0cb95a9716ee7e156061c791bd723a7 *electron-v39.8.4-mas-arm64-dsym-snapshot.zip
+b745d57275df62904d779fe757446adfe515252edc00fe8e8667fe63e9975dda *electron-v39.8.4-mas-arm64-dsym.zip
+14706a26e78fcdc34be2f12229920cc178b6b773eeede0aee87875336e4a6a0c *electron-v39.8.4-mas-arm64-symbols.zip
+9a30bfe87c8d62f39798a5a69a63085429f6f1ba1975e7d552dc35c6c7c41a59 *electron-v39.8.4-mas-arm64.zip
+8ee820ece1f08d637ddbea9dae1b9fbe014be88fa20feb1e261a6921c2977e6c *electron-v39.8.4-mas-x64-dsym-snapshot.zip
+044c25405f83c6012c238990b534f47430e308c2c787e1f6d7fe0fb41728b818 *electron-v39.8.4-mas-x64-dsym.zip
+05c1f4fc148222481dc3e88388cbd5451bffdd436293cc0613a9ab1904e76cfa *electron-v39.8.4-mas-x64-symbols.zip
+51c310921e5740a91a75d89819f89757210707a913691fe07d60e84100102d42 *electron-v39.8.4-mas-x64.zip
+3aacf6f224b5438350c1ea5524cb0c962f6d60f8e00f297fc872dce9633aed7d *electron-v39.8.4-win32-arm64-pdb.zip
+180f870fbe3aff8d4ca837ff41b5e1dd04d63b0ae0cc2fcf8d7e20e518f4fcb6 *electron-v39.8.4-win32-arm64-symbols.zip
+b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.4-win32-arm64-toolchain-profile.zip
+4316324e59d8bceee77366a4ed7a8d3f087ccdf2232b9cac61d600c28fcf0876 *electron-v39.8.4-win32-arm64.zip
+110fa00b9defb546e6110022be00c2f8ef2306b7104e2a1f749dc2b74d467e57 *electron-v39.8.4-win32-ia32-pdb.zip
+ae8c656e2d43493a6c245235ca17f1ddd8ae9632f73348a8f76d76240c5f33f6 *electron-v39.8.4-win32-ia32-symbols.zip
+b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.4-win32-ia32-toolchain-profile.zip
+f260df3274199f29e32e89efb7bcd846db30d6ccdcc46cc3be9c19be9bc16566 *electron-v39.8.4-win32-ia32.zip
+2e37fd5956a3b73d99e569ea71cc463ba550440835f7672d0651c309d2489c52 *electron-v39.8.4-win32-x64-pdb.zip
+b1601c04324691324b2943aeda1309dbd8dac20cc5f4df32f4aa12d5a68c4b0c *electron-v39.8.4-win32-x64-symbols.zip
+b701e63ca5d443d9bd1b653ea0e2b7479f0d834a3d1bd9f10a3b745d29607154 *electron-v39.8.4-win32-x64-toolchain-profile.zip
+8acc4bb73f05a32eba18bd08e7bc4636e41b2fd00cb538cb90becffbca997789 *electron-v39.8.4-win32-x64.zip
+3675395eef7139544965c3408f1426e4af36055627c5ec0c2fe5abf4cecf6977 *electron.d.ts
+27cf8e375bc22ceea6b3d42132f2927ea544edac2b8b2c5dc3c10b5df8dfb027 *ffmpeg-v39.8.4-darwin-arm64.zip
+321d9c07f74c6cf77027ec07d888fb7b634d6589207e3c9e016c43e277ca9944 *ffmpeg-v39.8.4-darwin-x64.zip
+52ae6eccbdb4a9403a6c3eb46b356a28940ec25958b6b9181fb2f38e612e40ed *ffmpeg-v39.8.4-linux-arm64.zip
+622cb781fb1e3b9617e7e60c36384427f7b0d9b5ad888e9bc356a83b050e13f1 *ffmpeg-v39.8.4-linux-armv7l.zip
+ba441851788008362f013bf2983b22b0042af8df31bf90123328f928cc067492 *ffmpeg-v39.8.4-linux-x64.zip
+27cf8e375bc22ceea6b3d42132f2927ea544edac2b8b2c5dc3c10b5df8dfb027 *ffmpeg-v39.8.4-mas-arm64.zip
+321d9c07f74c6cf77027ec07d888fb7b634d6589207e3c9e016c43e277ca9944 *ffmpeg-v39.8.4-mas-x64.zip
+71d478432519dda32a53c47eb5fcb97d23265273ff7939da54cccf7a19f6f87e *ffmpeg-v39.8.4-win32-arm64.zip
+3c52c43a62ebf1ebbe0c02611ad4399eb0131257849b707156417ffcbaa144c8 *ffmpeg-v39.8.4-win32-ia32.zip
+5613f1bd387d6c91f4c3901b22643c5400c696e2dacbb7d9893d0e63edc51ae9 *ffmpeg-v39.8.4-win32-x64.zip
+d720519f7417fe58d60d54085a0c32e8e7b65883cad909ee55d1b9b78f86362d *hunspell_dictionaries.zip
+a4c6e3aef474b21e7f002858ddef194da1b64e8b20ecabdaea9533d1d2712738 *libcxx-objects-v39.8.4-linux-arm64.zip
+bd9f1876dddbc413fc3328707f4f7f9daa2df7cb81d4d9e13f520168ec9eb76a *libcxx-objects-v39.8.4-linux-armv7l.zip
+8403bc29cd82a40f422c63fdbaa61b85d28ff58e5e90e378a97c0715133b87c4 *libcxx-objects-v39.8.4-linux-x64.zip
+9bbb19892567a3a9abd0f6288f9f203fa3051387c3e4625fc52eb49adcbe96e5 *libcxx_headers.zip
+9b988e2bb379c6d3094872f600944ad3284510cf225f86368c4f43270b89673c *libcxxabi_headers.zip
+f106faec00f811971cce77bb39a2ef08ddeb3e6b3b6f96991a4ab889c06636a3 *mksnapshot-v39.8.4-darwin-arm64.zip
+23ca2a8fbe7d870c745c6808dced54889883d259fd6a601174b81891dfd1a052 *mksnapshot-v39.8.4-darwin-x64.zip
+23b78843edf3ad2ad2a38eb88578105a75335c397bd4f7cc1fdf54f890fb9d9b *mksnapshot-v39.8.4-linux-arm64-x64.zip
+582d768b97f13d5991fb96dbbba54f7c5da4248634952d77eac342ecd5db29a5 *mksnapshot-v39.8.4-linux-armv7l-x64.zip
+677e242eca2487d1427e035cc9e54750a3bb2528f761af483e5a6d67f81f69dc *mksnapshot-v39.8.4-linux-x64.zip
+fadb9ec8cbf598ef49d5dac34c764a2d2487d41111e3201dd13ad6f09d48c591 *mksnapshot-v39.8.4-mas-arm64.zip
+2a912c91dffeae2e8a97b7e49fe67f7dfb7d13f8e441bb5c2c40d2583ae504ca *mksnapshot-v39.8.4-mas-x64.zip
+fc5478a848c95a1412efdc550d16e4e83c7c2db5f98c658da2430c4275e5f6cb *mksnapshot-v39.8.4-win32-arm64-x64.zip
+b279c6292e1937a9c6aa7421415434e8f40ed7ba818851f57227cdedbdd19e7b *mksnapshot-v39.8.4-win32-ia32.zip
+c5b457d293d35f98d9d548613fce3c6ee111242760d381ed39d6c721b3d09918 *mksnapshot-v39.8.4-win32-x64.zip
\ No newline at end of file
diff --git a/cgmanifest.json b/cgmanifest.json
index 1b1e171..09d805b 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -531,4 +531,4 @@
"repositoryUrl": "https://github.com/electron/electron",
- "commitHash": "69c8cbf259da0f84e9c1db04958516a68f7170aa",
- "tag": "39.8.0"
+ "commitHash": "7007907df08d02da98f513dcbdb430ab51be59c7",
+ "tag": "39.8.4"
}
diff --git a/package-lock.json b/package-lock.json
index 3795213..9d261de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -104,3 +104,3 @@
"deemon": "^1.13.6",
- "electron": "39.8.0",
+ "electron": "39.8.4",
"eslint": "^9.36.0",
@@ -8389,5 +8389,5 @@
"node_modules/electron": {
- "version": "39.8.0",
- "resolved": "https://registry.npmjs.org/electron/-/electron-39.8.0.tgz",
- "integrity": "sha512-K+f3YelSyh9Q4LgUXuIhLB4kq73LJrqnIbe8ih9vpWi+iSdPebj0w7FRYwILCMDoyBQMFC9LicYHuIPmZzdKlg==",
+ "version": "39.8.4",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-39.8.4.tgz",
+ "integrity": "sha512-eXYKxr4y+s31xs78keVJYg+XY20tGQMQzyIhZvc5L0XRDH2Gp08mbeFlbR1OjAeM5h5l/T2JYT2MFK2kYe2fMg==",
"dev": true,
diff --git a/package.json b/package.json
index 295d4b3..6e707ed 100644
--- a/package.json
+++ b/package.json
@@ -174,3 +174,3 @@
"deemon": "^1.13.6",
- "electron": "39.8.0",
+ "electron": "39.8.4",
"eslint": "^9.36.0",

View File

@@ -1,203 +0,0 @@
diff --git a/.npmrc b/.npmrc
index e4a5cc2..e3be238 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,3 +1,3 @@
disturl="https://electronjs.org/headers"
-target="39.2.3"
+target="39.2.7"
ms_build_id="12895514"
diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt
index ace84ba..5da4475 100644
--- a/build/checksums/electron.txt
+++ b/build/checksums/electron.txt
@@ -1,75 +1,75 @@
-1e88807c749e69c9a1b2abef105cf30dbec4fddc365afcaa624b1e2df80fe636 *chromedriver-v39.2.3-darwin-arm64.zip
-5cadee0db7684ae48a7f9f4f1310c3f6e1518b0fa88cf3efb36f58984763d43d *chromedriver-v39.2.3-darwin-x64.zip
-8de5ed25a12029ca999455c1cadf28341ec5e0de87a3a0c27dbb24df99f154b1 *chromedriver-v39.2.3-linux-arm64.zip
-766b16d8b1297738a0d1fa7e44d992142558f6e12820197746913385590f033e *chromedriver-v39.2.3-linux-armv7l.zip
-f35049fe3d8dbfdb7c541b59bdca6982b571761bb8cb7fc85515ceaea9451de9 *chromedriver-v39.2.3-linux-x64.zip
-bffe049ac205d87d14d8d2fb61c8f4dfd72b6d60fcd72ebedf7ef78c90ed52d9 *chromedriver-v39.2.3-mas-arm64.zip
-95a7142ba2ba6a418c6d804729dbe4f1fee897cd9ecaf32e554bb9cabff52b9c *chromedriver-v39.2.3-mas-x64.zip
-da1a59e49c16f7b0924b8b43847a19c93110f7d3b5d511cc41d7ec43a5d3807a *chromedriver-v39.2.3-win32-arm64.zip
-9ba84c1e03e31dd630439d53c975b51c21aa4038526dc01970b94464303db5c7 *chromedriver-v39.2.3-win32-ia32.zip
-82d88829e894277d737188afe22a2c82611107f7b31aeb221ae67e56a580dceb *chromedriver-v39.2.3-win32-x64.zip
-aca80a76b97d4b0aa3001882bd8cb7a8fb3f1df75cbc4f0d74eaad0c9df53c9b *electron-api.json
-0fb6f376da5f1bb06125134cd8e33d79a76c4d47b0bc51d20c3359e092095b98 *electron-v39.2.3-darwin-arm64-dsym-snapshot.zip
-6a9e67878637191edcefbd36b070137c3ca4f674307c255864eb9720128905c4 *electron-v39.2.3-darwin-arm64-dsym.zip
-30fd6a23a4a70de3882525c1666af98a2cf07e0826c54bef8f466efb25b1d2ec *electron-v39.2.3-darwin-arm64-symbols.zip
-2128a27c1b0fd80be9d608fb293639f76611b4108eca1e045c933fd04097a7b1 *electron-v39.2.3-darwin-arm64.zip
-68435db35b408d7eb3b9f208f2a7aa803bb8578f409ee99bab435118951a21a5 *electron-v39.2.3-darwin-x64-dsym-snapshot.zip
-59e821dbe0083d4e28a77dff5f72fa65c0db7e7966d760ebb5a41af92da43958 *electron-v39.2.3-darwin-x64-dsym.zip
-cdbe6988a9c9277d5a1acd2f3aaf08e603050f3dae0c10dee4b10d7a6f7cf818 *electron-v39.2.3-darwin-x64-symbols.zip
-f8085a04dc35bfe0c32c36e6feffde07de16459bf36dfab422760181717f5ac0 *electron-v39.2.3-darwin-x64.zip
-ce57eb6bd0ddfa1d37d8a35615276aeb60c19ae0636f21da3270cf07844074b4 *electron-v39.2.3-linux-arm64-debug.zip
-d2652381b24dc05c57a4ce4835b6efc796e6af14419ec80a9ab31f1c3c53f143 *electron-v39.2.3-linux-arm64-symbols.zip
-c58c5904d6015cbbfa5f04fbda5c83b9a276a3565b5f3fa166795c789b055cdd *electron-v39.2.3-linux-arm64.zip
-f0f0be5ea43c0fe84b9609dd5d2b98904c2d4bb8ced9c7c72b72cef377f2734a *electron-v39.2.3-linux-armv7l-debug.zip
-f08ae5371aca8a9f3775a6855c74da71d8817bd9f135c3ba975d428d14f3c42f *electron-v39.2.3-linux-armv7l-symbols.zip
-d7c2f0b5038c49b1e637f8dbda945be4e6f3a6d7ebf802543e6ef5093c9641ff *electron-v39.2.3-linux-armv7l.zip
-aa8b9e4b5eed3a0d2271c01d34551d7dc3e9be30a68af06604c1e2cd3cf93223 *electron-v39.2.3-linux-x64-debug.zip
-d5ebf9628e055b03c90d2d6d4ed86f443b900e264ff34061c953541e27fad5f9 *electron-v39.2.3-linux-x64-symbols.zip
-5eb51ebcb60487c4fc3a5b74ffb57a03eefd48def32200adf310ffaba4153d64 *electron-v39.2.3-linux-x64.zip
-f6cc53c0a45c73779c837d71693f54cc18b12b7148c82c689e2b059772182b84 *electron-v39.2.3-mas-arm64-dsym-snapshot.zip
-0caf9b7b958a7d2ba7e6f757f885842efda3ebc794a2ac048b90cde2926281ee *electron-v39.2.3-mas-arm64-dsym.zip
-c3164da6588c546e728b6fa0754042328cdb43e28dbb0fbcfbda740ed58038fe *electron-v39.2.3-mas-arm64-symbols.zip
-36ea0a98a0480096b4bc6e22c194e999cdfd7f1263c51f08d2815985a8a39ef7 *electron-v39.2.3-mas-arm64.zip
-73d356aa3b51cb261d30f0c27ce354b904d17c3c05c124a1f41112d085e66852 *electron-v39.2.3-mas-x64-dsym-snapshot.zip
-083f53e15a93404b309754df6b5e785785b28e01fdab08a89a45e5024f44e046 *electron-v39.2.3-mas-x64-dsym.zip
-cdd8aaf3b90aedc8c09a44efa03ec67e8426102fad7333ff6bfc257dc6fa01b7 *electron-v39.2.3-mas-x64-symbols.zip
-517d26f9b76b23976d0fc1dcc366e2b50b782592d9b0fc1d814dd1e7ce66efef *electron-v39.2.3-mas-x64.zip
-1a83af2259feb361f7ceb79e047b701ea8297d616487d9d6a79530014d5000c7 *electron-v39.2.3-win32-arm64-pdb.zip
-a154f036378a81859804f660773f6d434770fc311af86dfe01ace5346b9dc788 *electron-v39.2.3-win32-arm64-symbols.zip
-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-arm64-toolchain-profile.zip
-b68d623d70c4d0ed76c979027d2a4f6a16bc8dee6f243f5bc2064b4bb52bb34d *electron-v39.2.3-win32-arm64.zip
-be73842257d098ac911b3363e0c11b1d51ab8f6ebd641e512a2e15ccbea73193 *electron-v39.2.3-win32-ia32-pdb.zip
-5f65391f51b5d46d5e0ec7018f3febc0f5b6f072b57310d6d6c9b014de911ff4 *electron-v39.2.3-win32-ia32-symbols.zip
-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-ia32-toolchain-profile.zip
-6668fadbdd0283225f4bc60c711f8cd8ac316f43f486cd8a1f62a6a35f89cf7a *electron-v39.2.3-win32-ia32.zip
-430aa905803772476fc1f943e87e4a319d33880d88e08472504531b96834dff1 *electron-v39.2.3-win32-x64-pdb.zip
-9adb254e6ee0d96311cc8056049814436b7e973757d026aac3b533820be027ec *electron-v39.2.3-win32-x64-symbols.zip
-4aae37230f86b1590f102aa038268299bfb55ce2bf3b76ac4d6159e7b6a69f8e *electron-v39.2.3-win32-x64-toolchain-profile.zip
-d4365ad128bbdcb3df99dc4a0ad9de85c5e920903070a473b55377253b6c3fdd *electron-v39.2.3-win32-x64.zip
-feb2f068cd1e2f70bdd7816c13e58dcff9add18fdc8c8e19145a5fd343be541a *electron.d.ts
-4fe4db7f974c64497ddc07c3955a7d83dcfeba61bcec704b33638a4848038d49 *ffmpeg-v39.2.3-darwin-arm64.zip
-8fa2eb8ce5bdf2ecc4cf1f5ebc0f46a4e466fb4841513d482b99838b265995af *ffmpeg-v39.2.3-darwin-x64.zip
-bc72228a7380bc491783602d823bbe2d75e9e417d9b93a40a64be6ff5e3a1bcc *ffmpeg-v39.2.3-linux-arm64.zip
-322698b5ebfae62c34e98c2589b0906b99c15a8181ca3b6d1ffe166ec7d99ab1 *ffmpeg-v39.2.3-linux-armv7l.zip
-40d23294d7bcc48cb3f647f278672021e969a6332cd3cbb06ee681833759626a *ffmpeg-v39.2.3-linux-x64.zip
-4fe4db7f974c64497ddc07c3955a7d83dcfeba61bcec704b33638a4848038d49 *ffmpeg-v39.2.3-mas-arm64.zip
-8fa2eb8ce5bdf2ecc4cf1f5ebc0f46a4e466fb4841513d482b99838b265995af *ffmpeg-v39.2.3-mas-x64.zip
-d324af171e0ae820ec72075924ace2bda96e837ccc79e22b652dda6f82b673b6 *ffmpeg-v39.2.3-win32-arm64.zip
-d982077305d0e4296bed95eb7d2f1048a90b06cfb84d5ddf2a1928e1f07c4dba *ffmpeg-v39.2.3-win32-ia32.zip
-fa65c30f970f9724f4353d068a640592b09a15593b943fa7544cd07e9cace90e *ffmpeg-v39.2.3-win32-x64.zip
-244cd79cf68540e83449ad7d73183416413b3d603cee4496ec07705cbd9338ee *hunspell_dictionaries.zip
-f995e05259eeae64f0e6fbb6d2863aa2fc5846e3ff2dfb3cd22defc3bbbb68d7 *libcxx-objects-v39.2.3-linux-arm64.zip
-3607b4a15aa5f2dbd9e2338ca5451ad8ff646bdac415f9845352d53be1c26ddf *libcxx-objects-v39.2.3-linux-armv7l.zip
-b5020533566dbf22b0b890caa766eb2f4d11675fb1c79c2f41bc54da45a34fc2 *libcxx-objects-v39.2.3-linux-x64.zip
-919a2cc35920b21fbcc5834e858c400f51b607f084c593883c637dba27b9d29a *libcxx_headers.zip
-34e4b44f9c5e08b557a2caed55456ce7690abab910196a783a2a47b58d2b9ac9 *libcxxabi_headers.zip
-661d3578cabe5c98d806d5eeeaee48ac0c997114b9cd76388581e58f6d1c2ce1 *mksnapshot-v39.2.3-darwin-arm64.zip
-c3032c90522e4491e3de641fade3c90be109269108d4ff39b55dbf7331e6eb9a *mksnapshot-v39.2.3-darwin-x64.zip
-bcd8fb45f3b093208346dc2dd2e0b5b70d117e26a70b9619921b26a7f99ba310 *mksnapshot-v39.2.3-linux-arm64-x64.zip
-647762d3d8b01b5123ec11ea5b6984d7b78a26c79ea4d159a3b9fa780de03321 *mksnapshot-v39.2.3-linux-armv7l-x64.zip
-86c0febd8e9ddd8b700c6fb633ec1406bf4fe19ddc2801cb50c01ad345c8ce6e *mksnapshot-v39.2.3-linux-x64.zip
-3676ffc5f489b7d7faafe36fdb5f0f4ce98c8d6fcedfacf6feded7f21b2a50ea *mksnapshot-v39.2.3-mas-arm64.zip
-728936a18c11727d32730c89060dca2d998e7df9159f12bcba2bdf1b51584aad *mksnapshot-v39.2.3-mas-x64.zip
-a3ef9ab1ad5c8172c029dcc36abdc979ecf01f235516120f666595d4d5d02aee *mksnapshot-v39.2.3-win32-arm64-x64.zip
-02584df98255591438ffcc6589bd1ee60af8b8897d08079e7a7dd054e09614fe *mksnapshot-v39.2.3-win32-ia32.zip
-d4dd9de8637d7d8240b7a0686916c0fe84058ad00db9422f5491fbbd7a53cf4b *mksnapshot-v39.2.3-win32-x64.zip
+ab4c5ce64b92082b15f11ed2a89766fa5542b33d656872678ca0aee99e51a7c8 *chromedriver-v39.2.7-darwin-arm64.zip
+976f03f6e5e1680e5f8449bd04da531aabec0b664ff462a14f0d41fad0b437af *chromedriver-v39.2.7-darwin-x64.zip
+28649b04333820f826ea658d18f8111e0a187b3afc498af05b5c59b27ac00155 *chromedriver-v39.2.7-linux-arm64.zip
+149033ccf7f909214c7d69788bdef2e4ce164cae1091a2f8220f62e495576f9b *chromedriver-v39.2.7-linux-armv7l.zip
+6a071551518eddc688dd348d3e63b0c55f744589a041943e5706bebfd5337f19 *chromedriver-v39.2.7-linux-x64.zip
+824ea4699fd6aa6822e453496ebf576174d04e0f0991843b77eb346a842725bc *chromedriver-v39.2.7-mas-arm64.zip
+aa991650a765b2bc168f8b742341048fa030ee9e3bd0d0799e1b1d29a4c55d0b *chromedriver-v39.2.7-mas-x64.zip
+a8fc4467bf9be10de3e341648ccd6ad6d618b4456a744137e9f19bd5f9d9bd37 *chromedriver-v39.2.7-win32-arm64.zip
+01b247563a054617530e454646b086352bc03e02ad4f18e5b65b4e3dfd276a1e *chromedriver-v39.2.7-win32-ia32.zip
+a8bc2b9052ac8dadeaf88ea9cd6e46ec0032eee2345a0548741bfed922520579 *chromedriver-v39.2.7-win32-x64.zip
+23486b3effffe5b3bc3ca70261fc9abe2396fd5d018652494f73e3f48cfe57cf *electron-api.json
+8bee9e905544e60e08468efca91481ec467ab8f108a81846c365782ba0fc737c *electron-v39.2.7-darwin-arm64-dsym-snapshot.zip
+3be97c3152cd4a84a6fe4013f7e4712422015f4beeb13eb35f8b4d223307d39a *electron-v39.2.7-darwin-arm64-dsym.zip
+6d5551120d0564fc5596a3b724258da2ce632663d12782c8fdf15a2cc461ed95 *electron-v39.2.7-darwin-arm64-symbols.zip
+bda657a77c074ee0c6a0e5d5f6de17918d7cf959306b454f6fadb07a08588883 *electron-v39.2.7-darwin-arm64.zip
+39f0aab332506455337edff540d007c509e72d8c419cdc57f88a0312848f51c9 *electron-v39.2.7-darwin-x64-dsym-snapshot.zip
+1efed54563ede59d7ae9ba3d548b3e93ede1a4e5dfa510ca22036ea2dd8a2956 *electron-v39.2.7-darwin-x64-dsym.zip
+3b9bfe84905870c9c36939ffac545d388213ffbb296b969f35ae2a098f6a32b7 *electron-v39.2.7-darwin-x64-symbols.zip
+d7535e64ad54efcf0fae84d7fea4c2ee4727eec99c78d2a5acc695285cb0a9f0 *electron-v39.2.7-darwin-x64.zip
+59a3bd71f9c1b355dfbc43f233126cd32b82a53439f0d419e6349044d39e8bbf *electron-v39.2.7-linux-arm64-debug.zip
+1b326f1a5bea47d9be742554434ddf4f094d7bcdd256f440b808359dc78fcd33 *electron-v39.2.7-linux-arm64-symbols.zip
+445465a43bd2ffaec09877f4ed46385065632a4683c2806cc6211cc73c110024 *electron-v39.2.7-linux-arm64.zip
+300c8d11d82cd1257b08e5a08c5e315f758133b627c0271a0f249ba3cb4533d2 *electron-v39.2.7-linux-armv7l-debug.zip
+034dca3c137c7bfe0736456c1aa0941721e3a9f3a8a72a2786cb817d4edb0f9d *electron-v39.2.7-linux-armv7l-symbols.zip
+5de99e9f4de8c9ac2fb93df725e834e3e93194c08c99968def7f7b78594fc97c *electron-v39.2.7-linux-armv7l.zip
+64ef2ae24ae0869ebadb34b178fd7e8375d750d7afe39b42cfa28824f0d11445 *electron-v39.2.7-linux-x64-debug.zip
+63466c4b6024ae38fdb38ff116abd561b9e36b8d4cd8f8aefbe41289950dba0c *electron-v39.2.7-linux-x64-symbols.zip
+2f5285ef563dca154aa247696dddef545d3d895dd9b227ed423ea0d43737c22c *electron-v39.2.7-linux-x64.zip
+ef5a108c1d10148aa031300da10c78feee797afe4ca2a2839819fd8434529860 *electron-v39.2.7-mas-arm64-dsym-snapshot.zip
+9dd01dc9071b1db9d8fb5e9c81eaa96f551db0a982994881e5750cde2432b0f0 *electron-v39.2.7-mas-arm64-dsym.zip
+2cf34289d79906c81b3dfd043fbe19a9604cecedd9ebda6576fa3c6f27edfe23 *electron-v39.2.7-mas-arm64-symbols.zip
+5658d58eacb99fb2a22df0d52ca0507d79f03c85515a123d5e9bee5e0749b93d *electron-v39.2.7-mas-arm64.zip
+92cd45c3fa64e2889fd1bc6b165c4d12bea40786ce59d6d204cadec6039a8e2a *electron-v39.2.7-mas-x64-dsym-snapshot.zip
+21464abc837aeab1609fbfa33aa82793e9d32a597db28ea4da483a9d6b6c668a *electron-v39.2.7-mas-x64-dsym.zip
+8d6e7ffee482514b62465e418049bdf717d308118461e5d97480f5a0eb0b9e20 *electron-v39.2.7-mas-x64-symbols.zip
+e3b4169ab7bf3bc35cc720ef99032acd3d0eb1521524b5c4667898758dd4e9a3 *electron-v39.2.7-mas-x64.zip
+3f1d549214a2430d57e5ab8d3cc9d89363340b16905014e35417c632a94732f6 *electron-v39.2.7-win32-arm64-pdb.zip
+984e1d7718bc920e75a38b114ff73fa52647349763f76e91b64458e5d0fde65f *electron-v39.2.7-win32-arm64-symbols.zip
+ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-arm64-toolchain-profile.zip
+56c6f8d957239b7e8d5a214255f39007d44abc98f701ab61054afa83ad46e80f *electron-v39.2.7-win32-arm64.zip
+c885a8af3226f28081106fa89106f4668b907a53ab3997f3b101b487a76d2878 *electron-v39.2.7-win32-ia32-pdb.zip
+34edebab8fb5458d97a23461213b39360b5652f8dd6fe8bf7f9c10a17b25a1d2 *electron-v39.2.7-win32-ia32-symbols.zip
+ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-ia32-toolchain-profile.zip
+85acd7db5dbb39e16d6c798a649342969569caa2c71d6b5bb1f0c8ae96bca32e *electron-v39.2.7-win32-ia32.zip
+e6a8e1164106548a1cdf266c615d259feada249e1449df8af1f7e04252575e86 *electron-v39.2.7-win32-x64-pdb.zip
+90e1feeff5968265b68d8343e27b9f329b27882747633dd10555740de67d58cc *electron-v39.2.7-win32-x64-symbols.zip
+ed66f333ff7b385b2f40845178dc2dc4f25cc887510d766433392733fdd272a3 *electron-v39.2.7-win32-x64-toolchain-profile.zip
+3464537fa4be6b7b073f1c9b694ac2eb1f632d6ec36f6eeac9e00d8a279f188c *electron-v39.2.7-win32-x64.zip
+40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts
+5a904c2edd12542ce2b6685938cdafe21cf90cd552f2f654058353d1a3d8ee43 *ffmpeg-v39.2.7-darwin-arm64.zip
+91fc23e9008f43ad3c46f690186d77b291a803451b6d89ac82aadb8ae2dd7995 *ffmpeg-v39.2.7-darwin-x64.zip
+a44607619c6742c1f9d729265a687b467a25ba397081ac12bc2c0d9ab4bea37b *ffmpeg-v39.2.7-linux-arm64.zip
+8128ec9be261e2c1017f9b8213f948426119306e5d3acdb59392f32b2c2f0204 *ffmpeg-v39.2.7-linux-armv7l.zip
+a201a2a64a49ab39def2d38a73e92358ebb57ecae99b0bbc8058353c4be23ea1 *ffmpeg-v39.2.7-linux-x64.zip
+5a904c2edd12542ce2b6685938cdafe21cf90cd552f2f654058353d1a3d8ee43 *ffmpeg-v39.2.7-mas-arm64.zip
+91fc23e9008f43ad3c46f690186d77b291a803451b6d89ac82aadb8ae2dd7995 *ffmpeg-v39.2.7-mas-x64.zip
+6fa4278a41d9c5d733369aa4cce694ba219eb72f7fd181060547c3a4920b5902 *ffmpeg-v39.2.7-win32-arm64.zip
+12b9e02c0fd07e8bc233c7c4ebab5c737eca05c41f1c5178867cad313433561b *ffmpeg-v39.2.7-win32-ia32.zip
+caedeb04aa648af14b5a20c9ca902c97eb531a456c7965639465f8764b5d95e0 *ffmpeg-v39.2.7-win32-x64.zip
+f1320ff95f2cce0f0f7225b45f2b9340aeb38b341b4090f0e58f58dc2da2f3a9 *hunspell_dictionaries.zip
+8f4ffd7534f21e40621c515bacd178b809c2e52d1687867c60dfdb97ed17fecb *libcxx-objects-v39.2.7-linux-arm64.zip
+0497730c82e1e76b6a4c22b1af4ebb7821ff6ccb838b78503c0cc93d8a8f03ee *libcxx-objects-v39.2.7-linux-armv7l.zip
+271e3538eb241f1bc83a103ea7d4c8408ee6bd38322ed50dca781f54d002a590 *libcxx-objects-v39.2.7-linux-x64.zip
+9a243728553395448f783591737fb229a327499d6853b51e201c36e4aaa9796f *libcxx_headers.zip
+db3018609bce502c307c59074b3d5273080a68fb50ac1e7fc580994a2e80cc25 *libcxxabi_headers.zip
+509d0890d1a524efe2c68aae18d2c8fd6537e788b94c9f63fd9f9ca3be98fdb9 *mksnapshot-v39.2.7-darwin-arm64.zip
+f0a98b428a6a1f8dc4a4663e876a3984157ac8757922cde7461f19755942c180 *mksnapshot-v39.2.7-darwin-x64.zip
+22fda3b708ab14325b2bfba8e875fbf48b6eacea347ecf1ef41cf24b09b4af8f *mksnapshot-v39.2.7-linux-arm64-x64.zip
+e7b89dbab3449c0a1862b4d129b3ee384cb5bcd53e149eae05df14744ee55cb5 *mksnapshot-v39.2.7-linux-armv7l-x64.zip
+53b3ed9f3a69444915ef1eef688c8f8168d52c3d5232834b8aa249cf210b41b6 *mksnapshot-v39.2.7-linux-x64.zip
+181d962eaa93d8d997b1daf99ae016b3d9d8a5ae037c96a8475490396a8d655f *mksnapshot-v39.2.7-mas-arm64.zip
+de005b619da1c1afcd8f8b6c70facb1dc388c46a66f8eff3058c8a08323df173 *mksnapshot-v39.2.7-mas-x64.zip
+6eea0bee6097cf2cfe3ae42b35f847304697c4a4eec84f5b60d1cbbe324a8490 *mksnapshot-v39.2.7-win32-arm64-x64.zip
+3e769269aa0b51ef9664a982235bc9299fc58743dcf7bce585d49a9f4a074abd *mksnapshot-v39.2.7-win32-ia32.zip
+51337124892bf76d214f89975d42ec0474199cdfac2f9e08664d86ae8e6ba43e *mksnapshot-v39.2.7-win32-x64.zip
\ No newline at end of file
diff --git a/cgmanifest.json b/cgmanifest.json
index 1148b4e..88150cc 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -531,4 +531,4 @@
"repositoryUrl": "https://github.com/electron/electron",
- "commitHash": "14565211f7fd33f3fe2f75ec1254cfa57d5bc848",
- "tag": "39.2.3"
+ "commitHash": "4d18062d0f0ca34c455bc7ec032dd7959a0365b6",
+ "tag": "39.2.7"
}
diff --git a/package-lock.json b/package-lock.json
index 2b1154b..cbe427e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -100,3 +100,3 @@
"deemon": "^1.13.6",
- "electron": "39.2.3",
+ "electron": "39.2.7",
"eslint": "^9.36.0",
@@ -6188,5 +6188,5 @@
"node_modules/electron": {
- "version": "39.2.3",
- "resolved": "https://registry.npmjs.org/electron/-/electron-39.2.3.tgz",
- "integrity": "sha512-j7k7/bj3cNA29ty54FzEMRUoqirE+RBQPhPFP+XDuM93a1l2WcDPiYumxKWz+iKcXxBJLFdMIAlvtLTB/RfCkg==",
+ "version": "39.2.7",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-39.2.7.tgz",
+ "integrity": "sha512-KU0uFS6LSTh4aOIC3miolcbizOFP7N1M46VTYVfqIgFiuA2ilfNaOHLDS9tCMvwwHRowAsvqBrh9NgMXcTOHCQ==",
"dev": true,
diff --git a/package.json b/package.json
index 9ef8381..f732fa8 100644
--- a/package.json
+++ b/package.json
@@ -162,3 +162,3 @@
"deemon": "^1.13.6",
- "electron": "39.2.3",
+ "electron": "39.2.7",
"eslint": "^9.36.0",

View File

@@ -1,18 +1,21 @@
diff --git a/extensions/github-authentication/src/common/env.ts b/extensions/github-authentication/src/common/env.ts
index ebc4749..18fd732 100644
index 5456fb8..18fd732 100644
--- a/extensions/github-authentication/src/common/env.ts
+++ b/extensions/github-authentication/src/common/env.ts
@@ -7,21 +7,4 @@ import { AuthProviderType } from '../github';
@@ -7,24 +7,4 @@ import { AuthProviderType } from '../github';
-const VALID_DESKTOP_CALLBACK_SCHEMES = [
- 'vscode',
- 'vscode-insiders',
- 'vscode-exploration',
- 'vscode-sessions',
- 'vscode-sessions-insiders',
- 'vscode-sessions-exploration',
- // On Windows, some browsers don't seem to redirect back to OSS properly.
- // As a result, you get stuck in the auth flow. We exclude this from the
- // list until we can figure out a way to fix this behavior in browsers.
- // 'code-oss',
- 'vscode-wsl',
- 'vscode-exploration'
-];
-
-export function isSupportedClient(uri: Uri): boolean {
@@ -26,7 +29,7 @@ index ebc4749..18fd732 100644
+export function isSupportedClient(_uri: Uri): boolean {
+ return false;
}
@@ -35,4 +18,4 @@ export function isSupportedTarget(type: AuthProviderType, gheUri?: Uri): boolean
@@ -38,4 +18,4 @@ export function isSupportedTarget(type: AuthProviderType, gheUri?: Uri): boolean
-export function isHostedGitHubEnterprise(uri: Uri): boolean {
- return /\.ghe\.com$/.test(uri.authority);

View File

@@ -1,18 +1,5 @@
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index a3efce9..be970c6 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -78,3 +78,2 @@ import { DarwinUpdateService } from '../../platform/update/electron-main/updateS
import { LinuxUpdateService } from '../../platform/update/electron-main/updateService.linux.js';
-import { SnapUpdateService } from '../../platform/update/electron-main/updateService.snap.js';
import { Win32UpdateService } from '../../platform/update/electron-main/updateService.win32.js';
@@ -997,3 +996,3 @@ export class CodeApplication extends Disposable {
if (isLinuxSnap) {
- services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']]));
+ // services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']]));
} else {
diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts
index b859dfd..75e8987 100644
index bc90a03..f8885b9 100644
--- a/src/vs/platform/update/common/update.ts
+++ b/src/vs/platform/update/common/update.ts
@@ -54,3 +54,4 @@ export const enum UpdateType {
@@ -21,7 +8,7 @@ index b859dfd..75e8987 100644
+ Snap,
+ WindowsInstaller,
}
@@ -116 +117,38 @@ export interface IUpdateService {
@@ -120 +121,38 @@ export interface IUpdateService {
}
+
+export type Architecture =
@@ -62,15 +49,17 @@ index b859dfd..75e8987 100644
+ | "user";
\ No newline at end of file
diff --git a/src/vs/platform/update/electron-main/abstractUpdateService.ts b/src/vs/platform/update/electron-main/abstractUpdateService.ts
index 0e63d40..c8426ea 100644
index c943bca..1395594 100644
--- a/src/vs/platform/update/electron-main/abstractUpdateService.ts
+++ b/src/vs/platform/update/electron-main/abstractUpdateService.ts
@@ -14,3 +14,3 @@ import { IProductService } from '../../product/common/productService.js';
import { IRequestService } from '../../request/common/request.js';
@@ -17,4 +17,4 @@ import { ILogService } from '../../log/common/log.js';
import { IProductService } from '../../product/common/productService.js';
-import { IRequestService } from '../../request/common/request.js';
-import { AvailableForDownload, DisablementReason, IUpdateService, State, StateType, UpdateType } from '../common/update.js';
+import { IRequestService, NO_FETCH_TELEMETRY } from '../../request/common/request.js';
+import { Architecture, AvailableForDownload, DisablementReason, IUpdateService, Platform, State, StateType, Target, UpdateType } from '../common/update.js';
@@ -20,10 +20,8 @@ export interface IUpdateURLOptions {
@@ -25,12 +25,8 @@ export interface IUpdateURLOptions {
-export function createUpdateURL(baseUpdateUrl: string, platform: string, quality: string, commit: string, options?: IUpdateURLOptions): string {
- const url = new URL(`${baseUpdateUrl}/api/update/${platform}/${quality}/${commit}`);
@@ -84,34 +73,42 @@ index 0e63d40..c8426ea 100644
+ return `${productService.updateUrl}/${quality}/${platform}/${architecture}/latest.json`;
}
-
- url.searchParams.set('u', options?.internalOrg ?? 'none');
-
- return url.toString();
}
@@ -265,3 +263,3 @@ export abstract class AbstractUpdateService implements IUpdateService {
@@ -322,3 +318,3 @@ export abstract class AbstractUpdateService implements IUpdateService {
- if (mode === 'none') {
+ if (mode === 'none' || mode === 'manual') {
return undefined;
@@ -336,3 +332,3 @@ export abstract class AbstractUpdateService implements IUpdateService {
try {
- const context = await this.requestService.request({ url, headers, callSite: 'updateService.isLatestVersion' }, token);
+ const context = await this.requestService.request({ url, headers, callSite: NO_FETCH_TELEMETRY }, token);
const statusCode = context.res.statusCode;
diff --git a/src/vs/platform/update/electron-main/updateService.darwin.ts b/src/vs/platform/update/electron-main/updateService.darwin.ts
index b20673b..af677f6 100644
index 40b38a2..323919e 100644
--- a/src/vs/platform/update/electron-main/updateService.darwin.ts
+++ b/src/vs/platform/update/electron-main/updateService.darwin.ts
@@ -15,3 +15,3 @@ import { ILogService } from '../../log/common/log.js';
@@ -16,3 +16,3 @@ import { ILogService } from '../../log/common/log.js';
import { IProductService } from '../../product/common/productService.js';
-import { IRequestService } from '../../request/common/request.js';
+import { IRequestService, asJson } from '../../request/common/request.js';
-import { asJson, IRequestService } from '../../request/common/request.js';
+import { asJson, IRequestService, NO_FETCH_TELEMETRY } from '../../request/common/request.js';
import { ITelemetryService } from '../../telemetry/common/telemetry.js';
@@ -19,2 +19,4 @@ import { IUpdate, State, StateType, UpdateType } from '../common/update.js';
import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js';
+import { CancellationToken } from '../../../base/common/cancellation.js';
@@ -22,2 +22,3 @@ import { AbstractUpdateService, createUpdateURL, getUpdateRequestHeaders, IUpdat
import { INodeProcess } from '../../../base/common/platform.js';
+import * as semver from 'semver';
@@ -75,13 +77,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
@@ -99,15 +100,4 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined {
- const assetID = this.productService.darwinUniversalAssetId ?? (process.arch === 'x64' ? 'darwin' : 'darwin-arm64');
- const url = createUpdateURL(this.productService.updateUrl!, assetID, quality, commit, options);
- const headers = getUpdateRequestHeaders(this.productService.version);
- try {
- electron.autoUpdater.setFeedURL({ url });
- this.logService.trace('update#buildUpdateFeedUrl - setting feed URL for Electron autoUpdater', { url, assetID, quality, commit, headers });
- electron.autoUpdater.setFeedURL({ url, headers });
- } catch (e) {
- // application is very likely not signed
- this.logService.error('Failed to set update feed URL', e);
@@ -121,14 +118,14 @@ index b20673b..af677f6 100644
+ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined {
+ return createUpdateURL(this.productService, quality, process.platform, process.arch);
}
@@ -112,3 +105,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
@@ -154,3 +144,30 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
this.logService.trace('update#doCheckForUpdates - using Electron autoUpdater', { url, explicit, background });
- electron.autoUpdater.checkForUpdates();
+ this.requestService.request({ url }, CancellationToken.None)
+ this.requestService.request({ url, callSite: NO_FETCH_TELEMETRY }, CancellationToken.None)
+ .then<IUpdate | null>(asJson)
+ .then(update => {
+ if (!update || !update.url || !update.version || !update.productVersion) {
+ this.setState(State.Idle(UpdateType.Setup));
+ this.setState(State.Idle(UpdateType.Setup, undefined, explicit || undefined));
+
+ return Promise.resolve(null);
+ }
@@ -137,7 +134,7 @@ index b20673b..af677f6 100644
+ const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3')
+
+ if(semver.compareBuild(currentVersion, fetchedVersion) >= 0) {
+ this.setState(State.Idle(UpdateType.Setup));
+ this.setState(State.Idle(UpdateType.Setup, undefined, explicit || undefined));
+ }
+ else {
+ electron.autoUpdater.setFeedURL({ url });
@@ -153,23 +150,37 @@ index b20673b..af677f6 100644
+ this.setState(State.Idle(UpdateType.Setup, message));
+ });
}
@@ -167,3 +184,3 @@ export class DarwinUpdateService extends AbstractUpdateService implements IRelau
try {
- const context = await this.requestService.request({ url, headers, callSite: 'updateService.darwin.checkForUpdates' }, CancellationToken.None);
+ const context = await this.requestService.request({ url, headers, callSite: NO_FETCH_TELEMETRY }, CancellationToken.None);
const statusCode = context.res.statusCode;
diff --git a/src/vs/platform/update/electron-main/updateService.linux.ts b/src/vs/platform/update/electron-main/updateService.linux.ts
index 32040dc..59cf109 100644
index 0eb5d74..8ce708e 100644
--- a/src/vs/platform/update/electron-main/updateService.linux.ts
+++ b/src/vs/platform/update/electron-main/updateService.linux.ts
@@ -15,2 +15,3 @@ import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/upda
@@ -13,5 +13,6 @@ import { INativeHostMainService } from '../../native/electron-main/nativeHostMai
import { IProductService } from '../../product/common/productService.js';
-import { asJson, IRequestService } from '../../request/common/request.js';
+import { asJson, IRequestService, NO_FETCH_TELEMETRY } from '../../request/common/request.js';
import { AvailableForDownload, IUpdate, State, UpdateType } from '../common/update.js';
import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js';
+import * as semver from 'semver';
@@ -30,4 +31,4 @@ export class LinuxUpdateService extends AbstractUpdateService {
@@ -32,4 +33,4 @@ export class LinuxUpdateService extends AbstractUpdateService {
- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string {
- return createUpdateURL(this.productService.updateUrl!, `linux-${process.arch}`, quality, commit, options);
+ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string {
+ return createUpdateURL(this.productService, quality, process.platform, process.arch);
}
@@ -48,5 +49,17 @@ export class LinuxUpdateService extends AbstractUpdateService {
this.setState(State.Idle(UpdateType.Archive));
@@ -46,3 +47,3 @@ export class LinuxUpdateService extends AbstractUpdateService {
- this.requestService.request({ url, callSite: 'updateService.linux.checkForUpdates' }, CancellationToken.None)
+ this.requestService.request({ url, callSite: NO_FETCH_TELEMETRY }, CancellationToken.None)
.then<IUpdate | null>(asJson)
@@ -51,5 +52,17 @@ export class LinuxUpdateService extends AbstractUpdateService {
this.setState(State.Idle(UpdateType.Archive, undefined, explicit || undefined));
- } else {
+
+ return Promise.resolve(null);
@@ -179,7 +190,7 @@ index 32040dc..59cf109 100644
+ const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3')
+
+ if(semver.compareBuild(currentVersion, fetchedVersion) >= 0) {
+ this.setState(State.Idle(UpdateType.Archive));
+ this.setState(State.Idle(UpdateType.Archive, undefined, explicit || undefined));
+ }
+ else {
this.setState(State.AvailableForDownload(update));
@@ -188,22 +199,26 @@ index 32040dc..59cf109 100644
+ return Promise.resolve(null);
})
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index 3edbd9d..6666876 100644
index d02d7c3..4e8c541 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -13,3 +13,2 @@ import { CancellationToken } from '../../../base/common/cancellation.js';
@@ -14,3 +14,2 @@ import { CancellationToken, CancellationTokenSource } from '../../../base/common
import { memoize } from '../../../base/common/decorators.js';
-import { hash } from '../../../base/common/hash.js';
import * as path from '../../../base/common/path.js';
@@ -27,4 +26,5 @@ import { asJson, IRequestService } from '../../request/common/request.js';
@@ -31,7 +30,8 @@ import { INativeHostMainService } from '../../native/electron-main/nativeHostMai
import { IProductService } from '../../product/common/productService.js';
-import { asJson, IRequestService } from '../../request/common/request.js';
+import { asJson, IRequestService, NO_FETCH_TELEMETRY } from '../../request/common/request.js';
import { ITelemetryService } from '../../telemetry/common/telemetry.js';
-import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, UpdateType } from '../common/update.js';
-import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js';
-import { AbstractUpdateService, createUpdateURL, getUpdateRequestHeaders, IUpdateURLOptions, UpdateErrorClassification } from './abstractUpdateService.js';
+import { AvailableForDownload, DisablementReason, IUpdate, State, StateType, Target, UpdateType } from '../common/update.js';
+import { AbstractUpdateService, createUpdateURL, IUpdateURLOptions } from './abstractUpdateService.js';
+import { AbstractUpdateService, createUpdateURL, getUpdateRequestHeaders, IUpdateURLOptions } from './abstractUpdateService.js';
import { INodeProcess } from '../../../base/common/platform.js';
+import * as semver from 'semver';
@@ -44,5 +44,9 @@ function getUpdateType(): UpdateType {
@@ -49,5 +49,9 @@ function getUpdateType(): UpdateType {
if (typeof _updateType === 'undefined') {
- _updateType = existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))
- ? UpdateType.Setup
@@ -216,11 +231,12 @@ index 3edbd9d..6666876 100644
+ _updateType = UpdateType.Archive;
+ }
}
@@ -65,2 +69,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
@IConfigurationService configurationService: IConfigurationService,
+ // @ts-expect-error
@ITelemetryService private readonly telemetryService: ITelemetryService,
@@ -154,12 +159,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
@@ -164,3 +168,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
} else {
- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
+ const fastUpdatesEnabled = getUpdateType() === UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
// GC for background updates in system setup happens via inno_setup since it requires
@@ -182,12 +186,22 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- protected buildUpdateFeedUrl(quality: string, commit: string, options?: IUpdateURLOptions): string | undefined {
- let platform = `win32-${process.arch}`;
@@ -229,7 +245,6 @@ index 3edbd9d..6666876 100644
- platform += '-archive';
- } else if (this.productService.target === 'user') {
- platform += '-user';
- }
+ protected buildUpdateFeedUrl(quality: string, _commit: string, _options?: IUpdateURLOptions): string | undefined {
+ let target: Target;
+
@@ -247,47 +262,82 @@ index 3edbd9d..6666876 100644
+ else {
+ target = "system"
+ }
+ }
}
- return createUpdateURL(this.productService.updateUrl!, platform, quality, commit, options);
+ return createUpdateURL(this.productService, quality, process.platform, process.arch, target);
}
@@ -185,2 +200,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
@@ -209,3 +223,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
const headers = getUpdateRequestHeaders(this.productService.version);
- this.requestService.request({ url, headers, callSite: 'updateService.win32.checkForUpdates' }, CancellationToken.None)
+ this.requestService.request({ url, headers, callSite: NO_FETCH_TELEMETRY }, CancellationToken.None)
.then<IUpdate | null>(asJson)
@@ -226,2 +240,10 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
+ const fetchedVersion = /\d+\.\d+\.\d+\.\d+/.test(update.productVersion) ? update.productVersion.replace(/(\d+\.\d+\.\d+)\.\d+(\-\w+)?/, '$1$2') : update.productVersion.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3')
+ const currentVersion = this.productService.version.replace(/(\d+\.\d+\.)0+(\d+)(\-\w+)?/, '$1$2$3')
+
+ if(semver.compareBuild(currentVersion, fetchedVersion) >= 0) {
+ this.setState(State.Idle(updateType));
+ this.setState(State.Idle(updateType, undefined, explicit || undefined));
+ return Promise.resolve(null);
+ }
+
if (updateType === UpdateType.Archive) {
@@ -211,3 +234,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
@@ -258,3 +280,3 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- const fastUpdatesEnabled = this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
+ const fastUpdatesEnabled = getUpdateType() == UpdateType.Setup && this.configurationService.getValue('update.enableWindowsBackgroundUpdates');
if (fastUpdatesEnabled) {
@@ -223,3 +246,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
- return this.requestService.request({ url: update.url, callSite: 'updateService.win32.downloadUpdate' }, CancellationToken.None)
+ return this.requestService.request({ url: update.url, callSite: NO_FETCH_TELEMETRY }, CancellationToken.None)
.then(context => {
@@ -304,3 +326,2 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
.then(undefined, err => {
- this.telemetryService.publicLog2<{ messageHash: string }, UpdateErrorClassification>('update:error', { messageHash: String(hash(String(err))) });
this.logService.error(err);
@@ -309,6 +331,14 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
} else {
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- detached: true,
- stdio: ['ignore', 'ignore', 'ignore']
- });
+ const type = getUpdateType();
+ if (type == UpdateType.WindowsInstaller) {
+ spawn('msiexec.exe', ['/i', this.availableUpdate.packagePath], {
@@ -368,20 +389,31 @@ export class Win32UpdateService extends AbstractUpdateService implements IRelaun
await pfs.Promises.writeFile(this.availableUpdate.updateFilePath, 'flag');
- const child = spawn(this.availableUpdate.packagePath,
- [
- '/verysilent',
- '/log',
- `/update="${this.availableUpdate.updateFilePath}"`,
- `/progress="${progressFilePath}"`,
- `/sessionend="${sessionEndFlagPath}"`,
- `/cancel="${cancelFilePath}"`,
- '/nocloseapplications',
- '/mergetasks=runcode,!desktopicon,!quicklaunchicon'
- ],
- {
+
+ let child: ChildProcess
+
+ const type = getUpdateType();
+ if (type == UpdateType.WindowsInstaller) {
+ child = spawn('msiexec.exe', ['/i', this.availableUpdate.packagePath], {
detached: true,
- stdio: ['ignore', 'ignore', 'ignore'],
- windowsVerbatimArguments: true,
- env: { ...process.env, __COMPAT_LAYER: 'RunAsInvoker' }
- }
- );
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ child = spawn(this.availableUpdate.packagePath,
+ [
+ '/verysilent',
+ '/log',
+ `/update="${this.availableUpdate.updateFilePath}"`,
+ `/progress="${progressFilePath}"`,
+ `/sessionend="${sessionEndFlagPath}"`,
+ `/cancel="${cancelFilePath}"`,
+ '/nocloseapplications',
+ '/mergetasks=runcode,!desktopicon,!quicklaunchicon'
+ ],
+ {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ }
}
+ stdio: ['ignore', 'ignore', 'ignore'],
+ windowsVerbatimArguments: true,
+ env: { ...process.env, __COMPAT_LAYER: 'RunAsInvoker' }
+ }
+ );
+ }

View File

@@ -8,198 +8,15 @@ APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
mkdir -p assets
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
if [[ "${CI_BUILD}" == "no" ]]; then
RUNNER_TEMP="${TMPDIR}"
fi
CERTIFICATE_P12="${APP_NAME}.p12"
KEYCHAIN="${RUNNER_TEMP}/buildagent.keychain"
AGENT_TEMPDIRECTORY="${RUNNER_TEMP}"
# shellcheck disable=SC2006
KEYCHAINS=`security list-keychains | xargs`
rm -f "${KEYCHAIN}"
echo "${CERTIFICATE_OSX_P12_DATA}" | base64 --decode > "${CERTIFICATE_P12}"
echo "+ create temporary keychain"
security create-keychain -p pwd "${KEYCHAIN}"
security set-keychain-settings -lut 21600 "${KEYCHAIN}"
security unlock-keychain -p pwd "${KEYCHAIN}"
# shellcheck disable=SC2086
security list-keychains -s $KEYCHAINS "${KEYCHAIN}"
# security show-keychain-info "${KEYCHAIN}"
echo "+ import certificate to keychain"
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_P12_PASSWORD}" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd "${KEYCHAIN}" > /dev/null
# security find-identity "${KEYCHAIN}"
CODESIGN_IDENTITY="$( security find-identity -v -p codesigning "${KEYCHAIN}" | grep -oEi "([0-9A-F]{40})" | head -n 1 )"
echo "+ signing"
export CODESIGN_IDENTITY AGENT_TEMPDIRECTORY
DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.ts "$( pwd )"
# codesign --display --entitlements :- ""
echo "+ notarize"
cd "VSCode-darwin-${VSCODE_ARCH}"
ZIP_FILE="./${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
zip -r -X -y "${ZIP_FILE}" ./*.app
xcrun notarytool store-credentials "${APP_NAME}" --apple-id "${CERTIFICATE_OSX_ID}" --team-id "${CERTIFICATE_OSX_TEAM_ID}" --password "${CERTIFICATE_OSX_APP_PASSWORD}" --keychain "${KEYCHAIN}"
# xcrun notarytool history --keychain-profile "${APP_NAME}" --keychain "${KEYCHAIN}"
xcrun notarytool submit "${ZIP_FILE}" --keychain-profile "${APP_NAME}" --wait --keychain "${KEYCHAIN}"
echo "+ attach staple"
xcrun stapler staple ./*.app
# spctl --assess -vv --type install ./*.app
rm "${ZIP_FILE}"
cd ..
fi
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Building and moving ZIP"
cd "VSCode-darwin-${VSCODE_ARCH}"
zip -r -X -y "../assets/${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ./*.app
cd ..
fi
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" && "${SHOULD_BUILD_DMG}" != "no" ]]; then
echo "Building and moving DMG"
pushd "VSCode-darwin-${VSCODE_ARCH}"
npx create-dmg ./*.app .
mv ./*.dmg "../assets/${APP_NAME}.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
popd
fi
if [[ "${SHOULD_BUILD_SRC}" == "yes" ]]; then
git archive --format tar.gz --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" HEAD
git archive --format zip --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.zip" HEAD
fi
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
echo "+ clean"
security delete-keychain "${KEYCHAIN}"
# shellcheck disable=SC2086
security list-keychains -s $KEYCHAINS
fi
. ./build/osx/prepare_assets.sh
VSCODE_PLATFORM="darwin"
elif [[ "${OS_NAME}" == "windows" ]]; then
cd vscode || { echo "'vscode' dir not found"; exit 1; }
npm run gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
fi
# . ../build/windows/appx/build.sh
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
npm run gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
npm run gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
. ../build/windows/msi/build.sh
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
. ../build/windows/msi/build-updates-disabled.sh
fi
fi
cd ..
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
echo "Moving System EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
echo "Moving User EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
echo "Moving MSI"
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" assets/
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
echo "Moving MSI with disabled updates"
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" assets/
fi
fi
. ./build/windows/prepare_assets.sh
VSCODE_PLATFORM="win32"
else
cd vscode || { echo "'vscode' dir not found"; exit 1; }
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" && "${VSCODE_ARCH}" != "x64" ]]; then
SHOULD_BUILD_APPIMAGE="no"
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-deb"
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-rpm"
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
. ../build/linux/appimage/build.sh
fi
cd ..
if [[ "${CI_BUILD}" == "no" ]]; then
. ./stores/snapcraft/build.sh
if [[ "${SKIP_ASSETS}" == "no" ]]; then
mv stores/snapcraft/build/*.snap assets/
fi
fi
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
echo "Building and moving TAR"
cd "VSCode-linux-${VSCODE_ARCH}"
tar czf "../assets/${APP_NAME}-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
cd ..
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
echo "Moving DEB"
mv vscode/.build/linux/deb/*/deb/*.deb assets/
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
echo "Moving RPM"
mv vscode/.build/linux/rpm/*/*.rpm assets/
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
echo "Moving AppImage"
mv build/linux/appimage/out/*.AppImage* assets/
find assets -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
fi
. ./build/linux/prepare_assets.sh
VSCODE_PLATFORM="linux"
fi

View File

@@ -99,7 +99,8 @@
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"tunnels"
"tunnels",
"browser"
],
"ms-toolsai.vscode-ai-remote": [
"resolvers",
@@ -120,7 +121,8 @@
],
"ms-python.vscode-python-envs": [
"terminalShellEnv",
"terminalDataWriteEvent"
"terminalDataWriteEvent",
"taskExecutionTerminal"
],
"ms-dotnettools.dotnet-interactive-vscode": [
"notebookMessaging"
@@ -200,7 +202,8 @@
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"tunnels"
"tunnels",
"browser"
],
"ms-vscode.lsif-browser": [
"documentFiltersExclusive"
@@ -250,6 +253,7 @@
"devDeviceId"
],
"GitHub.copilot-chat": [
"agentSessionsWorkspace",
"interactive",
"terminalDataWriteEvent",
"terminalExecuteCommandEvent",
@@ -305,7 +309,11 @@
"chatPromptFiles",
"mcpServerDefinitions",
"tabInputMultiDiff",
"workspaceTrust"
"workspaceTrust",
"chatHooks",
"chatDebug",
"environmentPower",
"terminalTitle"
],
"GitHub.remotehub": [
"contribRemoteHelp",
@@ -378,6 +386,10 @@
"ms-dotnettools.vscodeintellicode-csharp": [
"inlineCompletionsAdditions"
],
"ms-dotnettools.vscode-dotnet-modernize": [
"chatParticipantAdditions",
"chatPromptFiles"
],
"microsoft-IsvExpTools.powerplatform-vscode": [
"fileSearchProvider",
"textSearchProvider"
@@ -388,7 +400,8 @@
],
"TeamsDevApp.ms-teams-vscode-extension": [
"chatParticipantAdditions",
"languageModelSystem"
"languageModelSystem",
"mcpServerDefinitions"
],
"ms-toolsai.datawrangler": [],
"ms-vscode.vscode-commander": [],
@@ -417,6 +430,13 @@
"languageModelProxy",
"chatSessionsProvider"
],
"TypeScriptTeam.native-preview": [
"editorHoverVerbosityLevel",
"multiDocumentHighlightProvider"
],
"ms-vscode.vscode-eng-codereview": [
"chatContextProvider"
],
"jeanp413.open-remote-ssh": [
"resolvers",
"tunnels",

View File

@@ -221,7 +221,15 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@)
<table>
<tr>
<td rowspan="3">Linux</td>
<td rowspan="6">Linux</td>
<td>.deb</td>
<td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@_@@VERSION@@_ppc64el.deb">@@BINARY_NAME@@_@@VERSION@@_ppc64el.deb</a></td>
</tr>
<tr>
<td>.rpm</td>
<td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@BINARY_NAME@@-@@VERSION@@-el8.ppc64le.rpm">@@BINARY_NAME@@-@@VERSION@@-el8.ppc64le.rpm</a></td>
</tr>
<tr>
<td>.tar.gz</td>
<td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@APP_NAME@@-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz">@@APP_NAME@@-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz</a></td>
</tr>
@@ -233,6 +241,10 @@ update vscode to [@@MS_TAG@@](@@MS_URL@@)
<td>Web Host</td>
<td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@APP_NAME_LC@@-reh-web-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz">@@APP_NAME_LC@@-reh-web-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz</a></td>
</tr>
<tr>
<td>CLI</td>
<td><a href="https://github.com/@@ASSETS_REPOSITORY@@/releases/download/@@VERSION@@@@QUALITY@@/@@APP_NAME_LC@@-cli-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz">@@APP_NAME_LC@@-cli-linux-ppc64le-@@VERSION@@@@QUALITY@@.tar.gz</a></td>
</tr>
</table>
## RISC-V 64bits

View File

@@ -26,9 +26,15 @@ else
sudo snap install --channel "${CHANNEL}" --classic snapcraft
if [[ ! "$( snapcraft whoami )" =~ "${SNAP_PUBLISHER}" ]]; then
echo "FATAL -- Not authentificated"
exit 1
fi
echo "Architecture: ${ARCHITECTURE}"
SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "${CHANNEL}*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
SNAP_VERSION=$( snapcraft revisions "${SNAP_NAME}" | grep -F "${CHANNEL}*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
echo "Snap version: ${SNAP_VERSION}"
if [[ -n "${SNAP_VERSION}" && "${SNAP_VERSION}" != "${RELEASE_VERSION}" ]]; then
@@ -45,4 +51,8 @@ if [[ "${GITHUB_ENV}" ]]; then
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
echo "SHOULD_DEPLOY_TO_RELEASE=${SHOULD_DEPLOY_TO_RELEASE}" >> "${GITHUB_ENV}"
echo "SHOULD_DEPLOY_TO_STORE=${SHOULD_DEPLOY_TO_STORE}" >> "${GITHUB_ENV}"
else
echo "SHOULD_BUILD=${SHOULD_BUILD}"
echo "SHOULD_DEPLOY_TO_RELEASE=${SHOULD_DEPLOY_TO_RELEASE}"
echo "SHOULD_DEPLOY_TO_STORE=${SHOULD_DEPLOY_TO_STORE}"
fi

View File

@@ -1,4 +1,4 @@
{
"tag": "1.109.0",
"commit": "bdd88df003631aaa0bcbe057cb0a940b80a476fa"
"tag": "1.112.0",
"commit": "07ff9d6178ede9a1bd12ad3399074d726ebe6e43"
}

View File

@@ -1,4 +1,4 @@
{
"tag": "1.109.5",
"commit": "072586267e68ece9a47aa43f8c108e0dcbf44622"
"tag": "1.112.0",
"commit": "07ff9d6178ede9a1bd12ad3399074d726ebe6e43"
}