Showing preview only (5,404K chars total). Download the full file or copy to clipboard to get everything.
Repository: VSCodium/vscodium
Branch: master
Commit: 2321c2c69516
Files: 253
Total size: 5.1 MB
Directory structure:
gitextract_qyl36xte/
├── .editorconfig
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ └── bug_report.md
│ ├── dependabot.yml
│ └── workflows/
│ ├── insider-linux.yml
│ ├── insider-macos.yml
│ ├── insider-spearhead.yml
│ ├── insider-windows.yml
│ ├── lock.yml
│ ├── stable-linux.yml
│ ├── stable-macos.yml
│ ├── stable-spearhead.yml
│ ├── stable-windows.yml
│ └── stale.yml
├── .gitignore
├── .nvmrc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── FUNDING.json
├── LICENSE
├── README.md
├── announcements-builtin.json
├── announcements-extra.json
├── build/
│ ├── alpine/
│ │ └── package_reh.sh
│ ├── linux/
│ │ ├── appimage/
│ │ │ ├── build.sh
│ │ │ └── recipe.yml
│ │ ├── deps.sh
│ │ ├── install_gh.sh
│ │ ├── install_nodejs.sh
│ │ ├── loong64/
│ │ │ ├── electron.sh
│ │ │ ├── electron.sha256sums
│ │ │ └── ripgrep.sh
│ │ ├── package_bin.sh
│ │ ├── package_reh.sh
│ │ ├── ppc64le/
│ │ │ ├── electron.sh
│ │ │ └── electron.sha256sums
│ │ ├── riscv64/
│ │ │ ├── electron.sh
│ │ │ ├── electron.sha256sums
│ │ │ └── ripgrep.sh
│ │ ├── verify_abi_requirements.sh
│ │ └── verify_cxx11_requirements.sh
│ ├── osx/
│ │ └── include.gypi
│ └── windows/
│ ├── appx/
│ │ └── build.sh
│ ├── msi/
│ │ ├── build-updates-disabled.sh
│ │ ├── build.sh
│ │ ├── i18n/
│ │ │ ├── vscodium.de-de.wxl
│ │ │ ├── vscodium.en-us.wxl
│ │ │ ├── vscodium.es-es.wxl
│ │ │ ├── vscodium.fr-fr.wxl
│ │ │ ├── vscodium.it-it.wxl
│ │ │ ├── vscodium.ja-jp.wxl
│ │ │ ├── vscodium.ko-kr.wxl
│ │ │ ├── vscodium.ru-ru.wxl
│ │ │ ├── vscodium.zh-cn.wxl
│ │ │ └── vscodium.zh-tw.wxl
│ │ ├── includes/
│ │ │ └── vscodium-variables.wxi
│ │ ├── vscodium.wxs
│ │ └── vscodium.xsl
│ ├── package.sh
│ └── rtf/
│ └── make.sh
├── build.sh
├── build_cli.sh
├── check_cron_or_pr.sh
├── check_tags.sh
├── dev/
│ ├── build.ps1
│ ├── build.sh
│ ├── build_docker.sh
│ ├── cli.sh
│ ├── merge-patches.sh
│ ├── osx/
│ │ └── codesign.env.template
│ ├── patch.sh
│ ├── update_api.sh
│ └── update_patches.sh
├── docs/
│ ├── accounts-authentication.md
│ ├── ext-github-copilot.md
│ ├── extensions-compatibility.md
│ ├── extensions.md
│ ├── getting-started.md
│ ├── howto-build.md
│ ├── index.md
│ ├── migration.md
│ ├── others.md
│ ├── telemetry.md
│ ├── troubleshooting.md
│ └── usage.md
├── font-size/
│ ├── .artifactrc.yml
│ ├── .editorconfig
│ ├── .fixpackrc
│ ├── .gitignore
│ ├── .nvmrc
│ ├── .vscode/
│ │ └── settings.json
│ ├── .xo-config.json
│ ├── generate-css.ts
│ ├── package.json
│ ├── tsconfig.base.json
│ └── tsconfig.json
├── get_pr.sh
├── get_repo.sh
├── icons/
│ ├── README.md
│ └── build_icons.sh
├── npmrc
├── patches/
│ ├── add-remote-url.patch
│ ├── alpine/
│ │ └── reh/
│ │ └── fix-node-docker.patch
│ ├── binary-name.patch
│ ├── brand.patch
│ ├── cli.patch
│ ├── disable-cloud.patch
│ ├── disable-copilot.patch
│ ├── disable-missing-vsda.patch
│ ├── disable-signature-verification.patch
│ ├── disable-update.patch.yet
│ ├── disable-vscodedev.patch
│ ├── ext-from-gh.patch
│ ├── extensions-disable-mangler.patch
│ ├── feat-announcements.patch
│ ├── feat-command-filter.patch
│ ├── feat-experimental-font.patch
│ ├── feat-ext-unsafe.patch
│ ├── feat-user-product.patch
│ ├── fix-build-vsce.patch
│ ├── fix-eol-banner.patch
│ ├── fix-extensions-control-connection.patch
│ ├── fix-gallery.patch
│ ├── fix-keymap.patch
│ ├── fix-npm-preinstall.patch
│ ├── fix-policies.patch
│ ├── fix-remote-libs.patch
│ ├── fix-tunnel-extension-recommendation.patch
│ ├── helper/
│ │ └── settings.patch
│ ├── insider/
│ │ └── system-extensions.patch
│ ├── linux/
│ │ ├── arch-0-support.patch
│ │ ├── arch-1-ppc64le.patch
│ │ ├── arch-2-riscv64.patch
│ │ ├── arch-3-loong64.patch
│ │ ├── arch-4-s390x.patch
│ │ ├── cli.patch
│ │ ├── client/
│ │ │ ├── avoid-crash-16k-page-size.patch
│ │ │ └── disable-remote.patch
│ │ ├── feat-logs-home.patch
│ │ ├── fix-build.patch
│ │ ├── fix-global-policy.patch
│ │ ├── fix-npm-postinstall.patch
│ │ ├── fix-reh-bootstrap.patch
│ │ ├── reh/
│ │ │ └── s390x/
│ │ │ └── package.json.patch
│ │ ├── rpm.patch
│ │ └── update-xdg-path.patch
│ ├── optional-tree-sitter.patch
│ ├── osx/
│ │ ├── fix-codesign.patch.no
│ │ └── fix-emulated-urls.patch
│ ├── remove-mangle.patch
│ ├── report-issue.patch
│ ├── sourcemaps.patch
│ ├── telemetry.patch
│ ├── terminal-suggest.patch
│ ├── update-cache-path.patch
│ ├── update-electron.patch.no
│ ├── use-github-pat.patch
│ ├── user/
│ │ └── readme.txt
│ ├── version-0-release.patch
│ ├── version-1-update.patch
│ └── windows/
│ ├── appx.patch
│ ├── cli.patch
│ └── win7.patch
├── prepare_assets.sh
├── prepare_checksums.sh
├── prepare_src.sh
├── prepare_vscode.sh
├── product.json
├── release.sh
├── release_notes.md
├── src/
│ ├── insider/
│ │ └── resources/
│ │ ├── darwin/
│ │ │ ├── bat.icns
│ │ │ ├── bower.icns
│ │ │ ├── c.icns
│ │ │ ├── code.icns
│ │ │ ├── config.icns
│ │ │ ├── cpp.icns
│ │ │ ├── csharp.icns
│ │ │ ├── css.icns
│ │ │ ├── default.icns
│ │ │ ├── go.icns
│ │ │ ├── html.icns
│ │ │ ├── jade.icns
│ │ │ ├── java.icns
│ │ │ ├── javascript.icns
│ │ │ ├── json.icns
│ │ │ ├── less.icns
│ │ │ ├── markdown.icns
│ │ │ ├── php.icns
│ │ │ ├── powershell.icns
│ │ │ ├── python.icns
│ │ │ ├── react.icns
│ │ │ ├── ruby.icns
│ │ │ ├── sass.icns
│ │ │ ├── shell.icns
│ │ │ ├── sql.icns
│ │ │ ├── typescript.icns
│ │ │ ├── vue.icns
│ │ │ ├── xml.icns
│ │ │ └── yaml.icns
│ │ ├── linux/
│ │ │ ├── code-url-handler.desktop
│ │ │ ├── code.appdata.xml
│ │ │ ├── code.desktop
│ │ │ └── rpm/
│ │ │ └── code.xpm
│ │ └── win32/
│ │ └── VisualElementsManifest.xml
│ └── stable/
│ └── resources/
│ ├── darwin/
│ │ ├── bat.icns
│ │ ├── bower.icns
│ │ ├── c.icns
│ │ ├── code.icns
│ │ ├── config.icns
│ │ ├── cpp.icns
│ │ ├── csharp.icns
│ │ ├── css.icns
│ │ ├── default.icns
│ │ ├── go.icns
│ │ ├── html.icns
│ │ ├── jade.icns
│ │ ├── java.icns
│ │ ├── javascript.icns
│ │ ├── json.icns
│ │ ├── less.icns
│ │ ├── markdown.icns
│ │ ├── php.icns
│ │ ├── powershell.icns
│ │ ├── python.icns
│ │ ├── react.icns
│ │ ├── ruby.icns
│ │ ├── sass.icns
│ │ ├── shell.icns
│ │ ├── sql.icns
│ │ ├── typescript.icns
│ │ ├── vue.icns
│ │ ├── xml.icns
│ │ └── yaml.icns
│ ├── linux/
│ │ ├── code-url-handler.desktop
│ │ ├── code.appdata.xml
│ │ ├── code.desktop
│ │ └── rpm/
│ │ └── code.xpm
│ └── win32/
│ └── VisualElementsManifest.xml
├── stores/
│ ├── snapcraft/
│ │ ├── check_version.sh
│ │ ├── insider/
│ │ │ └── snap/
│ │ │ ├── hooks/
│ │ │ │ └── configure
│ │ │ ├── local/
│ │ │ │ └── bin/
│ │ │ │ └── electron-launch
│ │ │ └── snapcraft.yaml
│ │ └── stable/
│ │ └── snap/
│ │ ├── hooks/
│ │ │ └── configure
│ │ ├── local/
│ │ │ └── bin/
│ │ │ └── electron-launch
│ │ └── snapcraft.yaml
│ └── winget/
│ └── check_version.sh
├── undo_telemetry.sh
├── update_upstream.sh
├── update_version.sh
├── upload_sourcemaps.sh
├── upstream/
│ ├── insider.json
│ └── stable.json
├── utils.sh
└── version.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.sh]
indent_style = space
indent_size = 2
[*.{yml,yaml}]
indent_style = space
indent_size = 2
[*.patch]
trim_trailing_whitespace = false
insert_final_newline = false
[*.svg]
insert_final_newline = false
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**Please confirm that this problem is VSCodium-specific**
- [ ] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
**Please confirm that the issue/resolution isn't already documented**
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) and my issue is not mentioned there.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Mac OS, Ubuntu 20.04, etc]
- Architecture [e.g. x64, ia32, arm64]
- Version [e.g. 1.33.0]
- App Manager [e.g. Winget, Homebrew, Snap, AUR, RPM, Nix, ...]
- Sandboxed [e.g. no, Flatpak, Snap]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
target-branch: insider
schedule:
interval: "weekly"
================================================
FILE: .github/workflows/insider-linux.yml
================================================
name: insider-linux
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [insider]
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
BINARY_NAME: codium-insiders
DISABLE_UPDATE: 'yes'
GH_REPO_PATH: ${{ github.repository }}
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: linux
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: insider
jobs:
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Clone VSCode repo
run: ./get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
compile:
needs:
- check
runs-on: ubuntu-22.04
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
image: vscodium/vscodium-linux-build-agent:focal-x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:focal-arm64
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:focal-armhf
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
image: vscodium/vscodium-linux-build-agent:focal-riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
image: vscodium/vscodium-linux-build-agent:crimson-loong64
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
container:
image: ${{ matrix.image }}
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_APP_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
CHECK_REH: 'no'
DISABLE_APPIMAGE: ${{ vars.DISABLE_INSIDER_APPIMAGE }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install dependencies
run: ./build/linux/deps.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- uses: actions-rust-lang/setup-rust-toolchain@v1
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/linux/package_bin.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./prepare_assets.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_linux:
needs:
- check
- compile
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
- slug: S390X
vscode_arch: s390x
npm_arch: s390x
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_INSIDER_LINUX_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.DISABLED != 'yes'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
if: env.DISABLED != 'yes'
- name: Download vscode artifact
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')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/linux/package_reh.sh
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
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@v7
with:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_alpine:
needs:
- check
- compile
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_INSIDER_ALPINE_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
OS_NAME: alpine
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
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')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/alpine/package_reh.sh
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
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@v7
with:
name: reh-alpine-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
aur:
needs:
- check
- build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- package_name: vscodium-insiders-bin
- package_name: vscodium-insiders
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
steps:
- name: Get version
env:
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
run: echo "PACKAGE_VERSION=${RELEASE_VERSION/-*/}" >> "${GITHUB_ENV}"
- name: Publish ${{ matrix.package_name }}
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: ${{ matrix.package_name }}
package_version: ${{ env.PACKAGE_VERSION }}
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
snap:
needs:
- check
- build
runs-on: ubuntu-latest
env:
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SNAP_NAME: codium-insiders
strategy:
fail-fast: false
matrix:
platform:
- amd64
- arm64
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_INSIDER_SNAP != 'yes'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- uses: docker/setup-qemu-action@v4
- uses: diddlesnaps/snapcraft-multiarch-action@v1
with:
path: stores/snapcraft/insider
architecture: ${{ matrix.platform }}
id: build
# - uses: diddlesnaps/snapcraft-review-action@v1
# with:
# snap: ${{ steps.build.outputs.snap }}
# isClassic: 'true'
- uses: svenstaro/upload-release-action@v2
with:
repo_name: ${{ env.ASSETS_REPOSITORY }}
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
file: ${{ steps.build.outputs.snap }}
tag: ${{ env.RELEASE_VERSION }}
deploy-repo-dev:
needs:
- check
- build
runs-on: ubuntu-latest
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
steps:
- name: Trigger repository rebuild
uses: peter-evans/repository-dispatch@v4
with:
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
repository: VSCodium/repositories-linux
event-type: deploy
================================================
FILE: .github/workflows/insider-macos.yml
================================================
name: insider-macos
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [insider]
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
BINARY_NAME: codium-insiders
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: osx
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: insider
jobs:
build:
runs-on: ${{ matrix.runner }}
env:
VSCODE_ARCH: ${{ matrix.vscode_arch }}
strategy:
fail-fast: false
matrix:
include:
- runner: macos-15-intel
vscode_arch: x64
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: . get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.VSCODE_ARCH == 'x64'
- name: Clone VSCode repo
run: . get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: . check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: . check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
- name: Clean up keychain
if: always()
run: |
KEYCHAIN=$RUNNER_TEMP/build.keychain
if [ -f "$KEYCHAIN" ];
then
security delete-keychain $KEYCHAIN
fi
================================================
FILE: .github/workflows/insider-spearhead.yml
================================================
name: insider-spearhead
on:
workflow_dispatch:
inputs:
new_release:
type: boolean
description: Force new Release
force_dispatch:
type: boolean
description: Force dispatch
dont_update:
type: boolean
description: Don't update VSCode
dont_dispatch:
type: boolean
description: Disable dispatch
schedule:
- cron: '0 7 * * *'
jobs:
build:
runs-on: macos-14
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
BINARY_NAME: codium-insiders
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: osx
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_ARCH: arm64
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
VSCODE_QUALITY: insider
steps:
- uses: actions/checkout@v6
with:
ref: insider
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Clone VSCode repo
run: . get_repo.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
IS_SPEARHEAD: 'yes'
run: . check_tags.sh
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v7
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
- name: Update upstream version
run: ./update_upstream.sh
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
- name: Prepare source
run: ./prepare_src.sh
if: env.SHOULD_BUILD == 'yes'
- name: Upload sourcemaps
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./upload_sourcemaps.sh
if: env.SHOULD_BUILD == 'yes'
- name: Release source
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes'
- name: Dispatch builds
uses: peter-evans/repository-dispatch@v4
with:
event-type: insider
if: github.event.inputs.dont_dispatch != 'true' && (env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true')
================================================
FILE: .github/workflows/insider-windows.yml
================================================
name: insider-windows
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [insider]
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
BINARY_NAME: codium-insiders
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: windows
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: insider
jobs:
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Clone VSCode repo
run: ./get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
compile:
needs:
- check
runs-on: windows-2022
defaults:
run:
shell: bash
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
# - name: Setup GCC
# uses: egor-tensin/setup-gcc@v1
# with:
# version: 10
# platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
# - name: Install libkrb5-dev
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
# if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
- arm64
defaults:
run:
shell: bash
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Check existing VSCodium tags/releases
env:
DISABLE_MSI: ${{ vars.DISABLE_INSIDER_MSI }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v8
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.vscode_arch }}
npm_config_target_arch: ${{ matrix.vscode_arch }}
run: ./build/windows/package.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v7
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
assets/*.exe
assets/*.msi
retention-days: 1
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Signing
uses: signpath/github-action-submit-signing-request@v2
with:
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
artifact-configuration-slug: ${{ matrix.vscode_arch }}
wait-for-completion: true
# 3h to manually approve the request
wait-for-completion-timeout-in-seconds: 10800
output-artifact-directory: assets/
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Prepare checksums
run: ./prepare_checksums.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
winget:
needs: build
runs-on: windows-2022
defaults:
run:
shell: bash
env:
APP_IDENTIFIER: VSCodium.VSCodium.Insiders
ASSETS_REPOSITORY: vscodium-insiders
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Check version
run: ./stores/winget/check_version.sh
env:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal9/winget-releaser@main
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}
release-repository: ${{ env.ASSETS_REPOSITORY }}
release-tag: ${{ env.RELEASE_VERSION }}-insider
installers-regex: '\.exe$' # only .exe files
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
if: env.SHOULD_DEPLOY == 'yes'
================================================
FILE: .github/workflows/lock.yml
================================================
name: Lock Closed Threads
on:
schedule:
- cron: '0 2 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v6
with:
github-token: ${{ github.token }}
issue-inactive-days: '90'
pr-inactive-days: '90'
discussion-inactive-days: '90'
log-output: true
================================================
FILE: .github/workflows/stable-linux.yml
================================================
name: stable-linux
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [stable]
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
BINARY_NAME: codium
DISABLE_UPDATE: 'yes'
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: linux
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: stable
jobs:
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Clone VSCode repo
run: ./get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
compile:
needs:
- check
runs-on: ubuntu-22.04
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.SHOULD_BUILD == 'yes'
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
image: vscodium/vscodium-linux-build-agent:focal-x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:focal-arm64
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:focal-armhf
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
image: vscodium/vscodium-linux-build-agent:focal-riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
image: vscodium/vscodium-linux-build-agent:crimson-loong64
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
container:
image: ${{ matrix.image }}
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_APP_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
CHECK_REH: 'no'
DISABLE_APPIMAGE: ${{ vars.DISABLE_STABLE_APPIMAGE }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Install dependencies
run: ./build/linux/deps.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- uses: actions-rust-lang/setup-rust-toolchain@v1
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v8
with:
name: vscode
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/linux/package_bin.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./prepare_assets.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_linux:
needs:
- check
- compile
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
- slug: ARM32
vscode_arch: armhf
npm_arch: arm
- slug: PPC64
vscode_arch: ppc64le
npm_arch: ppc64
- slug: RISCV64
vscode_arch: riscv64
npm_arch: riscv64
- slug: LOONG64
vscode_arch: loong64
npm_arch: loong64
- slug: S390X
vscode_arch: s390x
npm_arch: s390x
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_STABLE_LINUX_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.DISABLED != 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.DISABLED != 'yes'
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
if: env.DISABLED != 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.DISABLED != 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.DISABLED != 'yes'
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.DISABLED != 'yes'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
if: env.DISABLED != 'yes'
- name: Download vscode artifact
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')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/linux/package_reh.sh
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
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@v7
with:
name: reh-linux-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
reh_alpine:
needs:
- check
- compile
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- slug: X64
vscode_arch: x64
npm_arch: x64
- slug: ARM64
vscode_arch: arm64
npm_arch: arm64
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
DISABLED: ${{ vars[format('DISABLE_STABLE_ALPINE_REH_{0}', matrix.slug)] }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
OS_NAME: alpine
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Setup GCC
uses: egor-tensin/setup-gcc@v2
with:
version: 10
platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Install GH
run: ./build/linux/install_gh.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ONLY_REH: 'yes'
run: ./check_tags.sh
- name: Install libkrb5-dev
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
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')
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build/alpine/package_reh.sh
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
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@v7
with:
name: reh-alpine-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
aur:
needs:
- check
- build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- package_name: vscodium
package_type: stable
# - package_name: vscodium-git
# package_type: rolling
if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
steps:
- name: Publish ${{ matrix.package_name }}
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: ${{ matrix.package_name }}
package_type: ${{ matrix.package_type }}
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
snap:
needs:
- check
- build
runs-on: ubuntu-latest
env:
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SNAP_NAME: codium
strategy:
fail-fast: false
matrix:
platform:
- amd64
- arm64
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_STABLE_SNAP != 'yes'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Check version
env:
ARCHITECTURE: ${{ matrix.platform }}
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
SNAPCRAFT_STORE_CHANNEL: ${{ vars.SNAP_STORE_CHANNEL }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
- uses: docker/setup-qemu-action@v4
if: env.SHOULD_BUILD == 'yes'
- uses: diddlesnaps/snapcraft-multiarch-action@v1
with:
path: stores/snapcraft/stable
architecture: ${{ matrix.platform }}
id: build
if: env.SHOULD_BUILD == 'yes'
- uses: diddlesnaps/snapcraft-review-action@v1
with:
snap: ${{ steps.build.outputs.snap }}
isClassic: 'true'
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes' || env.SHOULD_DEPLOY_TO_STORE == 'yes'
- uses: svenstaro/upload-release-action@v2
with:
repo_name: ${{ env.ASSETS_REPOSITORY }}
repo_token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
file: ${{ steps.build.outputs.snap }}
tag: ${{ env.RELEASE_VERSION }}
if: env.SHOULD_DEPLOY_TO_RELEASE == 'yes'
- uses: snapcore/action-publish@master
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
with:
snap: ${{ steps.build.outputs.snap }}
release: ${{ vars.SNAP_STORE_CHANNEL }}
if: env.SHOULD_DEPLOY_TO_STORE == 'yes'
deploy-repo-rudy:
needs:
- check
- build
runs-on: ubuntu-latest
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
steps:
- name: Trigger repository rebuild
env:
GL_PAGES_TOKEN: ${{ secrets.GL_PAGES_TOKEN }}
run: curl -X POST --fail -F token="${GL_PAGES_TOKEN}" -F ref=master https://gitlab.com/api/v4/projects/8762263/trigger/pipeline
deploy-repo-dev:
needs:
- check
- build
runs-on: ubuntu-latest
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && github.event.inputs.generate_assets != 'true'
steps:
- name: Trigger repository rebuild
uses: peter-evans/repository-dispatch@v4
with:
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
repository: VSCodium/repositories-linux
event-type: deploy
================================================
FILE: .github/workflows/stable-macos.yml
================================================
name: stable-macos
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [stable]
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
BINARY_NAME: codium
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: osx
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: stable
jobs:
build:
runs-on: ${{ matrix.runner }}
env:
VSCODE_ARCH: ${{ matrix.vscode_arch }}
strategy:
fail-fast: false
matrix:
include:
- runner: macos-15-intel
vscode_arch: x64
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: . get_pr.sh
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.VSCODE_ARCH == 'x64'
- name: Clone VSCode repo
run: . get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: . check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: . check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
CERTIFICATE_OSX_APP_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_APP_PASSWORD }}
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_NEW_ID }}
CERTIFICATE_OSX_P12_DATA: ${{ secrets.CERTIFICATE_OSX_NEW_P12_DATA }}
CERTIFICATE_OSX_P12_PASSWORD: ${{ secrets.CERTIFICATE_OSX_NEW_P12_PASSWORD }}
CERTIFICATE_OSX_TEAM_ID: ${{ secrets.CERTIFICATE_OSX_NEW_TEAM_ID }}
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
- name: Clean up keychain
if: always()
run: |
KEYCHAIN=$RUNNER_TEMP/build.keychain
if [ -f "$KEYCHAIN" ];
then
security delete-keychain $KEYCHAIN
fi
================================================
FILE: .github/workflows/stable-spearhead.yml
================================================
name: stable-spearhead
on:
workflow_dispatch:
inputs:
new_release:
type: boolean
description: Force new Release
force_dispatch:
type: boolean
description: Force dispatch
dont_update:
type: boolean
description: Don't update VSCode
schedule:
- cron: '0 18 * * *'
jobs:
build:
runs-on: macos-14
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
BINARY_NAME: codium
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: osx
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_ARCH: arm64
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
VSCODE_QUALITY: stable
steps:
- uses: actions/checkout@v6
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Clone VSCode repo
run: . get_repo.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
IS_SPEARHEAD: 'yes'
run: . check_tags.sh
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v7
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
- name: Update upstream version
run: ./update_upstream.sh
if: env.SHOULD_BUILD == 'yes' && github.event.inputs.dont_update != 'true'
- name: Prepare source
run: ./prepare_src.sh
if: env.SHOULD_BUILD == 'yes'
- name: Upload sourcemaps
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./upload_sourcemaps.sh
if: env.SHOULD_BUILD == 'yes'
- name: Release source
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes'
- name: Dispatch builds
uses: peter-evans/repository-dispatch@v4
with:
event-type: stable
if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true'
================================================
FILE: .github/workflows/stable-windows.yml
================================================
name: stable-windows
on:
workflow_dispatch:
inputs:
force_version:
type: boolean
description: Force update version
generate_assets:
type: boolean
description: Generate assets
checkout_pr:
type: string
description: Checkout PR
repository_dispatch:
types: [stable]
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
- 'upstream/*.json'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
BINARY_NAME: codium
GH_REPO_PATH: ${{ github.repository }}
ORG_NAME: ${{ github.repository_owner }}
OS_NAME: windows
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
VSCODE_QUALITY: stable
jobs:
check:
runs-on: ubuntu-latest
outputs:
MS_COMMIT: ${{ env.MS_COMMIT }}
MS_TAG: ${{ env.MS_TAG }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
- name: Clone VSCode repo
run: ./get_repo.sh
- name: Check PR or cron
env:
GENERATE_ASSETS: ${{ github.event.inputs.generate_assets }}
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECK_ALL: 'yes'
run: ./check_tags.sh
compile:
needs:
- check
runs-on: windows-2022
defaults:
run:
shell: bash
env:
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
VSCODE_ARCH: 'x64'
outputs:
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
# - name: Setup GCC
# uses: egor-tensin/setup-gcc@v1
# with:
# version: 10
# platform: x64
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
# - name: Install libkrb5-dev
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
# if: env.SHOULD_BUILD == 'yes'
- name: Clone VSCode repo
run: ./get_repo.sh
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
SHOULD_BUILD_REH: 'no'
SHOULD_BUILD_REH_WEB: 'no'
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Compress vscode artifact
run: |
find vscode -type f -not -path "*/node_modules/*" -not -path "vscode/.build/node/*" -not -path "vscode/.git/*" > vscode.txt
echo "vscode/.build/extensions/node_modules" >> vscode.txt
echo "vscode/.git" >> vscode.txt
tar -czf vscode.tar.gz -T vscode.txt
if: env.SHOULD_BUILD == 'yes'
- name: Upload vscode artifact
uses: actions/upload-artifact@v7
with:
name: vscode
path: ./vscode.tar.gz
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
if: env.SHOULD_BUILD == 'yes'
build:
needs:
- check
- compile
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
- arm64
defaults:
run:
shell: bash
env:
BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
VSCODE_ARCH: ${{ matrix.vscode_arch }}
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
if: env.SHOULD_BUILD == 'yes'
- name: Switch to relevant branch
env:
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
run: ./get_pr.sh
if: env.SHOULD_BUILD == 'yes'
- name: Setup Node.js environment
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
if: env.SHOULD_BUILD == 'yes'
- name: Setup Python 3
uses: actions/setup-python@v6
with:
python-version: '3.11'
if: env.SHOULD_BUILD == 'yes'
- name: Check existing VSCodium tags/releases
env:
DISABLE_MSI: ${{ vars.DISABLE_STABLE_MSI }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_BUILD == 'yes'
- name: Download vscode artifact
uses: actions/download-artifact@v8
with:
name: vscode
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.vscode_arch }}
npm_config_target_arch: ${{ matrix.vscode_arch }}
run: ./build/windows/package.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Upload unsigned artifacts
id: upload-unsigned-artifacts
uses: actions/upload-artifact@v7
with:
name: unsigned-${{ matrix.vscode_arch }}
path: |
assets/*.exe
assets/*.msi
retention-days: 1
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Signing
uses: signpath/github-action-submit-signing-request@v2
with:
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
project-slug: ${{ secrets.SIGNPATH_PROJECT_SLUG }}
signing-policy-slug: ${{ secrets.SIGNPATH_POLICY_SLUG }}
github-artifact-id: ${{ steps.upload-unsigned-artifacts.outputs.artifact-id }}
artifact-configuration-slug: ${{ matrix.vscode_arch }}
wait-for-completion: true
# 8h to manually approve the request
wait-for-completion-timeout-in-seconds: 28800
output-artifact-directory: assets/
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Prepare checksums
run: ./prepare_checksums.sh
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Upload assets
uses: actions/upload-artifact@v7
with:
name: bin-${{ matrix.vscode_arch }}
path: assets/
retention-days: 3
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
winget:
needs: build
runs-on: windows-2022
defaults:
run:
shell: bash
env:
APP_IDENTIFIER: VSCodium.VSCodium
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v6
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: Check version
run: ./stores/winget/check_version.sh
env:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal9/winget-releaser@main
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}
release-tag: ${{ env.RELEASE_VERSION }}
installers-regex: '\.exe$' # only .exe files
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
if: env.SHOULD_DEPLOY == 'yes'
================================================
FILE: .github/workflows/stale.yml
================================================
name: Stale Issues
on:
schedule:
- cron: '0 1 * * *'
permissions:
issues: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
with:
days-before-stale: 180
days-before-close: 30
stale-issue-label: stale
operations-per-run: 1024
stale-issue-message: >
This issue has been automatically marked as stale. **If this issue is still affecting you, please leave any comment**, and we'll keep it open. If you have any new additional information, please include it with your comment!
close-issue-message: >
This issue has been closed due to inactivity, and will not be monitored. If this is a bug and you can reproduce this issue, please open a new issue.
exempt-issue-labels: discussion,never-stale
only-pr-labels: needs-information
================================================
FILE: .gitignore
================================================
vscode*
VS*/*
VSCode*
VSCodium*
.DS_Store
*.env
assets/
build/linux/appimage/out
build/linux/appimage/pkg2appimage.AppDir
build/linux/appimage/pkg2appimage-*.AppImage
build/linux/appimage/pkg2appimage.AppImage
build/linux/appimage/squashfs-root
build/linux/appimage/VSCodium
build/windows/msi/releasedir
build/windows/msi/Files*.wxs
build/windows/msi/Files*.wixobj
sourcemaps/
stores/snapcraft/insider/*.snap
stores/snapcraft/stable/*.snap
font-size/node_modules/
font-size/generate-css.js
================================================
FILE: .nvmrc
================================================
22.22.0
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
vscodium@protonmail.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
#### Table Of Contents
- [Code of Conduct](#code-of-conduct)
- [Reporting Bugs](#reporting-bugs)
- [Making Changes](#making-changes)
## Code of Conduct
This project and everyone participating in it is governed by the [VSCodium Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
## Reporting Bugs
### Before Submitting an Issue
Before creating bug reports, please check existing issues and [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) as you might find out that you don't need to create one.
When you are creating a bug report, please include as many details as possible. Fill out [the required template](https://github.com/VSCodium/vscodium/issues/new?&labels=bug&&template=bug_report.md), the information it asks for helps us resolve issues faster.
## Making Changes
If you want to make changes, please read [the Build page](./docs/howto-build.md).
### Building VSCodium
To build VSCodium, please follow the command found in the section [`Build Scripts`](./docs/howto-build.md#build-scripts).
### Updating patches
If you want to update the existing patches, please follow the section [`Patch Update Process - Semi-Automated`](./docs/howto-build.md#patch-update-process-semiauto).
### Add a new patch
- first, you need to build VSCodium
- then use the command `./dev/patch.sh <your patch name>`, to initiate a new patch
- when the script pauses at `Press any key when the conflict have been resolved...`, open `vscode` directory in **VSCodium**
- run `npm run watch`
- run `./script/code.sh`
- make your changes
- press any key to continue the script `patch.sh`
================================================
FILE: FUNDING.json
================================================
{
"drips": {
"ethereum": {
"ownedBy": "0x7806393Cb27692C6A52eE3D5338A75cECD168219"
}
}
}
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2018-present The VSCodium contributors
Copyright (c) 2018-present Peter Squicciarini
Copyright (c) 2015-present Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<div id="vscodium-logo" align="center">
<br />
<img src="./icons/stable/codium_cnl.svg" alt="VSCodium Logo" width="200"/>
<h1>VSCodium</h1>
<h3>Free/Libre Open Source Software Binaries of Visual Studio Code</h3>
</div>
<div id="badges" align="center">
[](https://github.com/vscodium/vscodium/releases)
[](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
[](https://gitter.im/VSCodium/Lobby)
[](https://snapcraft.io/codium)
[](https://snapcraft.io/codium)
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-linux.yml?query=branch%3Amaster)
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-macos.yml?query=branch%3Amaster)
[](https://github.com/VSCodium/vscodium/actions/workflows/stable-windows.yml?query=branch%3Amaster)
</div>
**This is not a fork. This is a repository of scripts to automatically build [Microsoft's `vscode` repository](https://github.com/microsoft/vscode) into freely-licensed binaries with a community-driven default configuration.**
## Table of Contents
- [Download/Install](#download-install)
- [Install with Brew](#install-with-brew)
- [Install with Windows Package Manager (WinGet)](#install-with-winget)
- [Install with Chocolatey](#install-with-choco)
- [Install with Scoop](#install-with-scoop)
- [Install with snap](#install-with-snap)
- [Install with Package Manager](#install-with-package-manager)
- [Install on Arch Linux](#install-on-arch-linux)
- [Flatpak Option](#flatpak)
- [Build](#build)
- [Why Does This Exist](#why)
- [More Info](#more-info)
- [Supported Platforms](#supported-platforms)
## <a id="download-install"></a>Download/Install
:tada: :tada:
Download latest release here:
[stable](https://github.com/VSCodium/vscodium/releases) or
[insiders](https://github.com/VSCodium/vscodium-insiders/releases)
:tada: :tada:
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/docs/index.md)
#### <a id="install-with-brew"></a>Install with Brew (Mac)
If you are on a Mac and have [Homebrew](https://brew.sh/) installed:
```bash
# stable
brew install --cask vscodium
# insiders
brew install --cask vscodium@insiders
```
#### <a id="install-with-winget"></a>Install with Windows Package Manager (WinGet)
If you use Windows and have [Windows Package Manager](https://github.com/microsoft/winget-cli) installed:
```cmd
:: stable
winget install -e --id VSCodium.VSCodium
:: insider
winget install -e --id VSCodium.VSCodium.Insiders
```
#### <a id="install-with-choco"></a>Install with Chocolatey (Windows)
If you use Windows and have [Chocolatey](https://chocolatey.org) installed (thanks to [@Thilas](https://github.com/Thilas)):
```cmd
:: stable
choco install vscodium
:: insider
choco install vscodium-insiders
```
#### <a id="install-with-scoop"></a>Install with Scoop (Windows)
If you use Windows and have [Scoop](https://scoop.sh) installed:
```bash
scoop bucket add extras
scoop install vscodium
```
#### <a id="install-with-snap"></a>Install with snap (GNU/Linux)
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), thanks to the help of the [Snapcrafters](https://github.com/snapcrafters/codium) community.
If your GNU/Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
```bash
snap install codium --classic
```
#### <a id="install-with-package-manager"></a>Install with Package Manager (GNU/Linux)
You can always install using the downloads (deb, rpm, tar) on the releases page for [stable](https://github.com/VSCodium/vscodium/releases) or [insiders](https://github.com/VSCodium/vscodium-insiders/releases), but you can also install using your favorite package manager and get automatic updates.
[@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions for `apt`, `dnf` and `zypper` [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo).
Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository), maintained by [@binex-dsk](https://github.com/binex-dsk) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/) (stable) and as [vscodium-insiders-bin](https://aur.archlinux.org/packages/vscodium-insiders-bin).
If you want to save disk space by having VSCodium use the Electron system-wide, you also have [vscodium-electron](https://aur.archlinux.org/packages/vscodium-electron),
maintained by [@m00nw4tch3r](https://aur.archlinux.org/account/m00nw4tch3r).
An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
#### <a id="flatpak"></a>Flatpak Option (GNU/Linux)
VSCodium is available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium).
If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
```bash
flatpak install flathub com.vscodium.codium
flatpak run com.vscodium.codium
```
## <a id="build"></a>Build
Build instructions can be found [here](https://github.com/VSCodium/vscodium/blob/master/docs/howto-build.md)
## <a id="why"></a>Why Does This Exist
This repository contains build files to generate free release binaries of Microsoft's Visual Studio Code. When we speak of "free software", we're talking about freedom, not price.
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
> When we [Microsoft] build Visual Studio Code, we do exactly this. We clone the vscode repository, we lay down a customized product.json that has Microsoft specific functionality (telemetry, gallery, logo, etc.), and then produce a build that we release under our license.
>
> When you clone and build from the vscode repo, none of these endpoints are configured in the default product.json. Therefore, you generate a "clean" build, without the Microsoft customizations, which is by default licensed under the MIT license
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed Visual Studio Code.
Microsoft's build process (which we are running to build the binaries) does download additional files. Those packages downloaded during build are:
- Pre-built extensions from the GitHub:
- [ms-vscode.js-debug-companion](https://github.com/microsoft/vscode-js-debug-companion)
- [ms-vscode.js-debug](https://github.com/microsoft/vscode-js-debug)
- [ms-vscode.vscode-js-profile-table](https://github.com/microsoft/vscode-js-profile-visualizer)
- From [Electron releases](https://github.com/electron/electron/releases) (using [gulp-atom-electron](https://github.com/joaomoreno/gulp-atom-electron))
- electron
- ffmpeg
## <a id="more-info"></a>More Info
### Documentation
For more information on getting all the telemetry disabled, tips for migrating from Visual Studio Code to VSCodium and more, have a look at [the Docs page](https://github.com/VSCodium/vscodium/blob/master/docs/index.md) page.
### Troubleshooting
If you have any issue, please check [the Troubleshooting page](https://github.com/VSCodium/vscodium/blob/master/docs/troubleshooting.md) or the existing issues.
### Extensions and the Marketplace
According to the Visual Studio Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for Visual Studio Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/docs/index.md#extensions-marketplace) section on the Docs page for more details.
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
### How are the VSCodium binaries built?
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflows` for Windows, GNU/Linux and macOS. These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
The builds are run every day, but exit early if there isn't a new release from Microsoft.
## <a id="supported-platforms"></a>Supported Platforms
The minimal version is limited by the core component Electron, you may want to check its [platform prerequisites](https://www.electronjs.org/docs/latest/development/build-instructions-gn#platform-prerequisites).
- [x] macOS (`zip`, `dmg`) macOS 10.15 or newer x64
- [x] macOS (`zip`, `dmg`) macOS 11.0 or newer arm64
- [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `snap`, `tar.gz`)
- [x] GNU/Linux arm64 (`deb`, `rpm`, `snap`, `tar.gz`)
- [x] GNU/Linux armhf (`deb`, `rpm`, `tar.gz`)
- [x] GNU/Linux riscv64 (`tar.gz`)
- [x] GNU/Linux loong64 (`tar.gz`)
- [x] GNU/Linux ppc64le (`tar.gz`)
- [x] Windows 10 / Server 2012 R2 or newer x64
- [x] Windows 10 / Server 2012 R2 or newer arm64
## <a id="thanks"></a>Special thanks
<table>
<tr>
<td><a href="https://github.com/jaredreich" target="_blank">@jaredreich</a></td>
<td>for the logo</td>
</tr>
<tr>
<td><a href="https://github.com/PalinuroSec" target="_blank">@PalinuroSec</a></td>
<td>for CDN and domain name</td>
</tr>
<tr>
<td><a href="https://www.macstadium.com" target="_blank"><img src="https://images.prismic.io/macstadium/66fbce64-707e-41f3-b547-241908884716_MacStadium_Logo.png?w=128&q=75" width="128" height="49" alt="MacStadium logo" /></a></td>
<td>for providing a Mac mini M1</td>
</tr>
<tr>
<td><a href="https://github.com/daiyam" target="_blank">@daiyam</a></td>
<td>for macOS certificate</td>
</tr>
<tr>
<td><a href="https://signpath.org/" target="_blank"><img src="https://avatars.githubusercontent.com/u/34448643" height="30" alt="SignPath logo" /></a></td>
<td>free code signing on Windows provided by <a href="https://signpath.io/" target="_blank">SignPath.io</a>, certificate by <a href="https://signpath.org/" target="_blank">SignPath Foundation</a></td>
</tr>
</table>
## <a id="license"></a>License
[MIT](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
================================================
FILE: announcements-builtin.json
================================================
[
]
================================================
FILE: announcements-extra.json
================================================
[
{
"id": "#2668",
"title": "[Windows] broken update on 1.107, need manual update",
"url": "https://github.com/VSCodium/vscodium/issues/2668"
}
]
================================================
FILE: build/alpine/package_reh.sh
================================================
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -ex
if [[ "${CI_BUILD}" == "no" ]]; then
exit 1
fi
# include common functions
. ./utils.sh
mkdir -p assets
tar -xzf ./vscode.tar.gz
cd vscode || { echo "'vscode' dir not found"; exit 1; }
export VSCODE_PLATFORM='alpine'
export VSCODE_SKIP_NODE_VERSION_CHECK=1
VSCODE_HOST_MOUNT="$( pwd )"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:alpine-${VSCODE_ARCH}"
export VSCODE_HOST_MOUNT VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
if [[ -d "../patches/alpine/reh/" ]]; then
for file in "../patches/alpine/reh/"*.patch; do
if [[ -f "${file}" ]]; then
apply_patch "${file}"
fi
done
fi
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
done
node build/azure-pipelines/distro/mixin-npm.ts
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
PA_NAME="linux-alpine"
else
PA_NAME="alpine-arm64"
fi
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building REH"
npm run gulp minify-vscode-reh
npm run gulp "vscode-reh-${PA_NAME}-min-ci"
pushd "../vscode-reh-${PA_NAME}"
echo "Archiving REH"
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
echo "Building REH-web"
npm run gulp minify-vscode-reh-web
npm run gulp "vscode-reh-web-${PA_NAME}-min-ci"
pushd "../vscode-reh-web-${PA_NAME}"
echo "Archiving REH-web"
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi
cd ..
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calculating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
cd assets
for FILE in *; do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..
================================================
FILE: build/linux/appimage/build.sh
================================================
#!/usr/bin/env bash
set -ex
CALLER_DIR=$( pwd )
cd "$( dirname "${BASH_SOURCE[0]}" )"
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
GITHUB_RESPONSE=$( curl --silent --location "https://api.github.com/repos/AppImage/pkg2appimage/releases/latest" )
APPIMAGE_URL=$( echo "${GITHUB_RESPONSE}" | jq --raw-output '.assets | map(select( .name | test("x86_64.AppImage(?!.zsync)"))) | map(.browser_download_url)[0]' )
if [[ -z "${APPIMAGE_URL}" ]]; then
echo "The url for pkg2appimage.AppImage hasn't been found"
exit 1
fi
wget -c "${APPIMAGE_URL}" -O pkg2appimage.AppImage
chmod +x ./pkg2appimage.AppImage
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
# add update's url
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
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
sed -i "s|@@NAME@@|${APP_NAME}-Insiders|g" recipe.yml
sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
sed -i "s|@@ICON@@|${APP_NAME_LC}-insiders|g" recipe.yml
else
sed -i "s|@@NAME@@|${APP_NAME}|g" recipe.yml
sed -i "s|@@APPNAME@@|${BINARY_NAME}|g" recipe.yml
sed -i "s|@@ICON@@|${APP_NAME_LC}|g" recipe.yml
fi
# workaround that enforces x86 ARCH for pkg2appimage having /__w/vscodium/vscodium/build/linux/appimage/VSCodium/VSCodium.AppDir/usr/share/codium/resources/app/node_modules/rc/index.js is of architecture armhf
export ARCH=x86_64
bash -ex pkg2appimage.AppDir/AppRun recipe.yml
rm -f pkg2appimage-*.AppImage
rm -rf pkg2appimage.AppDir
rm -rf VSCodium*
fi
cd "${CALLER_DIR}"
================================================
FILE: build/linux/appimage/recipe.yml
================================================
# Based on
# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml
#
# On a Debian/Ubuntu system:
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
# bash -ex pkg2appimage VSCodium
app: @@NAME@@
ingredients:
packages:
- code
- libgconf2-4
dist: trusty
sources:
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
script:
- pwd
- cp ../../../../vscode/.build/linux/deb/amd64/deb/*.deb .
- ls @@APPNAME@@_*.deb | cut -d _ -f 2 > VERSION
script:
- sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/@@APPNAME@@.desktop
- cp usr/share/applications/@@APPNAME@@.desktop .
- cp usr/share/pixmaps/@@ICON@@.png .
- /usr/bin/convert @@ICON@@.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/@@ICON@@.png
- ( cd usr/bin/ ; ln -s ../share/@@APPNAME@@/@@APPNAME@@ . )
- rm -rf usr/lib/x86_64-linux-gnu
- rm -f lib/x86_64-linux-gnu/libglib*
- cat > AppRun <<\EOF
- #!/bin/sh
- HERE="$(dirname "$(readlink -f "${0}")")"
- export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}"
- export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}"
- export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}"
- export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}"
- export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}"
- export QT_PLUGIN_PATH="${HERE}"/usr/lib/qt4/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib32/qt4/plugins/:"${HERE}"/usr/lib64/qt4/plugins/:"${HERE}"/usr/lib/qt5/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib32/qt5/plugins/:"${HERE}"/usr/lib64/qt5/plugins/:"${QT_PLUGIN_PATH}"
- EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g')
- exec ${EXEC} "$@"
- EOF
================================================
FILE: build/linux/deps.sh
================================================
#!/usr/bin/env bash
set -ex
sudo apt-get update -y
sudo apt-get install -y libkrb5-dev
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu crossbuild-essential-arm64
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf crossbuild-essential-armhf
fi
================================================
FILE: build/linux/install_gh.sh
================================================
#!/usr/bin/env bash
set -ex
GH_ARCH="amd64"
for i in {1..5}; do
TAG=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" 2>/dev/null | jq --raw-output '.tag_name' )
if [[ $? == 0 && "${TAG}" != "null" ]]; then
break
fi
if [[ $i == 5 ]]; then
echo "GH install failed too many times" >&2
exit 1
fi
echo "GH install failed $i, trying again..."
sleep $(( 15 * (i + 1)))
done
VERSION="${TAG#v}"
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/${TAG}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
cp "gh_${VERSION}_linux_${GH_ARCH}/bin/gh" /usr/local/bin/
gh --version
================================================
FILE: build/linux/install_nodejs.sh
================================================
#!/usr/bin/env bash
set -ex
NODEJS_VERSION=$( cat .nvmrc )
curl -fsSL "${NODEJS_SITE}${NODEJS_URLROOT}/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}.tar.xz" -o node.tar.xz
tar -xf node.tar.xz
sudo mv "node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}" /usr/local/node
echo "/usr/local/node/bin" >> $GITHUB_PATH
================================================
FILE: build/linux/loong64/electron.sh
================================================
#!/usr/bin/env bash
set -ex
export ELECTRON_VERSION="39.2.3"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
================================================
FILE: build/linux/loong64/electron.sha256sums
================================================
d26b2189e7466a08c73861d0225c9b28730fdfc30918f3ea70853b43a2581dc4 *chromedriver-v39.2.3-linux-loong64.zip
8cc36f7468f5b2d98cde3f73c10c535555754c54be43e45c320a382c35b8e466 *electron-v39.2.3-linux-loong64.zip
f6e7462d6fd795ae2b08344ee0fdca817eba148b62a62717b3f512c845d96a64 *ffmpeg-v39.2.3-linux-loong64.zip
b122599dc84b81526ba4eecbca4794f3a2d25300242ad3829d1445cb6948f470 *hunspell-dictionaries.zip
76ef17d2810df5e77c5071863e2a375df914cfb7a362ad0582ee0eedca2441b9 *libcxx-headers.zip
9b61ba9f0780a57ee2749f7963759395784eadcaccc54af313de1a540240298e *libcxx-objects-v39.2.3-linux-loong64.zip
9ae64aff9e391eae401142e55654b5b8cf54d0611b1ecb540f2f4e89a2b4f772 *libcxxabi-headers.zip
7d7e6e08c84aa38b74037f5910534918bc792ffbe2ca6d667067f587f27f5118 *mksnapshot-v39.2.3-linux-loong64.zip
db48f8a9d2271e8b3a1c3f26ea1ae9bd489deb1b464b6ae424a15d5df7529fdc *node-v39.2.3-headers.tar.gz
================================================
FILE: build/linux/loong64/ripgrep.sh
================================================
#!/usr/bin/env bash
# When installing @vscode/ripgrep, it will try to download prebuilt ripgrep binary from https://github.com/microsoft/ripgrep-prebuilt,
# however, loong64 is not a supported architecture and x86 will be picked as fallback, so we need to replace it with a native one.
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <path_to_node_modules>"
exit 1
fi
RG_PATH="$1/@vscode/ripgrep/bin/rg"
RG_VERSION="14.1.1"
echo "Replacing ripgrep binary with loong64 one"
rm "${RG_PATH}"
curl --silent --fail -L https://github.com/darkyzhou/ripgrep-loongarch64-musl/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
chmod +x "${RG_PATH}"
================================================
FILE: build/linux/package_bin.sh
================================================
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -ex
if [[ "${CI_BUILD}" == "no" ]]; then
exit 1
fi
# include common functions
. ./utils.sh
tar -xzf ./vscode.tar.gz
chown -R root:root vscode
cd vscode || { echo "'vscode' dir not found"; exit 1; }
export VSCODE_PLATFORM='linux'
export VSCODE_SKIP_NODE_VERSION_CHECK=1
export VSCODE_SYSROOT_PREFIX='-glibc-2.28-gcc-10.5.0'
if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
export VSCODE_SKIP_SYSROOT=1
# export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20240129-253798'
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'
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases'
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
export VSCODE_ELECTRON_REPOSITORY='darkyzhou/electron-loong64'
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_SKIP_SETUPENV=1
fi
if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sh" ]]; then
# add newline at the end of the file
echo "" >> build/checksums/electron.txt
if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sha256sums" ]]; then
cat "../build/linux/${VSCODE_ARCH}/electron.sha256sums" >> build/checksums/electron.txt
fi
# shellcheck disable=SC1090
source "../build/linux/${VSCODE_ARCH}/electron.sh"
TARGET=$( npm config get target )
# Only fails at different major versions
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]]; 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"
exit 1
fi
if [[ "${ELECTRON_VERSION}" != "${TARGET}" ]]; then
# Force version
replace "s|target=\"${TARGET}\"|target=\"${ELECTRON_VERSION}\"|" .npmrc
fi
fi
if [[ -d "../patches/linux/client/" ]]; then
for file in "../patches/linux/client/"*.patch; do
if [[ -f "${file}" ]]; then
apply_patch "${file}"
fi
done
fi
if [[ -n "${USE_GNUPP2A}" ]]; then
INCLUDES=$(cat <<EOF
{
"target_defaults": {
"conditions": [
["OS=='linux'", {
'cflags_cc!': [ '-std=gnu++20' ],
'cflags_cc': [ '-std=gnu++2a' ],
}]
]
}
}
EOF
)
if [ ! -d "$HOME/.gyp" ]; then
mkdir -p "$HOME/.gyp"
fi
echo "${INCLUDES}" > "$HOME/.gyp/include.gypi"
fi
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
done
if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
else
source ./build/azure-pipelines/linux/setup-env.sh
fi
fi
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
done
node build/azure-pipelines/distro/mixin-npm.ts
# delete native files built in the `compile` step
find .build/extensions -type f -name '*.node' -print -delete
# generate Group Policy definitions
npm run copy-policy-dto --prefix build
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "../VSCode-linux-${VSCODE_ARCH}/resources/app/node_modules"
fi
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
. ../build_cli.sh
cd ..
================================================
FILE: build/linux/package_reh.sh
================================================
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -ex
if [[ "${CI_BUILD}" == "no" ]]; then
exit 1
fi
# include common functions
. ./utils.sh
mkdir -p assets
tar -xzf ./vscode.tar.gz
cd vscode || { echo "'vscode' dir not found"; exit 1; }
GLIBC_VERSION="2.28"
GLIBCXX_VERSION="3.4.26"
NODE_VERSION="22.21.1"
export VSCODE_NODEJS_URLROOT='/download/release'
export VSCODE_NODEJS_URLSUFFIX=''
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-x64"
export VSCODE_SKIP_SETUPENV=1
elif [[ "${VSCODE_ARCH}" == "arm64" ]]; then
EXPECTED_GLIBC_VERSION="2.30"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-arm64"
export VSCODE_SKIP_SYSROOT=1
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
EXPECTED_GLIBC_VERSION="2.30"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-armhf"
export VSCODE_SKIP_SYSROOT=1
export USE_GNUPP2A=1
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
GLIBC_VERSION="2.28"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-ppc64le"
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
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"
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"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:beige-devtoolset-loong64"
export VSCODE_SKIP_SETUPENV=1
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then
GLIBC_VERSION="2.28"
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-s390x"
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
export VSCODE_SYSROOT_VERSION='20241108'
fi
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export VSCODE_PLATFORM='linux'
export VSCODE_SKIP_NODE_VERSION_CHECK=1
if [[ -z "${VSCODE_SYSROOT_PREFIX}" ]]; then
export VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}-gcc-10.5.0"
else
export VSCODE_SYSROOT_PREFIX
fi
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION:=GLIBC_VERSION}"
VSCODE_HOST_MOUNT="$( pwd )"
export VSCODE_HOST_MOUNT
export VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
sed -i "/target/s/\"22.*\"/\"${NODE_VERSION}\"/" remote/.npmrc
if [[ -d "../patches/linux/reh/" ]]; then
for file in "../patches/linux/reh/"*.patch; do
if [[ -f "${file}" ]]; then
apply_patch "${file}"
fi
done
fi
if [[ -d "../patches/linux/reh/${VSCODE_ARCH}/" ]]; then
for file in "../patches/linux/reh/${VSCODE_ARCH}/"*.patch; do
if [[ -f "${file}" ]]; then
apply_patch "${file}"
fi
done
fi
if [[ -n "${USE_GNUPP2A}" ]]; then
INCLUDES=$(cat <<EOF
{
"target_defaults": {
"conditions": [
["OS=='linux'", {
'cflags_cc!': [ '-std=gnu++20' ],
'cflags_cc': [ '-std=gnu++2a' ],
}]
]
}
}
EOF
)
if [ ! -d "${HOME}/.gyp" ]; then
mkdir -p "${HOME}/.gyp"
fi
echo "${INCLUDES}" > "${HOME}/.gyp/include.gypi"
fi
for i in {1..5}; do # try 5 times
npm ci --prefix build && break
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
done
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
export VSCODE_SYSROOT_DIR="${VSCODE_REMOTE_SYSROOT_DIR}"
else
mkdir -p .build/x86_64-linux-gnu/x86_64-linux-gnu/bin
ln -s $( which objdump ) .build/x86_64-linux-gnu/x86_64-linux-gnu/bin/objdump
export VSCODE_SYSROOT_DIR=".build"
fi
node build/npm/preinstall.ts
mv .npmrc .npmrc.bak
cp ../npmrc .npmrc
for i in {1..5}; do # try 5 times
npm ci && break
if [[ $i == 5 ]]; then
echo "Npm install failed too many times" >&2
exit 1
fi
echo "Npm install failed $i, trying again..."
# remove dependencies that fail during cleanup
rm -rf node_modules/@vscode node_modules/node-pty
done
# if [[ "${VSCODE_ARCH}" == "x64" ]]; then
# pushd "remote"
# for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty
# do
# pushd "node_modules/${LIB}"
# CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild
# popd
# done
# popd
# VERIFY_CXX11=1
# fi
mv .npmrc.bak .npmrc
node build/azure-pipelines/distro/mixin-npm.ts
export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}"
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building REH"
npm run gulp minify-vscode-reh
npm run gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
# if [[ -n "${VERIFY_CXX11}" ]]; then
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
# fi
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "node_modules"
fi
echo "Archiving REH"
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi
if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
echo "Building REH-web"
npm run gulp minify-vscode-reh-web
npm run gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
# if [[ -n "${VERIFY_CXX11}" ]]; then
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
# fi
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
bash "../build/linux/${VSCODE_ARCH}/ripgrep.sh" "node_modules"
fi
echo "Archiving REH-web"
tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
popd
fi
cd ..
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calculating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
cd assets
for FILE in *; do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..
================================================
FILE: build/linux/ppc64le/electron.sh
================================================
#!/usr/bin/env bash
set -ex
export ELECTRON_VERSION="39.2.7"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
================================================
FILE: build/linux/ppc64le/electron.sha256sums
================================================
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
================================================
FILE: build/linux/riscv64/electron.sh
================================================
#!/usr/bin/env bash
set -ex
export ELECTRON_VERSION="39.2.7"
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"
================================================
FILE: build/linux/riscv64/electron.sha256sums
================================================
6759ef2bd69a2e31a3f0e17c4e4c0bf239b54f08525572201ae7760851168487 *chromedriver-v39.2.7-linux-riscv64.zip
89562e30982d8ac71fbc1e0f549a4a6e19abd5cb98ea904d5f3cfceb7c61e582 *electron-v39.2.7-linux-riscv64-debug.tar.zst
71c6f265a2ef065f478ef910a06466a21009c02783dcb7053767549a6dbeb80d *electron-v39.2.7-linux-riscv64-symbols.tar.zst
136804dbd04f1c6b9a6047c4e7bb648876214ff453b62fb3bdc81505b6f5aab2 *electron-v39.2.7-linux-riscv64.zip
1059d6cb97b87464b3bd415bb5f96fceaf91d6e3af1c9733724ab9f2e14e2a08 *ffmpeg-v39.2.7-linux-riscv64.zip
224a84d4aaceb5ed8be3c4f65f8404d492dc86ded8ab336c2562dfdd21752068 *hunspell-dictionaries.zip
b6cb4f8902aad5de811efd106ddbdbca79e43cb7c8fa67f7eeddaedf2efd82d5 *libcxx-headers.zip
0664e200ec1eab1ce1957bc6e17ad89f6c0d4d904a9492d64fcf4175cd81e537 *libcxx-objects-v39.2.7-linux-riscv64.zip
96f9b66be7ff11e79ec2e781a0025938eb5ef97cbab429c05e9b45d24d421abf *libcxxabi-headers.zip
be0774857454f81b9407f6b941200f8843a0b3ecb86e2bb072209ef9f9bfe74a *mksnapshot-v39.2.7-linux-riscv64.zip
a8fca541e8f9a18de73c78f6862cbf439723c80c5eb60fe50405dfb751d2ee13 *node-v39.2.7-headers.tar.gz
================================================
FILE: build/linux/riscv64/ripgrep.sh
================================================
#!/usr/bin/env bash
# microsoft/ripgrep-prebuilt doesn't support riscv64.
# Tracking PR: https://github.com/microsoft/ripgrep-prebuilt/pull/41
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <path_to_node_modules>"
exit 1
fi
RG_PATH="$1/@vscode/ripgrep/bin/rg"
RG_VERSION="14.1.1-4"
echo "Replacing ripgrep binary with riscv64 one"
rm "${RG_PATH}"
curl --silent --fail -L https://github.com/riscv-forks/ripgrep-riscv64-prebuilt/releases/download/${RG_VERSION}/rg -o "${RG_PATH}"
chmod +x "${RG_PATH}"
================================================
FILE: build/linux/verify_abi_requirements.sh
================================================
#!/usr/bin/env bash
set -e
FILES=$(
find "${SEARCH_PATH}" -type f -executable -name "node"
find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*"
)
echo "Verifying requirements for files: ${FILES}"
for FILE in ${FILES}; do
CXXABI_VERSION="0.0.0"
while IFS= read -r LINE; do
VERSION=${LINE#*_}
if [[ $( printf "%s\n%s" "${VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${VERSION}" ]]; then
CXXABI_VERSION="${VERSION}"
fi
done < <( strings "${FILE}" | grep -i ^CXXABI )
if [[ $( printf "%s\n%s" "${EXPECTED_CXXABI_VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${EXPECTED_CXXABI_VERSION}" ]]; then
echo "File ${FILE} has dependency on ABI ${CXXABI_VERSION} <= ${EXPECTED_CXXABI_VERSION}"
else
echo "Error: File ${FILE} has dependency on ABI ${CXXABI_VERSION} > ${EXPECTED_CXXABI_VERSION}"
exit 1
fi
done
================================================
FILE: build/linux/verify_cxx11_requirements.sh
================================================
#!/usr/bin/env bash
set -e
FILES=$( find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*" )
echo "Verifying requirements for files: ${FILES}"
for FILE in ${FILES}; do
if [[ -n "$( strings "${FILE}" | grep cxx11 | tail -n1 )" ]]; then
echo "Error: File ${FILE} has dependency on CXX11"
exit 1
fi
done
================================================
FILE: build/osx/include.gypi
================================================
{
'target_defaults': {
'conditions': [
['OS=="mac"', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': ['-std=c++20']
}
}]
]
}
}
================================================
FILE: build/windows/appx/build.sh
================================================
#!/usr/bin/env bash
set -ex
# Add Windows SDK to path
SDK='/C/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64'
export PATH="${SDK}:${PATH}"
APPX_NAME="${BINARY_NAME//-/_}"
makeappx pack /d "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest" /p "../../../VSCode-win32-${VSCODE_ARCH}/appx/${APPX_NAME}_${VSCODE_ARCH}.appx" /nv
# Remove the raw manifest folder
rm -rf "../../../VSCode-win32-${VSCODE_ARCH}/appx/manifest"
================================================
FILE: build/windows/msi/build-updates-disabled.sh
================================================
#!/usr/bin/env bash
set -ex
CALLER_DIR=$( pwd )
cd "$( dirname "${BASH_SOURCE[0]}" )"
SCRIPT_DIR=$( pwd )
cd "../../../VSCode-win32-${VSCODE_ARCH}/resources/app"
jsonTmp=$( jq "del(.updateUrl)" product.json )
echo "${jsonTmp}" > product.json && unset jsonTmp
cd "${SCRIPT_DIR}"
./build.sh "updates-disabled"
cd "${CALLER_DIR}"
================================================
FILE: build/windows/msi/build.sh
================================================
#!/usr/bin/env bash
set -ex
CALLER_DIR=$( pwd )
cd "$( dirname "${BASH_SOURCE[0]}" )"
WIN_SDK_MAJOR_VERSION="10"
WIN_SDK_FULL_VERSION="10.0.17763.0"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
PRODUCT_NAME="VSCodium - Insiders"
PRODUCT_CODE="VSCodiumInsiders"
PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"
ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\insider"
else
PRODUCT_NAME="VSCodium"
PRODUCT_CODE="VSCodium"
PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"
ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\stable"
fi
PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
PRODUCT_ID="${PRODUCT_ID%%[[:cntrl:]]}"
CULTURE="en-us"
LANGIDS="1033"
SETUP_RELEASE_DIR=".\\releasedir"
BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
LICENSE_DIR="..\\..\\..\\vscode"
PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )
if [[ -z "${1}" ]]; then
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${RELEASE_VERSION}"
else
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${1}-${RELEASE_VERSION}"
fi
if [[ "${VSCODE_ARCH}" == "ia32" ]]; then
export PLATFORM="x86"
else
export PLATFORM="${VSCODE_ARCH}"
fi
sed -i "s|@@PRODUCT_UPGRADE_CODE@@|${PRODUCT_UPGRADE_CODE}|g" .\\includes\\vscodium-variables.wxi
sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\vscodium.xsl
find i18n -name '*.wxl' -print0 | xargs -0 sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g"
BuildSetupTranslationTransform() {
local CULTURE=${1}
local LANGID=${2}
LANGIDS="${LANGIDS},${LANGID}"
echo "Building setup translation for culture \"${CULTURE}\" with LangID \"${LANGID}\"..."
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" Product "${LANGID}"
"${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\x86\\msitran" -g "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst" "${LANGID}"
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi"
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi"
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
}
"${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.ManufacturerName -var var.AppName -var var.AppCodeName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dManufacturerName="VSCodium" -dAppCodeName="${PRODUCT_CODE}" -dAppName="${PRODUCT_NAME}" -dProductVersion="${RELEASE_VERSION%-insider}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
BuildSetupTranslationTransform de-de 1031
BuildSetupTranslationTransform es-es 3082
BuildSetupTranslationTransform fr-fr 1036
BuildSetupTranslationTransform it-it 1040
# WixUI_Advanced bug: https://github.com/wixtoolset/issues/issues/5909
# BuildSetupTranslationTransform ja-jp 1041
BuildSetupTranslationTransform ko-kr 1042
BuildSetupTranslationTransform ru-ru 1049
BuildSetupTranslationTransform zh-cn 2052
BuildSetupTranslationTransform zh-tw 1028
# Add all supported languages to MSI Package attribute
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" Package "${LANGIDS}"
# Remove files we do not need any longer.
rm -rf "${TEMP}\\vscodium-cab-cache"
rm -f "Files-${OUTPUT_BASE_FILENAME}.wxs"
rm -f "Files-${OUTPUT_BASE_FILENAME}.wixobj"
rm -f "vscodium.wixobj"
cd "${CALLER_DIR}"
================================================
FILE: build/windows/msi/i18n/vscodium.de-de.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="de-de" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1031</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Paket mit @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Startmenü-Verknüpfung</String>
<String Id="FeatureStartMenuShortcutDescription">Startmenü-Symbol erstellen.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop-Verknüpfung</String>
<String Id="FeatureDesktopShortcutDescription">Desktop-Symbol erstellen.</String>
<String Id="FeatureFileTypeAssociationsTitle">Dateizuordnungen</String>
<String Id="FeatureFileTypeAssociationsDescription">@@PRODUCT_NAME@@ als Editor für unterstützte Dateitypen registrieren.</String>
<String Id="FeatureAddContextMenuFilesTitle">Dateikontextmenü</String>
<String Id="FeatureAddContextMenuFilesDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Dateikontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Verzeichniskontextmenü</String>
<String Id="FeatureAddContextMenuFoldersDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Verzeichniskontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureEnvironmentTitle">Zu PATH hinzufügen</String>
<String Id="FeatureEnvironmentDescription">@@PRODUCT_NAME@@ zur PATH Variable hinzufügen. Nach dem Neustart verfügbar.</String>
<String Id="LaunchApplication">@@PRODUCT_NAME@@ ausführen</String>
<String Id="NewerVersionInstalled">Eine neuere Version von @@PRODUCT_NAME@@ ist bereits installiert.</String>
<String Id="MinimumNetFramworkRequired">Diese Anwendung erfordert .NET Framework 4.5.2 oder höher. Bitte installieren Sie .NET Framework und führen Sie dieses Installationsprogramm erneut aus.</String>
<String Id="OSVersionRequired">Windows 7 oder neuer ist erforderlich.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.en-us.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1033</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file context menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory context menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.es-es.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="es-es" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">3082</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.fr-fr.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="fr-fr" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1036</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.it-it.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="it-it" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1040</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.ja-jp.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1041</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.ko-kr.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ko-kr" Codepage="949" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1042</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.ru-ru.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ru-ru" Codepage="1251" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1049</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Пакет с @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Ярлык в меню «Пуск»</String>
<String Id="FeatureStartMenuShortcutDescription">Создайте значок в меню «Пуск».</String>
<String Id="FeatureDesktopShortcutTitle">Ярлык рабочего стола</String>
<String Id="FeatureDesktopShortcutDescription">Создать значок на рабочем столе.</String>
<String Id="FeatureFileTypeAssociationsTitle">Ассоциации файлов</String>
<String Id="FeatureFileTypeAssociationsDescription">Зарегистрировать @@PRODUCT_NAME@@ в качестве редактора поддерживаемых типов файлов.</String>
<String Id="FeatureAddContextMenuFilesTitle">Контекстное меню файлов</String>
<String Id="FeatureAddContextMenuFilesDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню файлов Проводника Windows.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Контекстное меню каталога</String>
<String Id="FeatureAddContextMenuFoldersDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню каталога Проводника Windows.</String>
<String Id="FeatureEnvironmentTitle">Добавить в PATH</String>
<String Id="FeatureEnvironmentDescription">Добавить @@PRODUCT_NAME@@ в переменную среды PATH. Доступно после перезапуска.</String>
<String Id="LaunchApplication">Запустить @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Новая версия @@PRODUCT_NAME@@ уже установлена.</String>
<String Id="MinimumNetFramworkRequired">Приложению требуется .NET Framework 4.5.2 или более новая версии. Пожалуйста, установите .NET Framework, затем снова запустите установщик.</String>
<String Id="OSVersionRequired">Требуется Windows 7 или более новая версия.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.zh-cn.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-cn" Codepage="936" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">2052</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/i18n/vscodium.zh-tw.wxl
================================================
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1028</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
================================================
FILE: build/windows/msi/includes/vscodium-variables.wxi
================================================
<?xml version="1.0" encoding="utf-8"?>
<Include>
<!-- Setup UI strings. -->
<?if $(env.Platform)=x86?>
<?define ProgramFilesFolder="ProgramFilesFolder" ?>
<?define Win64="no" ?>
<?define Arch="(x86)" ?>
<?else?>
<?define ProgramFilesFolder="ProgramFiles64Folder" ?>
<?define Win64="yes" ?>
<?define Arch="(x64)" ?>
<?endif?>
<?define ProductName="!(loc.ProductName)" ?>
<?define ProductNameWithVersion="!(loc.ProductName) $(var.ProductVersion) $(var.Arch)" ?>
<?define ProductLanguage="!(loc.ProductLanguage)" ?>
<?define AppFolderName="$(var.AppName)" ?>
<?define ProductManufacturerShort="$(var.ManufacturerName)" ?>
<?define ProductManufacturerLong="$(var.ManufacturerName)" ?>
<!-- Static settings, DO NOT TOUCH or upgrades will break! -->
<?define ProductUpgradeCode="{@@PRODUCT_UPGRADE_CODE@@}" ?>
<?define RTMProductVersion="0.0.1" ?>
</Include>
================================================
FILE: build/windows/msi/vscodium.wxs
================================================
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?include $(sys.CURRENTDIR)includes\vscodium-variables.wxi ?>
<Product Id="$(var.ProductId)" Name="$(var.ProductNameWithVersion)" Language="$(var.ProductLanguage)" Version="$(var.ProductVersion)" Manufacturer="$(var.ProductManufacturerLong)" UpgradeCode="$(var.ProductUpgradeCode)">
<Package Description="!(loc.PackageDescription)" Manufacturer="$(var.ProductManufacturerLong)" InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="Data1.cab" EmbedCab="yes" CompressionLevel="high" />
<Property Id="ARPHELPLINK" Value="!(loc.ProductHelpLink)" />
<Property Id="ARPURLINFOABOUT" Value="!(loc.ProductUrlInfoAbout)" />
<Property Id="ARPURLUPDATEINFO" Value="!(loc.ProductUrlUpdateInfo)" />
<Property Id="ALLUSERS" Value="1" />
<Property Id="ARPPRODUCTICON" Value="code.ico" />
<SetProperty Id="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]" After="CostFinalize" />
<Icon Id="code.ico" SourceFile="$(var.IconDir)\code.ico" />
<!-- Microsoft .NET Framework 4.5.2 is required for VSCodium. If you are using Windows 7, please make sure .NET Framework 4.5.2 is installed. -->
<PropertyRef Id='WIX_IS_NETFRAMEWORK_452_OR_LATER_INSTALLED' />
<Condition Message="!(loc.MinimumNetFramworkRequired)">
<![CDATA[Installed OR WIX_IS_NETFRAMEWORK_452_OR_LATER_INSTALLED]]>
</Condition>
<!-- Windows 7 or later is required. -->
<Condition Message="!(loc.OSVersionRequired)"><![CDATA[Installed OR VersionNT >= 601]]></Condition>
<Upgrade Id="$(var.ProductUpgradeCode)">
<UpgradeVersion OnlyDetect="yes" Minimum="$(var.ProductVersion)" Property="NEWPRODUCTFOUND" IncludeMinimum="no" />
<UpgradeVersion Minimum="$(var.RTMProductVersion)" IncludeMinimum="yes" Maximum="$(var.ProductVersion)" Property="UPGRADEFOUND" IncludeMaximum="no" MigrateFeatures="yes" />
</Upgrade>
<CustomAction Id="PreventDowngrading" Error="!(loc.NewerVersionInstalled)" />
<!-- WixUI_Advanced defaults to wrong per user install location "[LocalAppDataFolder]", https://sourceforge.net/p/wix/feature-requests/656/ -->
<CustomAction Id="WixSetDefaultPerUserFolderRoaming" Property="WixPerUserFolder" Value="[AppDataFolder]Apps\[ApplicationFolderName]" Execute="immediate"/>
<!-- WixUI_Advanced defaults to "[ProgramFilesFolder][ApplicationFolderName]" what is wrong for x64 applications. Fix the path with an override. https://github.com/wixtoolset/issues/issues/5908 -->
<CustomAction Id="WixSetDefaultPerMachineFolderPerArch" Property="WixPerMachineFolder" Value="[$(var.ProgramFilesFolder)][ApplicationFolderName]" Execute="immediate"/>
<InstallExecuteSequence>
<Custom Action="WixSetDefaultPerUserFolderRoaming" Before="WixSetPerUserFolder" />
<Custom Action="WixSetDefaultPerMachineFolderPerArch" Before="WixSetPerMachineFolder" />
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
<!--
In general it seems very hard to track what files may have changed
between vscodium versions. As files are crawled with heat and GUIDs
are automatically generated some MSI "optimization" features are not
available. But no real problem, it only takes some more seconds to
upgrade between versions.
What need to be done is scheduling a full uninstall before a re-install.
Therefore the benefit of file installation deltas usable with
After="InstallFinalize" cannot used.
Normally only changed files are installed and outdated files are purged
on InstallFinalize what can speed up the setup file copy process.
-->
<RemoveExistingProducts After="InstallInitialize" />
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="WixSetDefaultPerUserFolderRoaming" Before="WixSetPerUserFolder" />
<Custom Action="WixSetDefaultPerMachineFolderPerArch" Before="WixSetPerMachineFolder" />
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
</InstallUISequence>
<!--
RemoveFolderEx requires that we "remember" the path for uninstall.
This workaround is only required for the uninstall.
-->
<Property Id="APPLICATIONFOLDER">
<RegistrySearch Id="APPLICATIONFOLDER_REGSEARCH" Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)" Name="Path" Type="raw" Win64="$(var.Win64)" />
</Property>
<!-- Define the directory structure -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ProgramFilesFolder)">
<Directory Id="APPLICATIONFOLDER" Name="$(var.AppFolderName)">
<Component Id="CleanupMainApplicationFolder" Guid="*">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)" Name="Path" Type="string" Value="[APPLICATIONFOLDER]" KeyPath="yes" />
<!-- We need to use APPLICATIONFOLDER variable here or RemoveFolderEx will not remove on "install". -->
<util:RemoveFolderEx On="uninstall" Property="APPLICATIONFOLDER" />
</Component>
<Component Id="AddFileTypeAssociationASCX" Guid="C81496CA-9F8C-4C54-84DF-79373CB0A390">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="ascx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).ascx" Description="ASCX" Icon="XML.ICO">
<Extension Id="ascx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationASP" Guid="4776BA1D-A3E5-45A7-B794-5E0E446BD5E0">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="asp" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).asp" Description="ASP" Icon="HTML.ICO">
<Extension Id="asp">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationASPX" Guid="1F4F0046-60C7-4280-ACC4-248D97B1D731">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="aspx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).aspx" Description="ASPX" Icon="HTML.ICO">
<Extension Id="aspx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBASH" Guid="BAB4425E-57BC-425B-9C30-46A2FD4491D1">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bash" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bash" Description="Bash" Icon="SHELL.ICO">
<Extension Id="bash">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBASHLOGIN" Guid="7025510E-E0D0-4004-8E76-E7CCBFDFB46F">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bash_login" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bash_login" Description="Bash Login" Icon="SHELL.ICO">
<Extension Id="bash_login">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBASHLOGOUT" Guid="D48679A2-9D71-4D93-87E8-7E3D2470507D">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bash_logout" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bash_logout" Description="Bash Logout" Icon="SHELL.ICO">
<Extension Id="bash_logout">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBASHPROFILE" Guid="33E89E3D-0D76-400B-8C5A-5AD6BA48E38A">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bash_profile" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bash_profile" Description="Bash Profile" Icon="SHELL.ICO">
<Extension Id="bash_profile">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBASHRC" Guid="6B04B2A7-AFBC-4FDA-B9DD-BA3D5E469A40">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bashrc" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bashrc" Description="Bash RC" Icon="SHELL.ICO">
<Extension Id="bashrc">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBIB" Guid="AA3D8227-4269-4D52-9689-708668DBDF82">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bib" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bib" Description="BibTeX" Icon="DEFAULT.ICO">
<Extension Id="bib">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationBOWERRC" Guid="8F51CF9D-3050-4AAC-89E9-87FFCB20F306">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="bowerrc" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).bowerrc" Description="Bower RC" Icon="BOWER.ICO">
<Extension Id="bowerrc">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationC" Guid="4E1B5157-8D22-463C-884F-F0EC1F6BC17B">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="c" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).c" Description="C" Icon="C.ICO">
<Extension Id="c">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCC" Guid="2D38F6D1-ED21-4F48-AC15-04AB724887B6">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cc" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cc" Description="C++" Icon="CPP.ICO">
<Extension Id="cc">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCLJ" Guid="F66BAB3D-429A-4BE2-9EED-A39143B3F31F">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="clj" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).clj" Description="Clojure" Icon="DEFAULT.ICO">
<Extension Id="clj">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCLJS" Guid="55B49C2A-3885-4743-AE56-95ADC4D1AC1F">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cljs" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cljs" Description="ClojureScript" Icon="DEFAULT.ICO">
<Extension Id="cljs">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCLJX" Guid="0DBE4BED-89CB-4E5F-A3F3-3BA7A30BF701">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cljx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cljx" Description="CLJX" Icon="DEFAULT.ICO">
<Extension Id="cljx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCLOJURE" Guid="49DDEEC1-6D74-4B54-ADC3-D889FF8A8BBB">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="clojure" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).clojure" Description="Clojure" Icon="DEFAULT.ICO">
<Extension Id="clojure">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCODEWORKSPACE" Guid="804B860E-8DDB-483C-90E9-1836B3D66BEF">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="code-workspace" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).code-workspace" Description="Code Workspace" Icon="DEFAULT.ICO">
<Extension Id="code-workspace">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCOFFEE" Guid="36A14BE3-B6EA-419C-BCD1-855728353331">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="coffee" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).coffee" Description="CoffeeScript" Icon="DEFAULT.ICO">
<Extension Id="coffee">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCONFIG" Guid="42CFDC98-9F06-440C-86FC-250E2AA298B9">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="config" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).config" Description="Configuration" Icon="CONFIG.ICO">
<Extension Id="config">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCPP" Guid="37805F30-6A06-4D0A-BEE4-C3CE21068009">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cpp" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cpp" Description="C++" Icon="CPP.ICO">
<Extension Id="cpp">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCS" Guid="F82F6697-57AC-47BD-BC5B-F17E2249FC50">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cs" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cs" Description="C#" Icon="CSHARP.ICO">
<Extension Id="cs">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCSHTML" Guid="FC5B1912-7A19-4D94-9083-64E6ABDCBCE5">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cshtml" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cshtml" Description="CSHTML" Icon="HTML.ICO">
<Extension Id="cshtml">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCSPROJ" Guid="4FFBB1D3-70A5-4277-A531-C58ACEC8F494">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="csproj" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).csproj" Description="C# Project" Icon="XML.ICO">
<Extension Id="csproj">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCSS" Guid="A45C20E2-0CB7-468A-BFE6-2C63EF88969E">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="css" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).css" Description="CSS" Icon="CSS.ICO">
<Extension Id="css">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCSX" Guid="22EB60BA-ADCA-48EF-9DD1-DCDDC30AA808">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="csx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).csx" Description="C# Script" Icon="CSHARP.ICO">
<Extension Id="csx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCTP" Guid="473C6903-0937-46D7-8648-7BFA8D7E6852">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="ctp" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).ctp" Description="CakePHP Template" Icon="DEFAULT.ICO">
<Extension Id="ctp">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationCXX" Guid="1DC0553A-C8B8-4261-BB3A-3EFCB58AFC78">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="cxx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).cxx" Description="C++" Icon="CPP.ICO">
<Extension Id="cxx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationDOCKERFILE" Guid="40072249-01F2-4F5C-B060-A26E88939C07">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="dockerfile" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).dockerfile" Description="Dockerfile" Icon="DEFAULT.ICO">
<Extension Id="dockerfile">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationDOT" Guid="B8C2B4B8-A1C5-482A-AA49-F05118875B75">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="dot" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).dot" Description="Dot" Icon="DEFAULT.ICO">
<Extension Id="dot">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationDTD" Guid="A7CA0834-C58C-4E4B-8D83-38427574F5A5">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="dtd" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).dtd" Description="Document Type Definition" Icon="XML.ICO">
<Extension Id="dtd">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationEDITORCONFIG" Guid="7FDA5A66-F2BB-43BF-BADD-33BDDFDD96A8">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="editorconfig" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).editorconfig" Description="Editor Config" Icon="CONFIG.ICO">
<Extension Id="editorconfig">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationEDN" Guid="F2E27707-789D-4FFC-9EEC-945685C42652">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="edn" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).edn" Description="Extensible Data Notation" Icon="DEFAULT.ICO">
<Extension Id="edn">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationEYAML" Guid="3D8475E0-0985-4CD2-A6E2-FE782D19073E">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="eyaml" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).eyaml" Description="Hiera Eyaml" Icon="YAML.ICO">
<Extension Id="eyaml">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationEYML" Guid="917B533B-FBF5-42EC-95D4-5EFB877BC3F9">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="eyml" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).eyml" Description="Hiera Eyaml" Icon="YAML.ICO">
<Extension Id="eyml">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationFS" Guid="CBF222F7-A5ED-42C3-AC68-FDEB37EAC25A">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="fs" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).fs" Description="F#" Icon="DEFAULT.ICO">
<Extension Id="fs">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationFSI" Guid="38B1C85F-CB43-48C9-A4E9-1445D4E32DFA">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="fsi" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).fsi" Description="F# Signature" Icon="DEFAULT.ICO">
<Extension Id="fsi">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationFSSCRIPT" Guid="B735F8EF-95CA-40F9-99F5-75A23B151676">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="fsscript" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).fsscript" Description="F# Script" Icon="DEFAULT.ICO">
<Extension Id="fsscript">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationFSX" Guid="DF73F4D2-F960-46D5-A123-0AF3844E8D87">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="fsx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).fsx" Description="F# Script" Icon="DEFAULT.ICO">
<Extension Id="fsx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationGEMSPEC" Guid="F0F87C8F-E4C8-4A4B-B44A-B196CDC5541A">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="gemspec" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).gemspec" Description="Gemspec" Icon="RUBY.ICO">
<Extension Id="gemspec">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationGITATTRIBUTES" Guid="7CC51568-1EF4-4B4C-B5A2-112A4D19DC3C">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="gitattributes" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).gitattributes" Description="Git Attributes" Icon="CONFIG.ICO">
<Extension Id="gitattributes">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationGITCONFIG" Guid="80D83DBC-D225-4198-8AB7-C949F907EFBF">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="gitconfig" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).gitconfig" Description="Git Config" Icon="CONFIG.ICO">
<Extension Id="gitconfig">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationGITIGNORE" Guid="47E8BAB4-FA09-48F4-A592-E489FD0B2EAD">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="gitignore" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).gitignore" Description="Git Ignore" Icon="CONFIG.ICO">
<Extension Id="gitignore">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationGO" Guid="6F9AD674-02A4-4B04-90C7-51D73FAE1890">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="go" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).go" Description="Go" Icon="GO.ICO">
<Extension Id="go">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationH" Guid="409E67FD-4E3D-4B84-B6F0-F4F181FC1934">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="h" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).h" Description="C Header" Icon="C.ICO">
<Extension Id="h">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHANDLEBARS" Guid="E1D2E7C7-3985-4DEA-BA1A-EDAEBE6D9274">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="handlebars" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).handlebars" Description="Handlebars" Icon="DEFAULT.ICO">
<Extension Id="handlebars">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHBS" Guid="A0847250-24BF-4D60-9D00-F8B1BE2EBE85">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="hbs" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).hbs" Description="Handlebars" Icon="DEFAULT.ICO">
<Extension Id="hbs">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHH" Guid="01EC3BA1-F172-482F-ACF5-EB905D5AC01B">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="hh" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).hh" Description="C++ Header" Icon="CPP.ICO">
<Extension Id="hh">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHPP" Guid="62C5B05C-BAF8-4AC4-913B-7F579B742977">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="hpp" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).hpp" Description="C++ Header" Icon="CPP.ICO">
<Extension Id="hpp">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHTM" Guid="704F9778-E50F-4DB9-A7CB-23171F74F02B">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="htm" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).htm" Description="HTML" Icon="HTML.ICO">
<Extension Id="htm">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHTML" Guid="49FC1F09-7861-455D-AEA8-7B712EC28923">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="html" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).html" Description="HTML" Icon="HTML.ICO">
<Extension Id="html">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationHXX" Guid="CF407366-B61D-4157-B5FC-3A2771F10225">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="hxx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).hxx" Description="C++ Header" Icon="CPP.ICO">
<Extension Id="hxx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationINI" Guid="7DB723AC-8371-40EE-A922-164A0C276761">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="ini" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).ini" Description="INI" Icon="CONFIG.ICO">
<Extension Id="ini">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJADE" Guid="5A96835F-2AED-402B-B3A3-541746889384">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jade" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jade" Description="Jade" Icon="JADE.ICO">
<Extension Id="jade">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJAV" Guid="FDA4470F-CABA-4B7C-A556-350E580D7D2C">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jav" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jav" Description="Java" Icon="JAVA.ICO">
<Extension Id="jav">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJAVA" Guid="FADDD0C3-A91C-4232-8C96-97F3933EC477">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="java" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).java" Description="Java" Icon="JAVA.ICO">
<Extension Id="java">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJS" Guid="7C126CC6-F965-4D65-9EE9-0B9C76E4E89A">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="js" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).js" Description="JavaScript" Icon="JAVASCRIPT.ICO">
<Extension Id="js">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSX" Guid="FBAC73C5-EFEE-4B09-A885-509DAD1C809A">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jsx" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jsx" Description="JavaScript" Icon="REACT.ICO">
<Extension Id="jsx">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSCSRC" Guid="5460B0FA-9F3D-4666-A069-36EB351F438F">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jscsrc" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jscsrc" Description="JSCS RC" Icon="JAVASCRIPT.ICO">
<Extension Id="jscsrc">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSHINTRC" Guid="B5AEEB20-5A05-444D-B6D1-C0A8A28D2CD4">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jshintrc" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jshintrc" Description="JSHint RC" Icon="JAVASCRIPT.ICO">
<Extension Id="jshintrc">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSHTM" Guid="148D02EC-259C-4DD8-B066-EE034A6D32BF">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jshtm" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jshtm" Description="JavaScript HTML Template" Icon="HTML.ICO">
<Extension Id="jshtm">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSON" Guid="0F88F7D4-8AA8-4530-875F-90F0B5B416B9">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="json" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).json" Description="JSON" Icon="JSON.ICO">
<Extension Id="json">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationJSP" Guid="697CBB01-2F32-4B9C-981E-DD497C3E575C">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="jsp" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).jsp" Description="Java Server Pages" Icon="HTML.ICO">
<Extension Id="jsp">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationLESS" Guid="B52F05EF-C65F-426E-A638-2EBB75851270">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="less" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).less" Description="LESS" Icon="LESS.ICO">
<Extension Id="less">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationLUA" Guid="CBCF919B-5D83-46F4-B62E-042BBE94B1DA">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="lua" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).lua" Description="Lua" Icon="DEFAULT.ICO">
<Extension Id="lua">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationM" Guid="6F196166-9636-4548-A7CD-E7E468F321D2">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="m" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).m" Description="Objective C" Icon="DEFAULT.ICO">
<Extension Id="m">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationMAKEFILE" Guid="18AB8E83-235D-4A49-8C2C-FF365BE59CC9">
<RegistryValue Root="HKLM" Key="SOFTWARE\$(var.ProductManufacturerShort)\$(var.AppName)\Components\FileTypeAssociations" Name="makefile" Type="integer" Value="1" />
<ProgId Id="$(var.AppCodeName).makefile" Description="Makefile" Icon="DEFAULT.ICO">
<Extension Id="makefile">
<Verb Id="open" Command="&Open" Argument=""%1"" TargetFile="VSCODIUM.EXE" />
</Extensi
gitextract_qyl36xte/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.md │ ├── dependabot.yml │ └── workflows/ │ ├── insider-linux.yml │ ├── insider-macos.yml │ ├── insider-spearhead.yml │ ├── insider-windows.yml │ ├── lock.yml │ ├── stable-linux.yml │ ├── stable-macos.yml │ ├── stable-spearhead.yml │ ├── stable-windows.yml │ └── stale.yml ├── .gitignore ├── .nvmrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── FUNDING.json ├── LICENSE ├── README.md ├── announcements-builtin.json ├── announcements-extra.json ├── build/ │ ├── alpine/ │ │ └── package_reh.sh │ ├── linux/ │ │ ├── appimage/ │ │ │ ├── build.sh │ │ │ └── recipe.yml │ │ ├── deps.sh │ │ ├── install_gh.sh │ │ ├── install_nodejs.sh │ │ ├── loong64/ │ │ │ ├── electron.sh │ │ │ ├── electron.sha256sums │ │ │ └── ripgrep.sh │ │ ├── package_bin.sh │ │ ├── package_reh.sh │ │ ├── ppc64le/ │ │ │ ├── electron.sh │ │ │ └── electron.sha256sums │ │ ├── riscv64/ │ │ │ ├── electron.sh │ │ │ ├── electron.sha256sums │ │ │ └── ripgrep.sh │ │ ├── verify_abi_requirements.sh │ │ └── verify_cxx11_requirements.sh │ ├── osx/ │ │ └── include.gypi │ └── windows/ │ ├── appx/ │ │ └── build.sh │ ├── msi/ │ │ ├── build-updates-disabled.sh │ │ ├── build.sh │ │ ├── i18n/ │ │ │ ├── vscodium.de-de.wxl │ │ │ ├── vscodium.en-us.wxl │ │ │ ├── vscodium.es-es.wxl │ │ │ ├── vscodium.fr-fr.wxl │ │ │ ├── vscodium.it-it.wxl │ │ │ ├── vscodium.ja-jp.wxl │ │ │ ├── vscodium.ko-kr.wxl │ │ │ ├── vscodium.ru-ru.wxl │ │ │ ├── vscodium.zh-cn.wxl │ │ │ └── vscodium.zh-tw.wxl │ │ ├── includes/ │ │ │ └── vscodium-variables.wxi │ │ ├── vscodium.wxs │ │ └── vscodium.xsl │ ├── package.sh │ └── rtf/ │ └── make.sh ├── build.sh ├── build_cli.sh ├── check_cron_or_pr.sh ├── check_tags.sh ├── dev/ │ ├── build.ps1 │ ├── build.sh │ ├── build_docker.sh │ ├── cli.sh │ ├── merge-patches.sh │ ├── osx/ │ │ └── codesign.env.template │ ├── patch.sh │ ├── update_api.sh │ └── update_patches.sh ├── docs/ │ ├── accounts-authentication.md │ ├── ext-github-copilot.md │ ├── extensions-compatibility.md │ ├── extensions.md │ ├── getting-started.md │ ├── howto-build.md │ ├── index.md │ ├── migration.md │ ├── others.md │ ├── telemetry.md │ ├── troubleshooting.md │ └── usage.md ├── font-size/ │ ├── .artifactrc.yml │ ├── .editorconfig │ ├── .fixpackrc │ ├── .gitignore │ ├── .nvmrc │ ├── .vscode/ │ │ └── settings.json │ ├── .xo-config.json │ ├── generate-css.ts │ ├── package.json │ ├── tsconfig.base.json │ └── tsconfig.json ├── get_pr.sh ├── get_repo.sh ├── icons/ │ ├── README.md │ └── build_icons.sh ├── npmrc ├── patches/ │ ├── add-remote-url.patch │ ├── alpine/ │ │ └── reh/ │ │ └── fix-node-docker.patch │ ├── binary-name.patch │ ├── brand.patch │ ├── cli.patch │ ├── disable-cloud.patch │ ├── disable-copilot.patch │ ├── disable-missing-vsda.patch │ ├── disable-signature-verification.patch │ ├── disable-update.patch.yet │ ├── disable-vscodedev.patch │ ├── ext-from-gh.patch │ ├── extensions-disable-mangler.patch │ ├── feat-announcements.patch │ ├── feat-command-filter.patch │ ├── feat-experimental-font.patch │ ├── feat-ext-unsafe.patch │ ├── feat-user-product.patch │ ├── fix-build-vsce.patch │ ├── fix-eol-banner.patch │ ├── fix-extensions-control-connection.patch │ ├── fix-gallery.patch │ ├── fix-keymap.patch │ ├── fix-npm-preinstall.patch │ ├── fix-policies.patch │ ├── fix-remote-libs.patch │ ├── fix-tunnel-extension-recommendation.patch │ ├── helper/ │ │ └── settings.patch │ ├── insider/ │ │ └── system-extensions.patch │ ├── linux/ │ │ ├── arch-0-support.patch │ │ ├── arch-1-ppc64le.patch │ │ ├── arch-2-riscv64.patch │ │ ├── arch-3-loong64.patch │ │ ├── arch-4-s390x.patch │ │ ├── cli.patch │ │ ├── client/ │ │ │ ├── avoid-crash-16k-page-size.patch │ │ │ └── disable-remote.patch │ │ ├── feat-logs-home.patch │ │ ├── fix-build.patch │ │ ├── fix-global-policy.patch │ │ ├── fix-npm-postinstall.patch │ │ ├── fix-reh-bootstrap.patch │ │ ├── reh/ │ │ │ └── s390x/ │ │ │ └── package.json.patch │ │ ├── rpm.patch │ │ └── update-xdg-path.patch │ ├── optional-tree-sitter.patch │ ├── osx/ │ │ ├── fix-codesign.patch.no │ │ └── fix-emulated-urls.patch │ ├── remove-mangle.patch │ ├── report-issue.patch │ ├── sourcemaps.patch │ ├── telemetry.patch │ ├── terminal-suggest.patch │ ├── update-cache-path.patch │ ├── update-electron.patch.no │ ├── use-github-pat.patch │ ├── user/ │ │ └── readme.txt │ ├── version-0-release.patch │ ├── version-1-update.patch │ └── windows/ │ ├── appx.patch │ ├── cli.patch │ └── win7.patch ├── prepare_assets.sh ├── prepare_checksums.sh ├── prepare_src.sh ├── prepare_vscode.sh ├── product.json ├── release.sh ├── release_notes.md ├── src/ │ ├── insider/ │ │ └── resources/ │ │ ├── darwin/ │ │ │ ├── bat.icns │ │ │ ├── bower.icns │ │ │ ├── c.icns │ │ │ ├── code.icns │ │ │ ├── config.icns │ │ │ ├── cpp.icns │ │ │ ├── csharp.icns │ │ │ ├── css.icns │ │ │ ├── default.icns │ │ │ ├── go.icns │ │ │ ├── html.icns │ │ │ ├── jade.icns │ │ │ ├── java.icns │ │ │ ├── javascript.icns │ │ │ ├── json.icns │ │ │ ├── less.icns │ │ │ ├── markdown.icns │ │ │ ├── php.icns │ │ │ ├── powershell.icns │ │ │ ├── python.icns │ │ │ ├── react.icns │ │ │ ├── ruby.icns │ │ │ ├── sass.icns │ │ │ ├── shell.icns │ │ │ ├── sql.icns │ │ │ ├── typescript.icns │ │ │ ├── vue.icns │ │ │ ├── xml.icns │ │ │ └── yaml.icns │ │ ├── linux/ │ │ │ ├── code-url-handler.desktop │ │ │ ├── code.appdata.xml │ │ │ ├── code.desktop │ │ │ └── rpm/ │ │ │ └── code.xpm │ │ └── win32/ │ │ └── VisualElementsManifest.xml │ └── stable/ │ └── resources/ │ ├── darwin/ │ │ ├── bat.icns │ │ ├── bower.icns │ │ ├── c.icns │ │ ├── code.icns │ │ ├── config.icns │ │ ├── cpp.icns │ │ ├── csharp.icns │ │ ├── css.icns │ │ ├── default.icns │ │ ├── go.icns │ │ ├── html.icns │ │ ├── jade.icns │ │ ├── java.icns │ │ ├── javascript.icns │ │ ├── json.icns │ │ ├── less.icns │ │ ├── markdown.icns │ │ ├── php.icns │ │ ├── powershell.icns │ │ ├── python.icns │ │ ├── react.icns │ │ ├── ruby.icns │ │ ├── sass.icns │ │ ├── shell.icns │ │ ├── sql.icns │ │ ├── typescript.icns │ │ ├── vue.icns │ │ ├── xml.icns │ │ └── yaml.icns │ ├── linux/ │ │ ├── code-url-handler.desktop │ │ ├── code.appdata.xml │ │ ├── code.desktop │ │ └── rpm/ │ │ └── code.xpm │ └── win32/ │ └── VisualElementsManifest.xml ├── stores/ │ ├── snapcraft/ │ │ ├── check_version.sh │ │ ├── insider/ │ │ │ └── snap/ │ │ │ ├── hooks/ │ │ │ │ └── configure │ │ │ ├── local/ │ │ │ │ └── bin/ │ │ │ │ └── electron-launch │ │ │ └── snapcraft.yaml │ │ └── stable/ │ │ └── snap/ │ │ ├── hooks/ │ │ │ └── configure │ │ ├── local/ │ │ │ └── bin/ │ │ │ └── electron-launch │ │ └── snapcraft.yaml │ └── winget/ │ └── check_version.sh ├── undo_telemetry.sh ├── update_upstream.sh ├── update_version.sh ├── upload_sourcemaps.sh ├── upstream/ │ ├── insider.json │ └── stable.json ├── utils.sh └── version.sh
SYMBOL INDEX (16 symbols across 1 files)
FILE: font-size/generate-css.ts
type Area (line 9) | type Area = {
constant PX_REGEX (line 16) | const PX_REGEX = /(-?\d+(\.\d+)?)px\b/g;
constant COEFF_PRECISION (line 17) | const COEFF_PRECISION = 6;
constant HEADER (line 18) | const HEADER = '/*** Generated for Custom Font Size ***/';
constant ZEROS (line 19) | const ZEROS = ['margin', 'padding'];
constant AREAS (line 21) | const AREAS: Record<string, Area> = {
function formatCoefficient (line 66) | function formatCoefficient(n: number): string { // {{{
function replacePx (line 71) | function replacePx(area: Area) { // {{{
function transformPxValue (line 85) | function transformPxValue(value: string, area: Area): string { // {{{
function processFile (line 89) | async function processFile(filePath: string, areas: Area[]): Promise<Res...
function processFileArea (line 123) | function processFileArea(postcssResult: Root, generatedRoot: Root, area:...
function extractOriginal (line 170) | function extractOriginal(content: string): string { // {{{
function extractStyle (line 180) | function extractStyle(selector: string): string { // {{{
function mergeSelector (line 186) | function mergeSelector(selectors: string[], prefixes: string[], index: n...
function prefixSelector (line 213) | function prefixSelector(selector: string, prefixParts: string[]): string...
function main (line 228) | async function main(): Promise<void> { // {{{
Condensed preview — 253 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,446K chars).
[
{
"path": ".editorconfig",
"chars": 370,
"preview": "root = true\n\n[*]\nindent_style = space\nindent_size = 2\ntab_width = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_white"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 1270,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n**Describe the "
},
{
"path": ".github/dependabot.yml",
"chars": 468,
"preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
},
{
"path": ".github/workflows/insider-linux.yml",
"chars": 18211,
"preview": "name: insider-linux\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n description"
},
{
"path": ".github/workflows/insider-macos.yml",
"chars": 4010,
"preview": "name: insider-macos\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n description"
},
{
"path": ".github/workflows/insider-spearhead.yml",
"chars": 2970,
"preview": "name: insider-spearhead\n\non:\n workflow_dispatch:\n inputs:\n new_release:\n type: boolean\n descripti"
},
{
"path": ".github/workflows/insider-windows.yml",
"chars": 9825,
"preview": "name: insider-windows\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n descripti"
},
{
"path": ".github/workflows/lock.yml",
"chars": 353,
"preview": "name: Lock Closed Threads\n\non:\n schedule:\n - cron: '0 2 * * *'\n\njobs:\n lock:\n runs-on: ubuntu-latest\n steps:\n"
},
{
"path": ".github/workflows/stable-linux.yml",
"chars": 19205,
"preview": "name: stable-linux\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n description:"
},
{
"path": ".github/workflows/stable-macos.yml",
"chars": 3780,
"preview": "name: stable-macos\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n description:"
},
{
"path": ".github/workflows/stable-spearhead.yml",
"chars": 2783,
"preview": "name: stable-spearhead\n\non:\n workflow_dispatch:\n inputs:\n new_release:\n type: boolean\n descriptio"
},
{
"path": ".github/workflows/stable-windows.yml",
"chars": 9406,
"preview": "name: stable-windows\n\non:\n workflow_dispatch:\n inputs:\n force_version:\n type: boolean\n descriptio"
},
{
"path": ".github/workflows/stale.yml",
"chars": 886,
"preview": "name: Stale Issues\n\non:\n schedule:\n - cron: '0 1 * * *'\n\npermissions:\n issues: write\n\njobs:\n stale:\n runs-on: u"
},
{
"path": ".gitignore",
"chars": 490,
"preview": "vscode*\nVS*/*\nVSCode*\nVSCodium*\n.DS_Store\n*.env\nassets/\nbuild/linux/appimage/out\nbuild/linux/appimage/pkg2appimage.AppDi"
},
{
"path": ".nvmrc",
"chars": 8,
"preview": "22.22.0\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 4994,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
},
{
"path": "CONTRIBUTING.md",
"chars": 1767,
"preview": "# Contributing\n\n:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:\n\n#### Table Of Contents\n\n- [C"
},
{
"path": "FUNDING.json",
"chars": 107,
"preview": "{\n \"drips\": {\n \"ethereum\": {\n \"ownedBy\": \"0x7806393Cb27692C6A52eE3D5338A75cECD168219\"\n }\n }\n}\n"
},
{
"path": "LICENSE",
"chars": 1184,
"preview": "MIT License\n\nCopyright (c) 2018-present The VSCodium contributors\nCopyright (c) 2018-present Peter Squicciarini\nCopyrigh"
},
{
"path": "README.md",
"chars": 12420,
"preview": "<div id=\"vscodium-logo\" align=\"center\">\n <br />\n <img src=\"./icons/stable/codium_cnl.svg\" alt=\"VSCodium Logo\" widt"
},
{
"path": "announcements-builtin.json",
"chars": 4,
"preview": "[\n]\n"
},
{
"path": "announcements-extra.json",
"chars": 162,
"preview": "[\n {\n \"id\": \"#2668\",\n \"title\": \"[Windows] broken update on 1.107, need manual update\",\n \"url\": \"https://github"
},
{
"path": "build/alpine/package_reh.sh",
"chars": 2007,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\nif [[ \"${CI_BUILD}\" == \"no\" ]]; then\n exit 1\nfi\n\n# include co"
},
{
"path": "build/linux/appimage/build.sh",
"chars": 2108,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nCALLER_DIR=$( pwd )\n\ncd \"$( dirname \"${BASH_SOURCE[0]}\" )\"\n\nif [[ \"${VSCODE_ARCH}\" == \"x64"
},
{
"path": "build/linux/appimage/recipe.yml",
"chars": 2661,
"preview": "# Based on\n# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml\n#\n# On a Debian/Ubuntu system:\n# wg"
},
{
"path": "build/linux/deps.sh",
"chars": 380,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nsudo apt-get update -y\n\nsudo apt-get install -y libkrb5-dev\n\nif [[ \"${VSCODE_ARCH}\" == \"ar"
},
{
"path": "build/linux/install_gh.sh",
"chars": 759,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nGH_ARCH=\"amd64\"\n\nfor i in {1..5}; do\n TAG=$( curl --retry 12 --retry-delay 30 \"https://ap"
},
{
"path": "build/linux/install_nodejs.sh",
"chars": 368,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nNODEJS_VERSION=$( cat .nvmrc )\n\ncurl -fsSL \"${NODEJS_SITE}${NODEJS_URLROOT}/v${NODEJS_VERS"
},
{
"path": "build/linux/loong64/electron.sh",
"chars": 113,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nexport ELECTRON_VERSION=\"39.2.3\"\nexport VSCODE_ELECTRON_TAG=\"v${ELECTRON_VERSION}\"\n"
},
{
"path": "build/linux/loong64/electron.sha256sums",
"chars": 874,
"preview": "d26b2189e7466a08c73861d0225c9b28730fdfc30918f3ea70853b43a2581dc4 *chromedriver-v39.2.3-linux-loong64.zip\n8cc36f7468f5b2d"
},
{
"path": "build/linux/loong64/ripgrep.sh",
"chars": 645,
"preview": "#!/usr/bin/env bash\n\n# When installing @vscode/ripgrep, it will try to download prebuilt ripgrep binary from https://git"
},
{
"path": "build/linux/package_bin.sh",
"chars": 4121,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\nif [[ \"${CI_BUILD}\" == \"no\" ]]; then\n exit 1\nfi\n\n# include co"
},
{
"path": "build/linux/package_reh.sh",
"chars": 7185,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\nif [[ \"${CI_BUILD}\" == \"no\" ]]; then\n exit 1\nfi\n\n# include co"
},
{
"path": "build/linux/ppc64le/electron.sh",
"chars": 113,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nexport ELECTRON_VERSION=\"39.2.7\"\nexport VSCODE_ELECTRON_TAG=\"v${ELECTRON_VERSION}\"\n"
},
{
"path": "build/linux/ppc64le/electron.sha256sums",
"chars": 977,
"preview": "bacff46523cea806df9788d9e24f7f53fad2317f18afdcbc596b86863dd40805 *chromedriver-v39.2.7-linux-ppc64le.zip\nb83820b37325c0a"
},
{
"path": "build/linux/riscv64/electron.sh",
"chars": 120,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nexport ELECTRON_VERSION=\"39.2.7\"\nexport VSCODE_ELECTRON_TAG=\"v${ELECTRON_VERSION}.riscv1\"\n"
},
{
"path": "build/linux/riscv64/electron.sha256sums",
"chars": 1098,
"preview": "6759ef2bd69a2e31a3f0e17c4e4c0bf239b54f08525572201ae7760851168487 *chromedriver-v39.2.7-linux-riscv64.zip\n89562e30982d8ac"
},
{
"path": "build/linux/riscv64/ripgrep.sh",
"chars": 506,
"preview": "#!/usr/bin/env bash\n\n# microsoft/ripgrep-prebuilt doesn't support riscv64.\n# Tracking PR: https://github.com/microsoft/r"
},
{
"path": "build/linux/verify_abi_requirements.sh",
"chars": 937,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nFILES=$(\n find \"${SEARCH_PATH}\" -type f -executable -name \"node\"\n find \"${SEARCH_PATH}\" -"
},
{
"path": "build/linux/verify_cxx11_requirements.sh",
"chars": 379,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nFILES=$( find \"${SEARCH_PATH}\" -name \"*.node\" -not -path \"*prebuilds*\" -not -path \"*extensi"
},
{
"path": "build/osx/include.gypi",
"chars": 175,
"preview": "{\n 'target_defaults': {\n 'conditions': [\n ['OS==\"mac\"', {\n 'xcode_settings': {\n 'OTHER_CPLUSPLU"
},
{
"path": "build/windows/appx/build.sh",
"chars": 433,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\n# Add Windows SDK to path\nSDK='/C/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64"
},
{
"path": "build/windows/msi/build-updates-disabled.sh",
"chars": 336,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nCALLER_DIR=$( pwd )\n\ncd \"$( dirname \"${BASH_SOURCE[0]}\" )\"\n\nSCRIPT_DIR=$( pwd )\n\ncd \"../.."
},
{
"path": "build/windows/msi/build.sh",
"chars": 5239,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\nCALLER_DIR=$( pwd )\n\ncd \"$( dirname \"${BASH_SOURCE[0]}\" )\"\n\nWIN_SDK_MAJOR_VERSION=\"10\"\nWIN"
},
{
"path": "build/windows/msi/i18n/vscodium.de-de.wxl",
"chars": 2234,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"de-de\" Codepage=\"1252\" xmlns=\"http://schemas.microsoft"
},
{
"path": "build/windows/msi/i18n/vscodium.en-us.wxl",
"chars": 2142,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"en-us\" Codepage=\"1252\" xmlns=\"http://schemas.microsoft"
},
{
"path": "build/windows/msi/i18n/vscodium.es-es.wxl",
"chars": 2142,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"es-es\" Codepage=\"1252\" xmlns=\"http://schemas.microsoft"
},
{
"path": "build/windows/msi/i18n/vscodium.fr-fr.wxl",
"chars": 2142,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"fr-fr\" Codepage=\"1252\" xmlns=\"http://schemas.microsoft"
},
{
"path": "build/windows/msi/i18n/vscodium.it-it.wxl",
"chars": 2142,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"it-it\" Codepage=\"1252\" xmlns=\"http://schemas.microsoft"
},
{
"path": "build/windows/msi/i18n/vscodium.ja-jp.wxl",
"chars": 2141,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"ja-jp\" Codepage=\"932\" xmlns=\"http://schemas.microsoft."
},
{
"path": "build/windows/msi/i18n/vscodium.ko-kr.wxl",
"chars": 2141,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"ko-kr\" Codepage=\"949\" xmlns=\"http://schemas.microsoft."
},
{
"path": "build/windows/msi/i18n/vscodium.ru-ru.wxl",
"chars": 2253,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"ru-ru\" Codepage=\"1251\" xmlns=\"http://schemas.microsoft."
},
{
"path": "build/windows/msi/i18n/vscodium.zh-cn.wxl",
"chars": 2141,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"zh-cn\" Codepage=\"936\" xmlns=\"http://schemas.microsoft."
},
{
"path": "build/windows/msi/i18n/vscodium.zh-tw.wxl",
"chars": 2141,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<WixLocalization Culture=\"zh-tw\" Codepage=\"950\" xmlns=\"http://schemas.microsoft."
},
{
"path": "build/windows/msi/includes/vscodium-variables.wxi",
"chars": 906,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Include>\n <!-- Setup UI strings. -->\n <?if $(env.Platform)=x86?>\n <?define"
},
{
"path": "build/windows/msi/vscodium.wxs",
"chars": 112657,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Wix xmlns=\"http://schemas.microsoft.com/wix/2006/wi\" xmlns:util=\"http://schemas."
},
{
"path": "build/windows/msi/vscodium.xsl",
"chars": 19766,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xsl:stylesheet version=\"1.0\"\n xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n"
},
{
"path": "build/windows/package.sh",
"chars": 1216,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\nif [[ \"${CI_BUILD}\" == \"no\" ]]; then\n exit 1\nfi\n\ntar -xzf ./v"
},
{
"path": "build/windows/rtf/make.sh",
"chars": 510,
"preview": "#!/usr/bin/env bash\n\ncd \"$( dirname \"${BASH_SOURCE[0]}\" )\"/../../../vscode || { echo \"'vscode' dir not found\"; exit 1; }"
},
{
"path": "build.sh",
"chars": 2552,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\n. version.sh\n\nif [[ \"${SHOULD_BUILD}\" == \"yes\" ]]; then\n echo"
},
{
"path": "build_cli.sh",
"chars": 3924,
"preview": "#!/usr/bin/env bash\n\nset -ex\n\ncd cli\n\nexport CARGO_NET_GIT_FETCH_WITH_CLI=\"true\"\nexport VSCODE_CLI_APP_NAME=\"$( echo \"${"
},
{
"path": "check_cron_or_pr.sh",
"chars": 921,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC2129\n\nset -e\n\nif [[ \"${GITHUB_EVENT_NAME}\" == \"pull_request\" ]]; then\n\techo \""
},
{
"path": "check_tags.sh",
"chars": 24700,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC2129\n\nset -e\n\nif [[ -z \"${GH_TOKEN}\" ]] && [[ -z \"${GITHUB_TOKEN}\" ]] && [[ -"
},
{
"path": "dev/build.ps1",
"chars": 210,
"preview": "# powershell -ExecutionPolicy ByPass -File .\\build\\build.ps1\n\n# first so `bash` is the one installed with `git`, avoid c"
},
{
"path": "dev/build.sh",
"chars": 3971,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091,SC2129\n\n### Windows\n# to run with Bash: \"C:\\Program Files\\Git\\bin\\bash.e"
},
{
"path": "dev/build_docker.sh",
"chars": 1016,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nexists() { type -t \"$1\" &> /dev/null; }\n\nexport APP_NAME=\"VSCodium\"\nexp"
},
{
"path": "dev/cli.sh",
"chars": 678,
"preview": "export CARGO_NET_GIT_FETCH_WITH_CLI=\"true\"\nexport VSCODE_CLI_APP_NAME=\"vscodium\"\nexport VSCODE_CLI_BINARY_NAME=\"codium-s"
},
{
"path": "dev/merge-patches.sh",
"chars": 1154,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nnormalize_file() {\n if [[ \"${1}\" == *patch ]]; then\n FILE=\"${1}\"\n else\n FILE=\"${1}."
},
{
"path": "dev/osx/codesign.env.template",
"chars": 131,
"preview": "CERTIFICATE_OSX_APP_PASSWORD=\nCERTIFICATE_OSX_ID=\nCERTIFICATE_OSX_P12_DATA=\nCERTIFICATE_OSX_P12_PASSWORD=\nCERTIFICATE_OS"
},
{
"path": "dev/patch.sh",
"chars": 1370,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nnormalize_file() {\n if [[ \"${1}\" == *patch ]]; then\n FILE=\"${1}\"\n else\n FILE=\"${1}."
},
{
"path": "dev/update_api.sh",
"chars": 1637,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nexport VSCODE_QUALITY=\"stable\"\n\nwhile getopts \":i\" opt; do\n case \"$opt\" in\n i)\n ex"
},
{
"path": "dev/update_patches.sh",
"chars": 5513,
"preview": "#!/usr/bin/env bash\n\nexport VSCODE_QUALITY=\"stable\"\n\nwhile getopts \":i\" opt; do\n case \"$opt\" in\n i)\n export VSC"
},
{
"path": "docs/accounts-authentication.md",
"chars": 575,
"preview": "<!-- order: 0 -->\n\n# Accounts authentication\n\n## GitHub\n\nThe GitHub authentication has been patched to use personal acce"
},
{
"path": "docs/ext-github-copilot.md",
"chars": 878,
"preview": "<!-- order: 16 -->\n\n# Extension: GitHub Copilot\n\nUnlike Visual Studio Code, in VSCodium, Copilot features are disabled a"
},
{
"path": "docs/extensions-compatibility.md",
"chars": 2170,
"preview": "<!-- order: 0 -->\n\n# Extensions compatibility\n\n## Table of Contents\n\n- [Incompatibility](#incompatibility)\n- [Replacemen"
},
{
"path": "docs/extensions.md",
"chars": 9297,
"preview": "<!-- order: 15 -->\n\n# Extensions + Marketplace\n\n## Table of Contents\n\n- [Marketplace](#marketplace)\n- [How to use the Op"
},
{
"path": "docs/getting-started.md",
"chars": 1986,
"preview": "<!-- order: 5 -->\n\n# Getting Started with VSCodium\n\nThis guide will help you get started with VSCodium.\n\n## Table of Con"
},
{
"path": "docs/howto-build.md",
"chars": 4063,
"preview": "<!-- order: 35 -->\n\n# How to build VSCodium\n\n## Table of Contents\n\n- [Dependencies](#dependencies)\n - [Linux](#dependen"
},
{
"path": "docs/index.md",
"chars": 4582,
"preview": "# Documentation\n\n## Table of Contents\n\n- [Getting Started with VSCodium](https://github.com/VSCodium/vscodium/blob/maste"
},
{
"path": "docs/migration.md",
"chars": 2714,
"preview": "<!-- order: 20 -->\n\n# Migration\n\n## Table of Contents\n\n- [Manual Migration from Visual Studio Code to VSCodium](#manual-"
},
{
"path": "docs/others.md",
"chars": 468,
"preview": "<!-- order: 30 -->\n\n# Other Resources\n\n## Table of Contents\n\n- [What are reh and reh-web archives?](#reh)\n\n## <a id=\"reh"
},
{
"path": "docs/telemetry.md",
"chars": 4712,
"preview": "<!-- order: 10 -->\n\n# Getting all telemetry out\n\nThis page explains how VSCodium handles telemetry and how it enhances y"
},
{
"path": "docs/troubleshooting.md",
"chars": 2876,
"preview": "<!-- order: 25 -->\n\n# Troubleshooting\n\n## Table of Contents\n\n- [Linux](#linux)\n - [Fonts showing up as rectangles](#lin"
},
{
"path": "docs/usage.md",
"chars": 3748,
"preview": "<!-- order: 25 -->\n\n# Usage\n\n## Table of Contents\n\n- [Sign in with GitHub](#signin-github)\n- [Accounts authentication](h"
},
{
"path": "font-size/.artifactrc.yml",
"chars": 136,
"preview": "artifacts:\n \"@daiyam/artifact-lang-js\":\n version: 0.9.3\n requires:\n - \"22\"\n \"@daiyam/artifact-lang-ts\":\n "
},
{
"path": "font-size/.editorconfig",
"chars": 243,
"preview": "root = true\n\n[*]\nindent_style = tab\ntab_width = 4\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninser"
},
{
"path": "font-size/.fixpackrc",
"chars": 384,
"preview": "{\n\t\"sortToTop\": [\n\t\t\"name\",\n\t\t\"displayName\",\n\t\t\"description\",\n\t\t\"version\",\n\t\t\"private\",\n\t\t\"author\",\n\t\t\"publisher\",\n\t\t\"li"
},
{
"path": "font-size/.gitignore",
"chars": 21,
"preview": "/node_modules/\n/lib/\n"
},
{
"path": "font-size/.nvmrc",
"chars": 9,
"preview": "v22.21.1\n"
},
{
"path": "font-size/.vscode/settings.json",
"chars": 119,
"preview": "{\n\t\"search.exclude\": {\n\t\t\"package-lock.json\": true,\n\t\t\"lib/**\": true,\n\t},\n\t\"taskExplorer.exclude\": [\n\t\t\".husky\",\n\t],\n}\n"
},
{
"path": "font-size/.xo-config.json",
"chars": 2946,
"preview": "{\n\t\"ignores\": [\n\t\t\"*.config.js\",\n\t\t\"*.config.ts\"\n\t],\n\t\"rules\": {\n\t\t\"@typescript-eslint/ban-types\": \"off\",\n\t\t\"@typescript"
},
{
"path": "font-size/generate-css.ts",
"chars": 7632,
"preview": "#!/usr/bin/env node\n\nimport path from 'node:path';\nimport process from 'node:process';\nimport fse from '@zokugun/fs-extr"
},
{
"path": "font-size/package.json",
"chars": 576,
"preview": "{\n\t\"name\": \"font-size\",\n\t\"description\": \"\",\n\t\"version\": \"1.0.0\",\n\t\"author\": {\n\t\t\"name\": \"Baptiste Augrain\",\n\t\t\"email\": \""
},
{
"path": "font-size/tsconfig.base.json",
"chars": 5936,
"preview": "{\n\t\"compilerOptions\": {\n\t\t/* Language and Environment */\n\t\t\"target\": \"ES2022\",\t\t\t\t\t\t\t\t/* Specify ECMAScript target versi"
},
{
"path": "font-size/tsconfig.json",
"chars": 284,
"preview": "{\n\t\"extends\": \"./tsconfig.base.json\",\n\t\"compilerOptions\": {\n\t\t/* Basic Options */\n\t\t\"outDir\": \".\",\n\t\t\"rootDir\": \".\",\n\t\t\""
},
{
"path": "get_pr.sh",
"chars": 604,
"preview": "#!/usr/bin/env bash\n\nset -e\n\n# git workaround\nif [[ \"${CI_BUILD}\" != \"no\" ]]; then\n git config --global --add safe.dire"
},
{
"path": "get_repo.sh",
"chars": 3393,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC2129\n\nset -e\n\n# git workaround\nif [[ \"${CI_BUILD}\" != \"no\" ]]; then\n git con"
},
{
"path": "icons/README.md",
"chars": 347,
"preview": "## Files\n\n| filename | color | width | border |\n| ------------------------- | ------ | ----- | ------ "
},
{
"path": "icons/build_icons.sh",
"chars": 9033,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -e\n\n# DEBUG\n# set -o xtrace\n\nwhile getopts \":i\" opt; do\n case \"$op"
},
{
"path": "npmrc",
"chars": 64,
"preview": "build_from_source=\"true\"\nlegacy-peer-deps=\"true\"\ntimeout=180000\n"
},
{
"path": "patches/add-remote-url.patch",
"chars": 1380,
"preview": "diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts\nindex b935764..68067db 100644\n--- a/build/gulpfile.reh.ts\n+++"
},
{
"path": "patches/alpine/reh/fix-node-docker.patch",
"chars": 1241,
"preview": "diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts\nindex cb1a0a5..375851e 100644\n--- a/build/gulpfile.reh.ts\n+++"
},
{
"path": "patches/binary-name.patch",
"chars": 1587,
"preview": "diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts\nindex a103f11..cc95785 100644\n--- a/build/gulpfile.vsco"
},
{
"path": "patches/brand.patch",
"chars": 141119,
"preview": "diff --git a/extensions/configuration-editing/src/configurationEditingMain.ts b/extensions/configuration-editing/src/con"
},
{
"path": "patches/cli.patch",
"chars": 11742,
"preview": "diff --git a/cli/src/commands/serve_web.rs b/cli/src/commands/serve_web.rs\nindex d3f7db8..988024b 100644\n--- a/cli/src/c"
},
{
"path": "patches/disable-cloud.patch",
"chars": 3093,
"preview": "diff --git a/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.ts b/src/vs/workbench/contrib/edit"
},
{
"path": "patches/disable-copilot.patch",
"chars": 9295,
"preview": "diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/action"
},
{
"path": "patches/disable-missing-vsda.patch",
"chars": 4966,
"preview": "diff --git a/src/vs/platform/sign/browser/signService.ts b/src/vs/platform/sign/browser/signService.ts\nindex c288b2e..83"
},
{
"path": "patches/disable-signature-verification.patch",
"chars": 1068,
"preview": "diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagemen"
},
{
"path": "patches/disable-update.patch.yet",
"chars": 499,
"preview": "diff --git a/src/vs/platform/update/common/update.config.contribution.ts b/src/vs/platform/update/common/update.config.c"
},
{
"path": "patches/disable-vscodedev.patch",
"chars": 7414,
"preview": "diff --git a/extensions/github/package.json b/extensions/github/package.json\nindex bce90fe..73debf7 100644\n--- a/extensi"
},
{
"path": "patches/ext-from-gh.patch",
"chars": 493,
"preview": "diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts\nindex d52567b..fe5b988 100644\n--- a/build/l"
},
{
"path": "patches/extensions-disable-mangler.patch",
"chars": 458,
"preview": "--- vscode-1.80.1/extensions/mangle-loader.js.old\t2023-07-12 18:45:52.000000000 +0200\n+++ vscode-1.80.1/extensions/mangl"
},
{
"path": "patches/feat-announcements.patch",
"chars": 4534,
"preview": "diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/co"
},
{
"path": "patches/feat-command-filter.patch",
"chars": 8114,
"preview": "diff --git a/src/vs/workbench/contrib/commands/common/commands.contribution.ts b/src/vs/workbench/contrib/commands/commo"
},
{
"path": "patches/feat-experimental-font.patch",
"chars": 246989,
"preview": "diff --git a/src/vs/base/browser/ui/actionbar/actionbar.css b/src/vs/base/browser/ui/actionbar/actionbar.css\nindex 467b1"
},
{
"path": "patches/feat-ext-unsafe.patch",
"chars": 1482,
"preview": "diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement"
},
{
"path": "patches/feat-user-product.patch",
"chars": 3551,
"preview": "diff --git a/src/cli.ts b/src/cli.ts\nindex b643e34..2f228ef 100644\n--- a/src/cli.ts\n+++ b/src/cli.ts\n@@ -5,2 +5,4 @@\n \n+"
},
{
"path": "patches/fix-build-vsce.patch",
"chars": 12807,
"preview": "diff --git a/build/.moduleignore b/build/.moduleignore\nindex ed36151..022d6ed 100644\n--- a/build/.moduleignore\n+++ b/bui"
},
{
"path": "patches/fix-eol-banner.patch",
"chars": 3074,
"preview": "diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts\ni"
},
{
"path": "patches/fix-extensions-control-connection.patch",
"chars": 913,
"preview": "diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement"
},
{
"path": "patches/fix-gallery.patch",
"chars": 2226,
"preview": "diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts\nindex 3954823..f8026cd 100644\n--- a/src/vs/ba"
},
{
"path": "patches/fix-keymap.patch",
"chars": 5890,
"preview": "diff --git a/.npmrc b/.npmrc\nindex 2c7c6c1..5d5fc7d 100644\n--- a/.npmrc\n+++ b/.npmrc\n@@ -6,2 +6,3 @@ ignore-scripts=fals"
},
{
"path": "patches/fix-npm-preinstall.patch",
"chars": 706,
"preview": "diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts\nindex 3476fca..e23329f 100644\n--- a/build/npm/preinstall."
},
{
"path": "patches/fix-policies.patch",
"chars": 16946,
"preview": "diff --git a/build/.moduleignore b/build/.moduleignore\nindex ed36151..c955e07 100644\n--- a/build/.moduleignore\n+++ b/bui"
},
{
"path": "patches/fix-remote-libs.patch",
"chars": 745,
"preview": "diff --git a/remote/package-lock.json b/remote/package-lock.json\nindex 30a7391..94f839a 100644\n--- a/remote/package-lock"
},
{
"path": "patches/fix-tunnel-extension-recommendation.patch",
"chars": 706,
"preview": "diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts b/src/vs/workbench/cont"
},
{
"path": "patches/helper/settings.patch",
"chars": 706,
"preview": "diff --git a/.vscode/settings.json b/.vscode/settings.json\nindex 7434345..f870f59 100644\n--- a/.vscode/settings.json\n+++"
},
{
"path": "patches/insider/system-extensions.patch",
"chars": 846,
"preview": "diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extens"
},
{
"path": "patches/linux/arch-0-support.patch",
"chars": 4941,
"preview": "diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh\nindex f0d5fe6..fdb3707 "
},
{
"path": "patches/linux/arch-1-ppc64le.patch",
"chars": 14699,
"preview": "diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh\nindex fdb3707..67bc741 "
},
{
"path": "patches/linux/arch-2-riscv64.patch",
"chars": 8106,
"preview": "diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts\nindex f986b4e..557990e 100644\n--- a/build/gulpfile.reh.ts\n+++"
},
{
"path": "patches/linux/arch-3-loong64.patch",
"chars": 4635,
"preview": "diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts\nindex ff202a7..74bd1bc 100644\n--- a/build/gulpfile.reh.ts\n+++"
},
{
"path": "patches/linux/arch-4-s390x.patch",
"chars": 12915,
"preview": "diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh\nindex 6ff90d4..381150d "
},
{
"path": "patches/linux/cli.patch",
"chars": 1060,
"preview": "diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs\nindex bbabadc..08af0df 100644\n--- a/cli/src"
},
{
"path": "patches/linux/client/avoid-crash-16k-page-size.patch",
"chars": 706,
"preview": "diff --git a/src/main.ts b/src/main.ts\nindex c132c9b..51a7290 100644\n--- a/src/main.ts\n+++ b/src/main.ts\n@@ -524,2 +524,"
},
{
"path": "patches/linux/client/disable-remote.patch",
"chars": 464,
"preview": "diff --git a/build/npm/dirs.ts b/build/npm/dirs.ts\nindex 48d76e2..270b078 100644\n--- a/build/npm/dirs.ts\n+++ b/build/npm"
},
{
"path": "patches/linux/feat-logs-home.patch",
"chars": 5978,
"preview": "diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts\nindex"
},
{
"path": "patches/linux/fix-build.patch",
"chars": 43900,
"preview": "diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts\nindex 874c802..04731cf 100644"
},
{
"path": "patches/linux/fix-global-policy.patch",
"chars": 411,
"preview": "diff --git a/src/vs/base/common/policy.ts b/src/vs/base/common/policy.ts\nindex 8141b0f..33599d9 100644\n--- a/src/vs/base"
},
{
"path": "patches/linux/fix-npm-postinstall.patch",
"chars": 814,
"preview": "diff --git a/build/npm/postinstall.ts b/build/npm/postinstall.ts\nindex c4bbbf5..2a1c6c5 100644\n--- a/build/npm/postinsta"
},
{
"path": "patches/linux/fix-reh-bootstrap.patch",
"chars": 980,
"preview": "diff --git a/src/bootstrap-esm.ts b/src/bootstrap-esm.ts\nindex 54681a2..39f72ad 100644\n--- a/src/bootstrap-esm.ts\n+++ b/"
},
{
"path": "patches/linux/reh/s390x/package.json.patch",
"chars": 991,
"preview": "diff --git a/package-lock.json b/package-lock.json\nindex fd395eb..f56bc78 100644\n--- a/package-lock.json\n+++ b/package-l"
},
{
"path": "patches/linux/rpm.patch",
"chars": 558,
"preview": "diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template\nindex a73bc02..242bab0 1006"
},
{
"path": "patches/linux/update-xdg-path.patch",
"chars": 1279,
"preview": "diff --git a/extensions/git/src/ipc/ipcServer.ts b/extensions/git/src/ipc/ipcServer.ts\nindex a7142fe..526ca17 100644\n---"
},
{
"path": "patches/optional-tree-sitter.patch",
"chars": 1523,
"preview": "diff --git a/build/package-lock.json b/build/package-lock.json\nindex 445e842..1dea5d1 100644\n--- a/build/package-lock.js"
},
{
"path": "patches/osx/fix-codesign.patch.no",
"chars": 1699,
"preview": "diff --git a/build/darwin/sign.js b/build/darwin/sign.js\nindex dff30fd..df48bee 100644\n--- a/build/darwin/sign.js\n+++ b/"
},
{
"path": "patches/osx/fix-emulated-urls.patch",
"chars": 762,
"preview": "diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts\nindex d507690..1a"
},
{
"path": "patches/remove-mangle.patch",
"chars": 1427,
"preview": "diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts\nindex 948c6b4..66ecdd3 100644\n--- a/build/lib/compilati"
},
{
"path": "patches/report-issue.patch",
"chars": 5741,
"preview": "diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensionsSlowActions.ts b/src/vs/workbench/contrib/ex"
},
{
"path": "patches/sourcemaps.patch",
"chars": 2556,
"preview": "diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts\nindex 24462a3..1daa855 100644\n--- a/build/lib/extensions."
},
{
"path": "patches/telemetry.patch",
"chars": 4031,
"preview": "diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts"
},
{
"path": "patches/terminal-suggest.patch",
"chars": 1725,
"preview": "diff --git a/extensions/terminal-suggest/src/completions/codium-insiders.ts b/extensions/terminal-suggest/src/completion"
},
{
"path": "patches/update-cache-path.patch",
"chars": 782,
"preview": "diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateSe"
},
{
"path": "patches/update-electron.patch.no",
"chars": 17185,
"preview": "diff --git a/.npmrc b/.npmrc\nindex e4a5cc2..e3be238 100644\n--- a/.npmrc\n+++ b/.npmrc\n@@ -1,3 +1,3 @@\n disturl=\"https://e"
},
{
"path": "patches/use-github-pat.patch",
"chars": 1349,
"preview": "diff --git a/extensions/github-authentication/src/common/env.ts b/extensions/github-authentication/src/common/env.ts\nind"
},
{
"path": "patches/user/readme.txt",
"chars": 106,
"preview": "store user patches at location patches/user and those will be applied to vscode source git by the scripts\n"
},
{
"path": "patches/version-0-release.patch",
"chars": 1625,
"preview": "diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts\nindex c5d2163..b4768b9 100644\n--- a/build/g"
},
{
"path": "patches/version-1-update.patch",
"chars": 13472,
"preview": "diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts\nindex cbeb3a6..bc382cc 10"
},
{
"path": "patches/windows/appx.patch",
"chars": 2365,
"preview": "diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts\nindex d3ab651..d067b5b 100644\n--- a/build/gulpfile.vsco"
},
{
"path": "patches/windows/cli.patch",
"chars": 320,
"preview": "diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs\nindex 3e0895f..e518ad8 100644\n--- a/cli/src/update_se"
},
{
"path": "patches/windows/win7.patch",
"chars": 271,
"preview": "diff --git a/build/win32/code.iss b/build/win32/code.iss\nindex 44c9f2f..454aa09 100644\n--- a/build/win32/code.iss\n+++ b/"
},
{
"path": "prepare_assets.sh",
"chars": 8291,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -e\n\nAPP_NAME_LC=\"$( echo \"${APP_NAME}\" | awk '{print tolower($0)}' "
},
{
"path": "prepare_checksums.sh",
"chars": 322,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nnpm install -g checksum\n\nsum_file() {\n if [[ -f \"${1}\" ]]; then\n echo \"Calculating chec"
},
{
"path": "prepare_src.sh",
"chars": 874,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -e\n\nnpm install -g checksum\n\nsum_file() {\n if [[ -f \"${1}\" ]]; the"
},
{
"path": "prepare_vscode.sh",
"chars": 11717,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091,2154\n\nset -e\n\nif [[ \"${VSCODE_QUALITY}\" == \"insider\" ]]; then\n cp -rp s"
},
{
"path": "product.json",
"chars": 15367,
"preview": "{\n \"extensionAllowedBadgeProviders\": [\n \"api.bintray.com\",\n \"api.travis-ci.com\",\n \"api.travis-ci.org\",\n \"ap"
},
{
"path": "release.sh",
"chars": 3991,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -ex\n\nif [[ -z \"${GH_TOKEN}\" ]] && [[ -z \"${GITHUB_TOKEN}\" ]] && [[ "
},
{
"path": "release_notes.md",
"chars": 16004,
"preview": "update vscode to [@@MS_TAG@@](@@MS_URL@@)\n\n@@RELEASE_NOTES@@\n\n## x86 64bits\n\n<table>\n <tr>\n <td rowspan=\"8\">Windows<"
},
{
"path": "src/insider/resources/linux/code-url-handler.desktop",
"chars": 322,
"preview": "[Desktop Entry]\nName=@@NAME_LONG@@ - URL Handler\nComment=Code Editing. Redefined.\nGenericName=Text Editor\nExec=@@EXEC@@ "
},
{
"path": "src/insider/resources/linux/code.appdata.xml",
"chars": 648,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component type=\"desktop\">\n\t<id>@@NAME@@.desktop</id>\n\t<metadata_license>@@LICENS"
},
{
"path": "src/insider/resources/linux/code.desktop",
"chars": 677,
"preview": "[Desktop Entry]\nName=@@NAME_LONG@@\nComment=Code Editing. Redefined.\nGenericName=Text Editor\nExec=@@EXEC@@ %F\nIcon=@@ICON"
},
{
"path": "src/insider/resources/linux/rpm/code.xpm",
"chars": 2106168,
"preview": "/* XPM */\nstatic char *code[] = {\n/* columns rows colors chars-per-pixel */\n\"1024 1024 219 2 \",\n\" c #7FB57FB57FB5\",\n\"."
},
{
"path": "src/insider/resources/win32/VisualElementsManifest.xml",
"chars": 379,
"preview": "<Application xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n\t\t<VisualElements\n\t\t\t\tBackgroundColor=\"#2D2D30\"\n\t\t\t\t"
},
{
"path": "src/stable/resources/linux/code-url-handler.desktop",
"chars": 322,
"preview": "[Desktop Entry]\nName=@@NAME_LONG@@ - URL Handler\nComment=Code Editing. Redefined.\nGenericName=Text Editor\nExec=@@EXEC@@ "
},
{
"path": "src/stable/resources/linux/code.appdata.xml",
"chars": 648,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component type=\"desktop\">\n\t<id>@@NAME@@.desktop</id>\n\t<metadata_license>@@LICENS"
},
{
"path": "src/stable/resources/linux/code.desktop",
"chars": 730,
"preview": "[Desktop Entry]\nName=@@NAME_LONG@@\nComment=Code Editing. Redefined.\nGenericName=Text Editor\nGenericName[ar]=محرر نصوص\nEx"
},
{
"path": "src/stable/resources/linux/rpm/code.xpm",
"chars": 2105332,
"preview": "/* XPM */\nstatic char *code[] = {\n/* columns rows colors chars-per-pixel */\n\"1024 1024 181 2 \",\n\" c #7FB57FB57FB5\",\n\"."
},
{
"path": "src/stable/resources/win32/VisualElementsManifest.xml",
"chars": 368,
"preview": "<Application xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n\t\t<VisualElements\n\t\t\t\tBackgroundColor=\"#2D2D30\"\n\t\t\t\t"
},
{
"path": "stores/snapcraft/check_version.sh",
"chars": 1551,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC2129\n\nset -e\n\nexport SHOULD_BUILD=\"no\"\nexport SHOULD_DEPLOY_TO_RELEASE=\"no\"\ne"
},
{
"path": "stores/snapcraft/insider/snap/hooks/configure",
"chars": 152,
"preview": "#!/usr/bin/env bash\nset -eu\n\nwayland_native=\"$(snapctl get wayland-native)\"\nif [[ -z \"$wayland_native\" ]]; then\n snap"
},
{
"path": "stores/snapcraft/insider/snap/local/bin/electron-launch",
"chars": 9277,
"preview": "#!/usr/bin/env bash\n\n# On Fedora $SNAP is under /var and there is some magic to map it to /snap.\n# We need to handle tha"
},
{
"path": "stores/snapcraft/insider/snap/snapcraft.yaml",
"chars": 3753,
"preview": "name: codium-insiders\nadopt-info: codium-insiders\nsummary: Code editing. Redefined.\ndescription: |\n Binary releases of "
},
{
"path": "stores/snapcraft/stable/snap/hooks/configure",
"chars": 152,
"preview": "#!/usr/bin/env bash\nset -eu\n\nwayland_native=\"$(snapctl get wayland-native)\"\nif [[ -z \"$wayland_native\" ]]; then\n snap"
},
{
"path": "stores/snapcraft/stable/snap/local/bin/electron-launch",
"chars": 9277,
"preview": "#!/usr/bin/env bash\n\n# On Fedora $SNAP is under /var and there is some magic to map it to /snap.\n# We need to handle tha"
},
{
"path": "stores/snapcraft/stable/snap/snapcraft.yaml",
"chars": 3481,
"preview": "name: codium\nadopt-info: codium\nsummary: Code editing. Redefined.\ndescription: |\n Binary releases of Visual Studio Code"
},
{
"path": "stores/winget/check_version.sh",
"chars": 736,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nVERSIONS=$( curl --silent \"https://api.github.com/repos/microsoft/winget-pkgs/contents/mani"
},
{
"path": "undo_telemetry.sh",
"chars": 1304,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091,SC2016\n\nset -ex\n\n# list of urls to match:\n# - mobile.events.data.microso"
},
{
"path": "update_upstream.sh",
"chars": 832,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC2129\n\nset -e\n\nif [[ \"${SHOULD_BUILD}\" != \"yes\" ]]; then\n echo \"Will not upda"
},
{
"path": "update_version.sh",
"chars": 7128,
"preview": "#!/usr/bin/env bash\n# shellcheck disable=SC1091\n\nset -e\n\nif [[ \"${SHOULD_BUILD}\" != \"yes\" && \"${FORCE_UPDATE}\" != \"true\""
},
{
"path": "upload_sourcemaps.sh",
"chars": 2418,
"preview": "#!/usr/bin/env bash\n\nset -e\n\nnpm install -g checksum github-release-cli\n\nmkdir -p sourcemaps\ncd sourcemaps\n\nSOURCE_DIR=\""
},
{
"path": "upstream/insider.json",
"chars": 79,
"preview": "{\n \"tag\": \"1.110.0\",\n \"commit\": \"0870c2a0c7c0564e7631bfed2675573a94ba4455\"\n}\n"
},
{
"path": "upstream/stable.json",
"chars": 79,
"preview": "{\n \"tag\": \"1.110.1\",\n \"commit\": \"61b3d0ab13be7dda2389f1d3e60a119c7f660cc3\"\n}\n"
},
{
"path": "utils.sh",
"chars": 1767,
"preview": "#!/usr/bin/env bash\n\nAPP_NAME=\"${APP_NAME:-VSCodium}\"\nAPP_NAME_LC=\"$( echo \"${APP_NAME}\" | awk '{print tolower($0)}' )\"\n"
},
{
"path": "version.sh",
"chars": 545,
"preview": "#!/usr/bin/env bash\n\nif [[ -z \"${BUILD_SOURCEVERSION}\" ]]; then\n\n if type -t \"sha1sum\" &> /dev/null; then\n BUILD"
}
]
// ... and 58 more files (download for full content)
About this extraction
This page contains the full source code of the VSCodium/vscodium GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 253 files (5.1 MB), approximately 1.4M tokens, and a symbol index with 16 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.