Skip to content

Commit 5b2969d

Browse files
committed
feat(codeserver): custom npm prefetch and single ripgrep version for hermetic build
- Add custom-packages (prefetch-input/patches/code-server-v4.106.3/custom-packages/) for npm deps Konflux cannot fetch via git+ssh (@emmetio/css-parser, @parcel/watcher). Provide HTTPS GitHub tarball URLs so prefetch stores them under deps/npm/; rewrite-npm-urls.sh rewrites lockfile refs to file:///cachi2/... paths. - Use a single ripgrep version (v13.0.0-13) for all four architectures: - Add patched ripgrep/postinstall.js and apply in apply-patch.sh (overwrite @vscode/ripgrep postinstall in cached tarball; strip integrity in lib/vscode, remote, and build package-lock.json). - Reduce ripgrep artifacts from 6 to 4 in odh/rhds artifacts.in.yaml and regenerate artifacts.lock.yaml. - Update setup-offline-binaries.sh and add ripgrep/VERIFICATION.md. - Tekton: update codeserver-datascience-cpu-py312-ubi9 pipeline YAML as needed.
1 parent 3b069d4 commit 5b2969d

29 files changed

+3594
-232
lines changed

.tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-pull-request.yaml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,39 @@ spec:
165165
type: npm
166166
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server
167167
type: npm
168-
# patches/
168+
# patches/ overlay (overwrites code-server at build); use these so Cachi2 prefetches registry-only lockfiles
169169
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode
170170
type: npm
171+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/remote
172+
type: npm
173+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions
174+
type: npm
175+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/emmet
176+
type: npm
171177
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/test
172178
type: npm
173179
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/microsoft-authentication
174180
type: npm
181+
# Registry-only npm deps (ProdSec); @parcel/watcher, @emmetio/css-parser, @playwright/browser-chromium in custom-packages/package.json
182+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/custom-packages
183+
type: npm
184+
taskRunSpecs:
185+
- pipelineTaskName: prefetch-dependencies
186+
computeResources:
187+
requests:
188+
cpu: "8"
189+
memory: "32Gi"
190+
limits:
191+
cpu: "8"
192+
memory: "32Gi"
193+
- pipelineTaskName: build-images
194+
computeResources:
195+
requests:
196+
cpu: "8"
197+
memory: "32Gi"
198+
limits:
199+
cpu: "8"
200+
memory: "32Gi"
175201
pipelineRef:
176202
name: multiarch-combined-pipeline
177203
taskRunTemplate:

.tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-push.yaml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,40 @@ spec:
162162
type: npm
163163
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server
164164
type: npm
165-
# patches/
165+
# patches/ overlay (overwrites code-server at build); use these so Cachi2 prefetches registry-only lockfiles
166166
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode
167167
type: npm
168+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/remote
169+
type: npm
170+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions
171+
type: npm
172+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/emmet
173+
type: npm
168174
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/test
169175
type: npm
170176
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/microsoft-authentication
171177
type: npm
178+
# Registry-only npm deps (ProdSec); @parcel/watcher, @emmetio/css-parser, @playwright/browser-chromium in custom-packages/package.json
179+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/custom-packages
180+
type: npm
172181

182+
taskRunSpecs:
183+
- pipelineTaskName: prefetch-dependencies
184+
computeResources:
185+
requests:
186+
cpu: "8"
187+
memory: "32Gi"
188+
limits:
189+
cpu: "8"
190+
memory: "32Gi"
191+
- pipelineTaskName: build-images
192+
computeResources:
193+
requests:
194+
cpu: "8"
195+
memory: "32Gi"
196+
limits:
197+
cpu: "8"
198+
memory: "32Gi"
173199
pipelineRef:
174200
name: multiarch-combined-pipeline
175201
taskRunTemplate:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ define build_image
9696
$(info # Building $(IMAGE_NAME) using $(DOCKERFILE_NAME) with $(CONF_FILE) and $(BUILD_ARGS)...)
9797

9898
@if [ -d '$(BUILD_DIR)prefetch-input' ] && [ ! -d cachi2/output ]; then \
99-
echo "Prefetch required for hermetic build. Run: scripts/lockfile-generators/prefetch-all.sh --component-dir $(patsubst %/,%,$(BUILD_DIR)) see scripts/lockfile-generators/README.md"; \
99+
echo "Prefetch required for hermetic build. Run: scripts/lockfile-generators/prefetch-all.sh --component-dir $(patsubst %/,%,$(BUILD_DIR)) -- see scripts/lockfile-generators/README.md"; \
100100
exit 1; \
101101
fi
102102
$(ROOT_DIR)/scripts/sandbox.py --dockerfile '$(2)' --platform '$(BUILD_ARCH)' -- \

codeserver/ubi9-python-3.12/Dockerfile.cpu

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,11 @@ ARG CODESERVER_VERSION=v4.106.3
5757

5858
# [HERMETIC] Import GPG keys for prefetched RPM verification.
5959
# CentOS key needed because libX11-devel comes from CentOS Stream repos.
60-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
6160
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
6261
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
6362

6463
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
65-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
64+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
6665
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
6766
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
6867
rm -f /etc/yum.repos.d/* && \
@@ -71,7 +70,6 @@ RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
7170
else \
7271
dnf module enable nodejs:22 -y; \
7372
fi;
74-
7573
# libxkbfile-devel = util-macros + libxkbfile (Previously built from source)
7674
# [HERMETIC] Install nfpm (RPM packager) from prefetched RPM
7775
RUN dnf install -y \
@@ -81,10 +79,6 @@ RUN dnf install -y \
8179
/cachi2/output/deps/generic/nfpm-2.44.1-1.$(uname -m).rpm && \
8280
dnf clean all
8381

84-
# There was limitation on Hermeto, it can't fetch npm packages using git/ssh protocol.
85-
# To work around this, need to fetch some npm packages as generic artifacts and copy to npm directory.
86-
RUN cp /cachi2/output/deps/generic/npm/* /cachi2/output/deps/npm/
87-
8882
# [HERMETIC] Git metadata needed by code-server's build scripts (version detection, submodules).
8983
COPY .git /root/.git
9084
# [HERMETIC] Rewrite script: used by setup-offline-binaries.sh to rewrite npm
@@ -111,8 +105,9 @@ RUN cd ${CODESERVER_SOURCE_CODE} && GHA_BUILD="${GHA_BUILD}" ./apply-patch.sh
111105
# [HERMETIC] Step 1: npm ci --offline (install all npm dependencies from local cache).
112106
# setup-offline-binaries.sh does all offline preparation in one shot:
113107
# - sources codeserver-offline-env.sh (ELECTRON_SKIP_BINARY_DOWNLOAD, NPM_CONFIG_NODEDIR, etc.)
114-
# - populates node-gyp header cache (22.20.0 for VS Code remote), ripgrep, VSCode extensions
115-
# - pre-populates .build/node/ and .build/builtInExtensions/ so gulp skips network downloads
108+
# - node-gyp uses system headers (NPM_CONFIG_NODEDIR=/usr from nodejs-devel RPM)
109+
# - ripgrep, .vsix extensions from cachi2 generic; .build/node/ = system /usr/bin/node (per-arch)
110+
# - pre-populates .build/builtInExtensions/ so gulp skips network downloads
116111
# - rewrites package-lock.json "resolved" URLs to file:///cachi2/...
117112
# CI=1 makes ci/dev/postinstall.sh run "npm ci" (not "npm install") in subdirs,
118113
# so resolved URLs stay absolute (file:///cachi2/...) and lockfiles are never modified.
@@ -170,11 +165,10 @@ ARG LOCAL_BUILD
170165
ARG CODESERVER_SOURCE_CODE=codeserver/ubi9-python-3.12
171166
ARG PYLOCK_FLAVOR
172167

173-
# [HERMETIC] Import GPG keys for EPEL, Red Hat, and CentOS repos (needed for dnf to verify prefetched RPMs).
174-
# EPEL + CentOS keys are prefetched as generic artifacts (see artifacts.in.yaml).
168+
# [HERMETIC] Import GPG keys for Red Hat and CentOS repos (needed for dnf to verify prefetched RPMs).
169+
# CentOS key is prefetched as a generic artifact (see artifacts.in.yaml).
175170
# UBI9 images only ship the Red Hat key; CentOS key is needed for ppc64le/s390x packages
176171
# from CentOS Stream repos (mesa-libGL, etc.).
177-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
178172
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
179173
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
180174

@@ -254,12 +248,11 @@ USER 0
254248

255249
# [HERMETIC] Import GPG keys for prefetched RPM verification.
256250
# CentOS key needed because mesa-libGL comes from CentOS Stream repos.
257-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
258251
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
259252
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
260253

261254
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
262-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
255+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
263256
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
264257
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
265258
rm -f /etc/yum.repos.d/* && \
@@ -330,7 +323,7 @@ USER 0
330323
WORKDIR /opt/app-root/bin
331324

332325
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
333-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
326+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
334327
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
335328
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
336329
rm -f /etc/yum.repos.d/* && \

codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,11 @@ ARG CODESERVER_VERSION=v4.106.3
5757

5858
# [HERMETIC] Import GPG keys for prefetched RPM verification.
5959
# CentOS key needed because libX11-devel comes from CentOS Stream repos.
60-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
6160
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
6261
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
6362

6463
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
65-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
64+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
6665
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
6766
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
6867
rm -f /etc/yum.repos.d/* && \
@@ -81,10 +80,6 @@ RUN dnf install -y \
8180
/cachi2/output/deps/generic/nfpm-2.44.1-1.$(uname -m).rpm && \
8281
dnf clean all
8382

84-
# There was limitation on Hermeto, it can't fetch npm packages using git/ssh protocol.
85-
# To work around this, need to fetch some npm packages as generic artifacts and copy to npm directory.
86-
RUN cp /cachi2/output/deps/generic/npm/* /cachi2/output/deps/npm/
87-
8883
# [HERMETIC] Git metadata needed by code-server's build scripts (version detection, submodules).
8984
COPY .git /root/.git
9085
# [HERMETIC] Rewrite script: used by setup-offline-binaries.sh to rewrite npm
@@ -111,8 +106,9 @@ RUN cd ${CODESERVER_SOURCE_CODE} && GHA_BUILD="${GHA_BUILD}" ./apply-patch.sh
111106
# [HERMETIC] Step 1: npm ci --offline (install all npm dependencies from local cache).
112107
# setup-offline-binaries.sh does all offline preparation in one shot:
113108
# - sources codeserver-offline-env.sh (ELECTRON_SKIP_BINARY_DOWNLOAD, NPM_CONFIG_NODEDIR, etc.)
114-
# - populates node-gyp header cache (22.20.0 for VS Code remote), ripgrep, VSCode extensions
115-
# - pre-populates .build/node/ and .build/builtInExtensions/ so gulp skips network downloads
109+
# - node-gyp uses system headers (NPM_CONFIG_NODEDIR=/usr from nodejs-devel RPM)
110+
# - ripgrep, .vsix extensions from cachi2 generic; .build/node/ = system /usr/bin/node (per-arch)
111+
# - pre-populates .build/builtInExtensions/ so gulp skips network downloads
116112
# - rewrites package-lock.json "resolved" URLs to file:///cachi2/...
117113
# CI=1 makes ci/dev/postinstall.sh run "npm ci" (not "npm install") in subdirs,
118114
# so resolved URLs stay absolute (file:///cachi2/...) and lockfiles are never modified.
@@ -170,11 +166,10 @@ ARG LOCAL_BUILD
170166
ARG CODESERVER_SOURCE_CODE=codeserver/ubi9-python-3.12
171167
ARG PYLOCK_FLAVOR
172168

173-
# [HERMETIC] Import GPG keys for EPEL, Red Hat, and CentOS repos (needed for dnf to verify prefetched RPMs).
174-
# EPEL + CentOS keys are prefetched as generic artifacts (see artifacts.in.yaml).
169+
# [HERMETIC] Import GPG keys for Red Hat and CentOS repos (needed for dnf to verify prefetched RPMs).
170+
# CentOS key is prefetched as a generic artifact (see artifacts.in.yaml).
175171
# UBI9 images only ship the Red Hat key; CentOS key is needed for ppc64le/s390x packages
176172
# from CentOS Stream repos (mesa-libGL, etc.).
177-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
178173
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
179174
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
180175

@@ -254,12 +249,11 @@ USER 0
254249

255250
# [HERMETIC] Import GPG keys for prefetched RPM verification.
256251
# CentOS key needed because mesa-libGL comes from CentOS Stream repos.
257-
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-EPEL-9
258252
RUN rpm --import /cachi2/output/deps/generic/RPM-GPG-KEY-CentOS-Official
259253
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
260254

261255
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
262-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
256+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
263257
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
264258
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
265259
rm -f /etc/yum.repos.d/* && \
@@ -328,7 +322,7 @@ USER 0
328322
WORKDIR /opt/app-root/bin
329323

330324
# [HERMETIC] Configure package repos: local hermeto repos for testing, or enable nodejs:22 module for Konflux.
331-
# Hermeto organises RPMs into per-arch sub-repos (baseos, epel, crb, ubi-*, …), each with
325+
# Hermeto organises RPMs into per-arch sub-repos (baseos, crb, ubi-*, …), each with
332326
# its own repodata/. The generated hermeto.repo already points at the correct file:// paths.
333327
RUN if [ "${LOCAL_BUILD}" = "true" ]; then \
334328
rm -f /etc/yum.repos.d/* && \

codeserver/ubi9-python-3.12/prefetch-input/odh/artifacts.in.yaml

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
# is auto-generated and contains integrity hashes for each URL.
77

88
input:
9-
# GPG keys for verifying prefetched RPM packages
10-
- url: https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9
119
# CentOS Stream 9 GPG key (needed in whl-cache stage for ppc64le/s390x dnf install
1210
# from CentOS baseos/appstream/crb repos; UBI9 images only ship the Red Hat key)
1311
- url: https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official
@@ -16,30 +14,17 @@ input:
1614
- url: https://github.com/goreleaser/nfpm/releases/download/v2.44.1/nfpm-2.44.1-1.aarch64.rpm
1715
- url: https://github.com/goreleaser/nfpm/releases/download/v2.44.1/nfpm-2.44.1-1.ppc64le.rpm
1816

19-
# node-gyp headers for VS Code remote native modules (targets Node.js 22.20.0).
20-
# System Node.js headers come from nodejs-devel RPM (NPM_CONFIG_NODEDIR=/usr);
21-
# Electron headers are no longer needed (ELECTRON_SKIP_BINARY_DOWNLOAD=1).
22-
- url: https://nodejs.org/download/release/v22.20.0/node-v22.20.0-headers.tar.gz
23-
# Node.js runtime binaries for bundling with VSCode server (one per target arch)
24-
- url: https://nodejs.org/download/release/v22.20.0/node-v22.20.0-linux-x64.tar.gz
25-
- url: https://nodejs.org/download/release/v22.20.0/node-v22.20.0-linux-arm64.tar.gz
26-
- url: https://nodejs.org/download/release/v22.20.0/node-v22.20.0-linux-ppc64le.tar.gz
17+
# Node: system Node from nodejs RPM is used (like che-code); no headers or runtime tarballs.
18+
# ripgrep: one version (v13.0.0-13) for all 4 arches; @vscode/ripgrep postinstall patched to use it (see apply-patch.sh).
2719
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-13/ripgrep-v13.0.0-13-x86_64-unknown-linux-musl.tar.gz
2820
filename: ripgrep-v13.0.0-13-x86_64-unknown-linux-musl.tar.gz
29-
# aarch64/ppc64le: no musl builds exist; download GNU builds aliased to musl filenames
30-
# so @vscode/ripgrep postinstall finds them in its expected cache path
21+
# aarch64: no musl build upstream; GNU build aliased to musl filename (postinstall expects aarch64-unknown-linux-musl).
3122
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-13/ripgrep-v13.0.0-13-aarch64-unknown-linux-gnu.tar.gz
3223
filename: ripgrep-v13.0.0-13-aarch64-unknown-linux-musl.tar.gz
3324
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-13/ripgrep-v13.0.0-13-powerpc64le-unknown-linux-gnu.tar.gz
34-
filename: ripgrep-v13.0.0-13-powerpc64le-unknown-linux-musl.tar.gz
35-
# s390x: same pattern — GNU build aliased to musl for the regular v13.0.0-13 code path
25+
filename: ripgrep-v13.0.0-13-powerpc64le-unknown-linux-gnu.tar.gz
3626
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-13/ripgrep-v13.0.0-13-s390x-unknown-linux-gnu.tar.gz
37-
filename: ripgrep-v13.0.0-13-s390x-unknown-linux-musl.tar.gz
38-
# @vscode/ripgrep postinstall uses MULTI_ARCH_LINUX_VERSION v13.0.0-4 for ppc64le/s390x; must be in cache
39-
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-4/ripgrep-v13.0.0-4-powerpc64le-unknown-linux-gnu.tar.gz
40-
filename: ripgrep-v13.0.0-4-powerpc64le-unknown-linux-gnu.tar.gz
41-
- url: https://github.com/microsoft/ripgrep-prebuilt/releases/download/v13.0.0-4/ripgrep-v13.0.0-4-s390x-unknown-linux-gnu.tar.gz
42-
filename: ripgrep-v13.0.0-4-s390x-unknown-linux-gnu.tar.gz
27+
filename: ripgrep-v13.0.0-13-s390x-unknown-linux-gnu.tar.gz
4328
# node-argon2 prebuilts — two versions required because separate transitive
4429
# dependencies in the npm tree pin v0.31.2 and v0.28.7 respectively.
4530
# NOTE: Only x86_64 prebuilts are provided. On arm64/ppc64le, argon2 falls
@@ -59,16 +44,6 @@ input:
5944
- url: https://mirror.openshift.com/pub/openshift-v4/s390x/clients/ocp/4.18.33/openshift-client-linux.tar.gz
6045
filename: openshift-client-linux-s390x.tar.gz
6146

62-
# GitHub tarball dependency for @emmetio/css-parser (used by VSCode emmet extension)
63-
# Filename must use .tgz to match rewrite-npm-urls.sh and download-npm.sh conventions.
64-
- url: https://codeload.github.com/ramya-rao-a/css-parser/tar.gz/370c480ac103bd17c7bcfb34bf5d577dc40d3660
65-
filename: npm/ramya-rao-a-css-parser-370c480ac103bd17c7bcfb34bf5d577dc40d3660.tgz
66-
67-
# GitHub tarball dependency for @parcel/watcher (v4.106.3 uses git ref instead of npm registry)
68-
# Filename must use .tgz to match rewrite-npm-urls.sh and download-npm.sh conventions.
69-
- url: https://codeload.github.com/parcel-bundler/watcher/tar.gz/1ca032aa8339260a8a3bcf825c3a1a71e3e43542
70-
filename: npm/parcel-bundler-watcher-1ca032aa8339260a8a3bcf825c3a1a71e3e43542.tgz
71-
7247
# VSCode marketplace extensions (built-in extensions bundled with code-server)
7348
- url: https://github.com/microsoft/vscode-js-debug-companion/releases/download/v1.1.3/ms-vscode.js-debug-companion.1.1.3.vsix
7449
filename: ms-vscode.js-debug-companion.1.1.3.vsix

0 commit comments

Comments
 (0)